GNU/Linux >> Tutoriales Linux >  >> Linux

15 ejemplos de comandos sfdisk de Linux para administrar particiones de disco

Si es administrador de sistemas, administrar la partición del disco duro de su servidor Linux es una tarea crítica.

En este tutorial, nos centraremos en cómo usar la utilidad de línea de comandos sfdisk para administrar las particiones de su disco duro.

Si bien sfdisk es similar a fdisk, existen pocas actividades de manipulación de particiones que son muy fáciles de realizar en sfdisk. Por ejemplo, puede crear nuevas particiones en un método no interactivo utilizando sfdisk.

Las siguientes actividades de sfdisk están cubiertas en este tutorial:

  1. Ver particiones de disco existentes
  2. Cambiar unidades de visualización (tamaño de visualización en MB)
  3. Crear nuevas particiones de disco (método interactivo)
  4. Verificar la coherencia de la tabla de particiones
  5. Mostrar el tamaño total de la partición
  6. Volcar los detalles de la partición del disco a un archivo de texto
  7. Crear nuevas particiones a partir de un archivo de texto (método no interactivo)
  8. Mostrar detalles de partición extendida
  9. Mostrar geometría de disco para depuración
  10. Mostrar todos los tipos de particiones de disco
  11. Manipular solo una única partición de disco
  12. Modo de prueba para verificación
  13. Marcar una partición específica como de arranque
  14. Cambiar tipo de partición
  15. Crear nuevas particiones desde Shell Script (método no interactivo)

1. Ver particiones de disco existentes

Usando la opción -l puede ver todas las particiones de su disco. -l significa lista.

De manera predeterminada, esto mostrará las particiones de todos los discos en sus sistemas.

# sfdisk -l

Disk /dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+   1044-   1045-   8387584   83  Linux
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track

En lo anterior:

  • Muestra las particiones para el dispositivo sda y sdf.
  • sda tiene solo una partición. es decir, sda1. Pero, la opción -l siempre mostrará toda la información de las 4 particiones primarias. Dado que, en este ejemplo, sda tiene solo una partición (es decir, sda1), las 3 particiones restantes (sda2, sda3, sda4) dirán "Vacío" en la última columna.
  • El dispositivo sdf no tiene ninguna partición. es decir, todavía no se ha creado nada en este dispositivo. Por lo tanto, no incluye nada para este dispositivo.

También puede ver las particiones de disco de un dispositivo específico pasando el nombre del dispositivo como se muestra a continuación.

# sfdisk -l /dev/sdf

En lugar de -l, también puede usar –list como se muestra a continuación.

sfdisk --list
sfdisk --list /dev/sdf

Si es nuevo en la administración del disco duro, es posible que también desee comprender cómo usar el comando fdisk de confianza regular:7 ejemplos de comandos fdisk de Linux para administrar la partición del disco duro

2. Cambiar unidades de visualización (tamaño de visualización en MB)

De forma predeterminada, sfdisk mostrará el tamaño en bloques. En el resultado anterior de sfdisk -l, mire la columna llamada "#blocks".

Sin embargo, si desea mostrar el tamaño en MB, utilice la opción -u como se muestra a continuación. -u significa Unidad. Tienes que especificar el tipo de unidad. En este ejemplo, el tipo de unidad que estamos especificando es M (que es MB)

La opción -uM reemplazará la columna "#cyls" de la salida anterior con "MiB" (tamaño en MB) como se muestra a continuación.

# sfdisk -l -uM

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start   End    MiB    #blocks   Id  System
/dev/sdf1         0+  8032-  8033-   8225279+  83  Linux
/dev/sdf2      8032+  8189-   157-    160650   83  Linux
/dev/sdf3         0      -      0          0    0  Empty
/dev/sdf4         0      -      0          0    0  Empty

