Hay algunas opciones disponibles:
fdisk
(anterior, no es compatible con GPT 4 ).
parted
(El hermano CLI de GParted).
- Los diversos
mkfs
programas, si ya tiene particiones y desea formatear.
fdisk
y parted
son interactivos y tienen comandos de ayuda, por lo que siempre puede buscar ayuda dentro del programa. Ambos también son programables. Los mkfs
comandos no son interactivos.
fdisk
fdisk
espera un dispositivo (como /dev/sda
) como argumento. Tiene los siguientes comandos:
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the DOS compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
No uso fdisk
mucho Solo me enfocaré en:
parted
parted
no necesita un argumento (intenta "adivinar"), pero siempre debe especificar el disco. Dada la opción, parted
es el programa que debe preferir. Tiene los siguientes comandos:
align-check TYPE N check partition N for TYPE(min|opt) alignment
check NUMBER do a simple check on the file system
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBER
mkpart PART-TYPE [FS-TYPE] START END make a partition
mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system
resizepart NUMBER END resize partition NUMBER
move NUMBER START END move partition NUMBER
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition
quit exit program
rescue START END rescue a lost partition near START and END
resize NUMBER START END resize partition NUMBER and its file system
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU Parted
Los comandos se pueden contraer a un prefijo único (por ejemplo, h
es la abreviatura de help
).
Voy a usar un archivo temporal ( /tmp/part
) que creé para mostrarle los comandos, por lo que los tamaños serán algo pequeños. Debe reemplazar eso con el dispositivo que necesita ( /dev/sda
por ejemplo).
Primero, si su disco no tiene una tabla de particiones, debemos crear una:
parted /tmp/part mklabel gpt
o mklabel msdos
, si desea la cosa de la partición primaria de 4 de la vieja escuela (llamada tabla de particiones MBR o MSDOS ). Luego hacemos, digamos, una partición ext4 que comienza en 3GB (es decir, deja el 3G inicial libre) y tiene un tamaño de 2GB (es decir, termina en 5GB). parted
espera ubicaciones en MB para mkpartfs
, pero podemos especificar el sufijo:
parted /tmp/part mkpart primary ext4 3G 5G
Y otro, ahora una partición NTFS de 1GB:
parted /tmp/part mkpart primary ntfs 5G 6G
Resultado:
# parted /tmp/part print
Model: (file)
Disk /tmp/blah: 10.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 3000MB 5000MB 2000MB primary
2 5000MB 6000MB 1000MB primary msftdata
Observe cómo usa los prefijos SI, mientras que GParted usa constantemente prefijos binarios (mientras deja caer el tonto i
). Etiquetaré las particiones:
# parted /tmp/part name 1 hello
# parted /tmp/part name 2 world
# parted /tmp/part print
Model: (file)
Disk /tmp/blah: 10.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 3000MB 5000MB 2000MB hello
2 5000MB 6000MB 1000MB world msftdata
Si bien parted
puede crear particiones del sistema de archivos ntfs
muy bien, no puede formatear una partición existente (!) A NTFS:
mkfs partition fs-type
Make a filesystem fs-type on partition. fs-type can be one
of "fat16", "fat32", "ext2", "linux-swap", or "reiserfs".
De hecho, parted le dirá que debe usarlo para manipular particiones, no sistemas de archivos , lo que me lleva a:
mkfs
mkfs
, como fsck
, es esencialmente una interfaz para varios comandos específicos del sistema de archivos. En mi sistema, por ejemplo, mkfs.bfs
, mkfs.cramfs
, mkfs.ext2
, mkfs.ext3
, mkfs.ext4
, mkfs.ext4dev
, mkfs.fat
, mkfs.minix
, mkfs.msdos
, mkfs.ntfs
, mkfs.vfat
están disponibles.
Ahora, desafortunadamente, aunque parted
funciona bien en un archivo, como el que usé anteriormente, mkfs
no puedo ir a buscar particiones en dichos archivos. De hecho, se espera que los Dispositivos de bloque, por lo que si voy a utilizar un nuevo archivo /tmp/file
para mkfs
, tengo que forzarlo hacerlo. Utilizará el dispositivo de bloque correspondiente a la partición que desea formatear, como /dev/sda2
. La sintaxis general para mkfs
es:
# mkfs --help
Usage: mkfs [options] [-t type fs-options] device [size]
Options:
-t, --type=TYPE file system type, when undefined ext2 is used
fs-options parameters to real file system builder
device path to a device
size number of blocks on the device
-V, --verbose explain what is done
defining -V more than once will cause a dry-run
-V, --version output version information and exit
-V as version must be only option
-h, --help display this help and exit
For more information, see mkfs(8).
Como puede ver, la -t
bandera nos permite pasar banderas específicas del sistema de archivos. Por ejemplo, banderas NTFS:
# mkfs.ntfs --help
Usage: mkntfs [options] device [number-of-sectors]
Basic options:
-f, --fast Perform a quick format
-Q, --quick Perform a quick format
-L, --label STRING Set the volume label
-C, --enable-compression Enable compression on the volume
-I, --no-indexing Disable indexing on the volume
-n, --no-action Do not write to disk
Advanced options:
-c, --cluster-size BYTES Specify the cluster size for the volume
-s, --sector-size BYTES Specify the sector size for the device
-p, --partition-start SECTOR Specify the partition start sector
-H, --heads NUM Specify the number of heads
-S, --sectors-per-track NUM Specify the number of sectors per track
-z, --mft-zone-multiplier NUM Set the MFT zone multiplier
-T, --zero-time Fake the time to be 00:00 UTC, Jan 1, 1970
-F, --force Force execution despite errors
Output options:
-q, --quiet Quiet execution
-v, --verbose Verbose execution
--debug Very verbose execution
Help options:
-V, --version Display version
-l, --license Display licensing information
-h, --help Display this help
Developers' email address: ntfs-3g-devel@lists.sf.net
News, support and information: http://tuxera.com
Entonces, hagamos una partición NTFS, con formato rápido ( -Q
), forzándola a operar en un archivo sin dispositivo de bloque ( -F
), y estableciendo una etiqueta ( -L "hello world"
).
# mkfs -t ntfs -F -Q -L "hello world" /tmp/file
/tmp/file is not a block device.
mkntfs forced anyway.
The sector size was not specified for /tmp/file and it could not be obtained automatically. It has been set to 512 bytes.
The partition start sector was not specified for /tmp/file and it could not be obtained automatically. It has been set to 0.
The number of sectors per track was not specified for /tmp/file and it could not be obtained automatically. It has been set to 0.
The number of heads was not specified for /tmp/file and it could not be obtained automatically. It has been set to 0.
Cluster size has been automatically set to 4096 bytes.
To boot from a device, Windows needs the 'partition start sector', the 'sectors per track' and the 'number of heads' to be set.
Windows will not be able to boot from this device.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
Claramente no le gustaba trabajar en un archivo. :) No se preocupe, debería detectar automáticamente la mayoría de los valores cuando trabaje en un disco real. Incluso este "archivo" funciona bien como un sistema de archivos:
# mount -t ntfs-3g /tmp/file /mnt
# touch "/mnt/a file in mnt"
# ls -l /mnt
total 0
-rwxrwxrwx 1 root root 0 Aug 29 06:43 a file in mnt
# umount /mnt
# ls -l /mnt
total 0
(¿Ves los permisos extraños?)
Notas:
- Todavía no he usado
sudo
ninguna parte de esta respuesta. Como estaba operando en archivos, y los archivos de mi propiedad, no los necesitaba sudo
. parted
te advertirá sobre esto. Para los dispositivos de bloque, que generalmente siempre son de su propiedad root
, necesitará sudo
(o tendrá que usar un shell raíz a través de sudo -i
o sudo su -
).
parted
es un programa de GNU, y como muchos programas de GNU, tiene una extensa documentación en el info
formato. Instalar parted-doc
( sudo apt-get install parted-doc
) y luego ejecutar info parted
. También puede consultar el manual del usuario en línea .
- GParted es capaz de formatear una partición a NTFS, ya que llama
mkfs
directamente al programa apropiado ( mkntfs
, en este caso, mkfs.ntfs
es solo un enlace mkntfs
). También establece una serie de parámetros. De hecho, para la mayoría de las operaciones, puede examinar los detalles de los mensajes GParted para ver qué comandos se ejecutaron.
- No entraré en los méritos de las tablas de partición GPT vs MBR / MSDOS, pero es probable que GPT se encuentre en nuevos dispositivos con UEFI, especialmente si tienes Windows 8 en ellos. El estado de las herramientas de partición? analiza qué herramientas están disponibles si se enfrenta a GPT.
- LVM, ZFS y btrfs son un juego completamente diferente. Todos tienen sus herramientas de acompañamiento, y debe usarlos en lugar de
parted
o fdisk
(excepto quizás para un paso inicial de crear particiones para su uso).
Nota sobre el parted
uso:
La sintaxis del parted
programa es:
parted [options] [device [command [options...]...]]
Cuando corres parted
sin un comando, como:
parted /tmp/parted
Se le presentará un shell simple, donde puede ejecutar los comandos anteriores. Sin embargo, estos comandos también se pueden ejecutar directamente usando el parted
programa. Entonces estos tres son equivalentes:
# parted /tmp/parted
GNU Parted 2.3
Using /tmp/parted
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Y
# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) select /tmp/parted
Using /tmp/parted
(parted) mklabel gpt
Y
parted /tmp/parted mklabel gpt
Tenga en cuenta también que, al crear particiones con parted
, un indicador útil del final de las particiones es -1s
(esto es "1" entre el guión y la "s"). Esto es útil si desea que su partición abarque desde un inicio específico hasta el resto del disco. Para ser más específico, correr
parted /dev/sda -- mkpart primary ext4 3G -1s
creará una partición /dev/sda
que comienza en 3G y termina en el último sector del /dev/sda
disco (es decir, abarca desde 3G hasta el resto del disco). Tenga en cuenta que --
es necesario, para 1s
no ser interpretado como una opción no válida.
-m
en el espacio reservado: es relevante, porque es intuitivo.