Los siguientes son los diferentes tipos de unidades que puede especificar:

  • M por MB
  • C para el número de cilindros (este es el valor predeterminado)
  • S para número de sectores
  • B para el número de bloques (esto también se muestra en la salida predeterminada junto con #cilindros)
# sfdisk -l -uM
# sfdisk -l -uC 
# sfdisk -l -uS 
# sfdisk -l -uB 

3. Crear nuevas particiones de disco (método interactivo)

En el siguiente ejemplo, tomaremos un disco duro vacío (sdf) y crearemos particiones en él usando sfdisk.

# sfdisk /dev/sdf

El siguiente es el resultado del comando anterior desglosado en múltiples secciones para entenderlo fácilmente.

Primero, verificará el sdf para asegurarse de que no esté montado actualmente o que otra persona lo esté utilizando.

Checking that no-one is using this disk right now ...
OK

A continuación, mostrará la información de la partición actual en este dispositivo. Como se ve desde aquí, actualmente no hay particiones en el dispositivo sdf.

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
sfdisk:  /dev/sdf: unrecognized partition table type

Old situation:
sfdisk: No partitions found

A continuación, le pedirá que ingrese el tamaño de la partición para las 4 particiones primarias. Incluso si desea crear solo una partición, le indicará 4 veces diferentes para todas las particiones primarias.

En lo siguiente:

  • En este ejemplo, me gusta crear dos particiones.
  • Entonces, cuando me solicitó "/dev/sdf1:", estoy creando la primera partición. Aquí, ingresé "0 1024". 0 es el inicio del cilindro y 1024 es el final del cilindro para la primera partición.
  • Luego, cuando me pida "/dev/sdf2:", estoy creando la segunda partición. Aquí, solo presioné enter, lo que tomará todo el espacio restante y creará la segunda partición.
  • Luego, solo presioné enter para sdf3 y sdf4. Dado que no queda espacio en sdf, solo estará vacío como se muestra a continuación.
  • Además, tenga en cuenta que, de forma predeterminada, creará la partición como tipo "Linux". Si desea cambiarlo a un tipo diferente, debe especificar el tipo.
Input in the following format; absent fields get a default value.
<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
Usually you only need to specify <start> and <size> (and perhaps <type>).

/dev/sdf1 :0 1024
/dev/sdf1          0+   1023    1024-   8225279+  83  Linux
/dev/sdf2 :
/dev/sdf2       1024    1043      20     160650   83  Linux
/dev/sdf3 :
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4 :
/dev/sdf4          0       -       0          0    0  Empty

Ahora, sfdisk mostrará las particiones que creará. Como se muestra a continuación, creará dos particiones (sdf1 y sdf2).

New situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+   1023    1024-   8225279+  83  Linux
/dev/sdf2       1024    1043      20     160650   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.

Finalmente, te pedirá confirmación. Si cometió un error y no desea crear las particiones anteriores, escriba "q" para salir. Aquí, escribí y para crear estas dos nuevas particiones.

Do you want to write this to disk? [ynq] y
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Finalmente, verifiqué que las particiones se crearon correctamente usando sfdisk -l como se muestra a continuación.

# sfdisk -l /dev/sdf
Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+   1023    1024-   8225279+  83  Linux
/dev/sdf2       1024    1043      20     160650   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

En una nota relacionada, para crear particiones de gran tamaño, consulte esto:Cómo crear particiones en Linux para>2 TB de tamaño usando Parted GPT

4. Verificar la consistencia de la tabla de particiones

Utilice la opción -V (V mayúscula) para realizar una comprobación de coherencia en las tablas de particiones. V significa verificar.

Como se muestra en el siguiente resultado, dirá "OK" cuando todo esté bien. Esto también mostrará cualquier mensaje de advertencia.

# sfdisk -V
Warning: partition 1 does not end at a cylinder boundary
/dev/sda: OK
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
/dev/sdf: OK

También puede verificar solo un dispositivo específico como se muestra a continuación.

# sfdisk -V /dev/sdf

Además, puede combinar la opción V y l como se muestra a continuación.

sfdisk -lV

Si está realizando la verificación desde dentro de un script de shell, puede usar la opción -q junto con V. q significa silencio. En este caso, no mostrará ninguna salida. Sin embargo, puede verificar el estado del comando para verificar si la verificación de consistencia pasó o falló como se muestra a continuación.

# sfdisk -Vq 

# echo $?
0

Si desea verificar la consistencia del contenido del disco, use este método:10 ejemplos de comandos Fsck de Linux para verificar y reparar el sistema de archivos

5. Mostrar el tamaño total de la partición

Para mostrar el tamaño total del disco, incluidas todas las particiones, utilice la opción -s. -s representa el tamaño.

Esto mostrará el tamaño total de la partición en número de bloques.

De forma predeterminada, esto mostrará el tamaño total de la partición para todos y cada uno de los discos duros de su sistema. Además, mostrará el tamaño total de todos los discos en su sistema como se muestra a continuación.

# sfdisk -s
/dev/sda:   8388608
/dev/sdf:   8388608
total: 16777216 blocks

También puede especificar el disco duro individual (o) la partición como se muestra a continuación.

# sfdisk -s /dev/sdf
8388608
# sfdisk -s /dev/sdf1
1654694

6. Volcar los detalles de la partición del disco a un archivo de texto

sfdisk también ofrece la opción de volcar toda la información de la partición del disco en un archivo de texto.

Para ello utilice la opción -d. -d significa volcado.

Por defecto, -d volcará la salida en la pantalla. Esto incluirá la información de partición para todos los dispositivos en su sistema.

# sfdisk -d

También puede volcar la información de la partición de un dispositivo en particular como se muestra a continuación.

# sfdisk -d /dev/sda

Para volcarlo en un archivo de texto, haga lo siguiente. Esto volcará la información de la partición de sda ​​en el archivo de texto sda.out.

# sfdisk -d /dev/sda > sda.out

# cat sda.out
# partition table of /dev/sda
unit: sectors

/dev/sda1 : start=     2048, size= 16775168, Id=83, bootable
/dev/sda2 : start=        0, size=        0, Id= 0
/dev/sda3 : start=        0, size=        0, Id= 0
/dev/sda4 : start=        0, size=        0, Id= 0

7. Crear nuevas particiones a partir de un archivo de texto (método no interactivo)

La belleza de la opción -d es que puede tomar un volcado de partición de un dispositivo en particular y usarlo para crear un volcado de partición similar en otro dispositivo.

Por ejemplo, si desea replicar la partición actual en el dispositivo sda en el dispositivo sdf, puede usar la opción -d como se muestra a continuación.

Primero, lleve el volcado del dispositivo sda como se muestra en el ejemplo anterior al archivo sda.out.

En el ejemplo anterior, como vemos, tenemos una partición en el dispositivo sda.

Ahora, en el dispositivo sdf, actualmente tenemos dos particiones.

# sfdisk -l /dev/sdf
Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    499     500-   4016249+  83  Linux
/dev/sdf2        500    1043     544    4369680   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

Ahora, use el archivo sda.out del ejemplo anterior y utilícelo para crear particiones similares en el dispositivo sdf como se muestra a continuación.

# sfdisk /dev/sdf < sda.out

El comando anterior usará la información de la partición del archivo sda.out y la usará para crear una nueva partición en sdf automáticamente sin pedir ninguna entrada al usuario, como se muestra a continuación.

Checking that no-one is using this disk right now ...
OK

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    499     500-   4016249+  83  Linux
/dev/sdf2        500    1043     544    4369680   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
New situation:
Units: sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdf1   *      2048  16777215   16775168  83  Linux
/dev/sdf2             0         -          0   0  Empty
/dev/sdf3             0         -          0   0  Empty
/dev/sdf4             0         -          0   0  Empty
Warning: partition 1 does not end at a cylinder boundary
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Ahora, como puede ver en el siguiente resultado, sdf tiene una partición nueva, que es similar a sda.

# sfdisk -l

Disk /dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+   1044-   1045-   8387584   83  Linux
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1   *      0+   1044-   1045-   8387584   83  Linux
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

8. Mostrar detalles de partición extendida

x significa partición extendida. Cuando combina x junto con l, también mostrará las particiones extendidas no primarias como se muestra a continuación.

# sfdisk -lx /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    205     206-   1654694+  83  Linux
/dev/sdf2        206     411     206    1654695   83  Linux
/dev/sdf3        412     514     103     827347+  82  Linux swap / Solaris
/dev/sdf4        515    1043     529    4249192+   5  Extended

/dev/sdf5        515+    617     103-    827347   83  Linux
    -            618    1043     426    3421845    5  Extended
    -            515     514       0          0    0  Empty
    -            515     514       0          0    0  Empty

/dev/sdf6        618+   1043     426-   3421844+  83  Linux
    -            618     617       0          0    0  Empty
    -            618     617       0          0    0  Empty
    -            618     617       0          0    0  Empty

También puede usar la opción -x cuando esté creando nuevas particiones, en cuyo caso, sfdisk solicitará (o esperará) descriptores de entrada para ellas.

9. Mostrar geometría de disco para depuración

Cuando esté depurando cualquier problema relacionado con las tablas de particiones, una de las cosas que debe verificar es si la información de la tabla de particiones es la misma en el dispositivo como la entiende el núcleo.

Es una buena idea verificar que la idea del núcleo de la geometría del dispositivo es la misma que la geometría real del dispositivo leyendo directamente la tabla de particiones.

La opción -G (G mayúscula) mostrará la geometría real del dispositivo leyendo directamente la tabla de particiones como se muestra a continuación.

# sfdisk -G
/dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
/dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track

La opción -g (g minúscula) mostrará la idea del núcleo de la geometría del dispositivo.

# sfdisk -g
/dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
/dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track

En este ejemplo, tanto la salida coincide como debería. Si esto no coincide, entonces hay algún problema.

10. Mostrar todos los tipos de particiones de disco

Para ver todos los tipos de partición admitidos que se pueden usar al crear nuevas particiones usando sfdisk, use la opción -T. T significa tipo (es decir, tipo de partición).

Esto mostrará la identificación del tipo de partición y el nombre descriptivo. Al crear la partición, especificará la identificación del tipo de partición. Por ejemplo, use 82 como tipo para la partición de intercambio.

# sfdisk -T
Id  Name

 0  Empty
 1  FAT12
 2  XENIX root
 3  XENIX usr
 4  FAT16 <32M
 5  Extended
 6  FAT16
..
..
82  Linux swap / Solaris
83  Linux
84  OS/2 hidden C: drive
85  Linux extended
86  NTFS volume set
87  NTFS volume set
88  Linux plaintext
8e  Linux LVM
..
..

Con respecto al espacio de intercambio:2 formas de agregar espacio de intercambio usando dd, mkswap y swapon

11. Manipular solo una única partición de disco

Puede usar la opción -N para manipular una partición de disco en particular. -N significa número (es decir, número de partición).

Puede usar esto para crear una nueva partición en un disco existente que ya tiene otras particiones.

En el siguiente ejemplo, en el dispositivo sdf, ya tenemos una partición. Pero queremos crear una segunda partición.

# sfdisk /dev/sdf -N2
Checking that no-one is using this disk right now ...
OK

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
Input in the following format; absent fields get a default value.
<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
Usually you only need to specify <start> and <size> (and perhaps <type>).
/dev/sdf2 :512 1024
Warning: given size (1024) exceeds max allowable size (532)
/dev/sdf2 :512 532
/dev/sdf2        512    1043     532    4273290    0  Empty
New situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2        512    1043     532    4273290    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Do you want to write this to disk? [ynq] y
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

En lo anterior:

  • Utilizamos la opción -N2 para manipular solo la segunda partición.
  • Esto significa que sfdisk le pedirá la información de la partición solo para sdf2 como se muestra arriba.
  • Esto no modificará la partición sdf1 existente.
  • Además, esto no le solicitará información sobre sdf3 y sdf4

12. Modo de funcionamiento en seco para verificación

Antes de crear realmente una nueva partición o cambiar cualquier información en las tablas de partición, debe asegurarse de que la sintaxis del comando que tiene sea correcta.

En ese caso, es mejor usar la opción -n, que realmente realizará todos los movimientos sin hacer nada.

La opción -n es una opción de ejecución en seco, que ejecutará lo que se supone que debe hacer el comando, pero no guardará nada ni cambiará nada.

Por ejemplo, cuando está cambiando un tipo de partición, puede usar la opción -n, que pasará por el comando pero realmente no cambiará nada como se muestra a continuación.

# sfdisk -n --change-id /dev/sdf 1 82
sfdisk: -n flag was given: Nothing changed

También puede usar esto cuando esté creando nuevas particiones como se muestra a continuación. Esto pasará por el comando y mostrará todo en la salida, pero sin crear realmente nuevas particiones.

sfdisk -n /dev/sdf < sda.out

13. Marcar una partición específica como de arranque

Use la opción -A para marcar una partición específica como partición de arranque. -A significa activar.

El siguiente ejemplo es activar la segunda partición (sdf2) como partición activa (es decir, marcar como arranque). Tenga en cuenta que si alguna otra partición en este dispositivo (sdf) ya está marcada para el arranque, ahora se desmarcará.

# sfdisk -A2 /dev/sdf
Done

Como puede ver en el siguiente resultado, solo se activa sdf2. El "*" en la segunda columna (es decir, Arranque) indica que está marcada como partición de arranque.

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2   *    512    1043     532    4273290    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

14. Cambiar tipo de partición

Puede cambiar el tipo de partición de una partición existente.

Primero, use la opción –print-id para mostrar el tipo de partición de una partición específica. El siguiente comando mostrará el tipo de partición de sdf1. Aquí 83 en la salida indica que sdf1 es del tipo de partición de Linux.

# sfdisk --print-id  /dev/sdf 1
83

El siguiente resultado 0 indica que la partición sdf2 está actualmente vacía.

# sfdisk --print-id  /dev/sdf 2
0

Ahora, use la opción –change-id como se muestra a continuación para cambiar el tipo de partición de un dispositivo de partición.

En este ejemplo, estamos cambiando el tipo de partición de la partición sdf2 a 83 (que es una partición de Linux)

# sfdisk --change-id /dev/sdf 2 83
Done

Como puede ver en el siguiente resultado, ahora el sdf2 está configurado en el tipo de partición de Linux (es decir, mire la última columna "Sistema")

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2   *    512    1043     532    4273290   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

15. Crear nuevas particiones desde Shell Script (método no interactivo)

Uno de los grandes beneficios de sfdisk es que puede crear particiones sobre la marcha desde la línea de comandos sin ninguna interacción de sfdisk.

Esto es muy útil cuando desea automatizar la creación de particiones desde un script de shell.

Actualmente, como puede ver en el siguiente resultado, el dispositivo sdf está actualmente vacío. Esto no tiene particiones.

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0       -       0          0    0  Empty
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

Ahora, ejecute el siguiente comando, que creará automáticamente tres particiones (sdf1, sdf2, sdf3) utilizando los valores proporcionados a continuación.

# sfdisk /dev/sdf <<EOF
0,512
,512
;
;
EOF

En lo anterior:

  • Debe haber 4 líneas en la entrada anterior para las 4 particiones primarias.
  • La primera línea indica que debe comenzar desde el primer cilindro hasta el 512 para crear la primera partición (es decir, sdf1)
  • La segunda línea indica que debe comenzar desde el último cilindro disponible como el primer cilindro y desde allí usar +512 cilindros para crear la segunda partición (es decir, sdf2)
  • La tercera línea tiene punto y coma, lo que indica que se usan los valores predeterminados y no se solicita nada al usuario para la tercera partición. En este caso, usará todos los cilindros restantes en el disco y creará una tercera partición (es decir, sdf3)
  • La cuarta línea tiene punto y coma, lo que indica que se usan los valores predeterminados y no se solicita nada al usuario para la cuarta partición. En este caso, dado que no queda espacio, no creará nada para la cuarta partición (es decir, sdf4)

El siguiente es el resultado del comando sfdisk anterior. Tenga en cuenta que esto no está solicitando ninguna entrada del usuario.

Checking that no-one is using this disk right now ...
OK

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0       -       0          0    0  Empty
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
New situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2        512    1023     512    4112640   83  Linux
/dev/sdf3       1024    1043      20     160650   83  Linux
/dev/sdf4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Verifique que las tres particiones se hayan creado automáticamente utilizando los valores proporcionados.

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2        512    1023     512    4112640   83  Linux
/dev/sdf3       1024    1043      20     160650   83  Linux
/dev/sdf4          0       -       0          0    0  Empty

Linux
  1. Comando Fdisk en Linux (Administrar particiones)

  2. Ejemplos de comandos sa en Linux

  3. w Ejemplos de comandos en Linux

  4. Ejemplos de comandos ac en Linux

  5. Ejemplos de comandos df en Linux

16 ejemplos de comandos de eco en Linux

9 ejemplos de comandos tee en Linux

Comando Fdisk en Linux (Crear particiones de disco)

Linux du Command Ejemplos más útiles

Ejemplos de comandos ip para administrar redes en Linux

Ejemplos de comandos id en Linux