GNU/Linux >> Tutoriales Linux >  >> Linux

Uso del comando mkfs en Linux para formatear el sistema de archivos en un disco o partición

Las letras en mkfs significa "hacer sistema de archivos". El comando se usa comúnmente para administrar dispositivos de almacenamiento en Linux. Puede pensar en mkfs como una herramienta de línea de comandos para formatear un disco en un sistema de archivos específico.

mkfs -t [fs type] [target device]

También puede usar el comando mkfs de la siguiente manera.

mkfs.[fs type] [target device]

En este tutorial, discutiré en general qué es un sistema de archivos. También proporcionaré ejemplos para usar el comando mkfs de manera efectiva.

Dado que el comando mkfs trata con discos y particiones, requiere que sea usuario root o sudo con acceso para ejecutar comandos de administración.

mkfs es una herramienta poderosa. Es importante comprender las posibles consecuencias de alterar el sistema de archivos. Si selecciona el nodo de dispositivo incorrecto, se borrarán todos los datos de ese dispositivo. Use este comando bajo su propio riesgo. Has sido advertido

¿Qué es un sistema de archivos, de nuevo?

Un sistema de archivos (fs) se refiere a la estructura y la lógica que administran los datos en un dispositivo. El sistema de archivos controla cómo se almacenan y recuperan los datos.

Hay muchos tipos de sistemas de archivos y cada uno tiene sus propias ventajas y desventajas. Estos son los tipos de sistemas de archivos más comunes:

  • GRASA*
  • NTFS
  • ext*
  • APFS
  • HFS*

Probablemente te hayas encontrado con uno o más de estos tipos de sistemas de archivos antes. Incluso puede asociar los tipos con sus respectivos sistemas operativos.

En términos generales, FAT/NTFS están diseñados para Windows, Ext se usa con sistemas Linux y APFS/HFS son sistemas de archivos macOS. Cada uno de estos aborda la lógica de la estructura de archivos de manera diferente, lo que puede generar problemas.

Es por eso que es crucial pensar en esto antes de declarar un tipo de sistema de archivos o "formatear" su dispositivo. Cada caso de uso es diferente y depende de usted decidir qué sistema de archivos funciona mejor para sus necesidades.

ejemplos de comandos mkfs

Déjame mostrarte algunos de los usos más comunes del comando mkfs.

Por favor, no intente ciegamente ninguno de estos comandos en su sistema actual. Formateará el dispositivo de destino/partición de disco borrando todos los datos.

mkfs sin ninguna opción crea sistema de archivos ext2

Si no especifica el tipo de sistema de archivos para el dispositivo de destino, utilizará el sistema de archivos ext2 predeterminado.

sudo mkfs /dev/sdb1

Especificar tipo de archivo con mkfs

Usar ext2 no es muy conveniente ni aconsejable. La mayoría de los sistemas Linux en estos días recomiendan usar ext4. Puede especificar el sistema de archivos de la siguiente manera:

sudo mkfs -t ext4 /dev/sdb1

También puedes usarlo así:

sudo mkfs.ext4 /dev/sdb1

Buscar bloques defectuosos en un dispositivo

También puede comprobar si hay bloques defectuosos en un dispositivo, pero tenga en cuenta que la comprobación suele tardar mucho tiempo.

sudo mkfs -c /dev/sdb1

Consejo extra:compruebe el tipo de sistema de archivos de un dispositivo

Es posible que desee verificar el tipo de sistema de archivos de un dispositivo que acaba de formatear con el comando mkfs. Puede usar el comando de archivo para este propósito.

sudo file -sL /device

Aquí hay un ejemplo que muestra qué tipo de salida podría mostrar:

[email protected]:~$ sudo file -s /dev/nvme0n1p2
/dev/nvme0n1p2: Linux rev 1.0 ext4 filesystem data, UUID=34daa4b7-a2c4-4983-b5cc-df9baa6a6543 (extents) (64bit) (large files) (huge files)

Caso de uso en la vida real:Uso del comando mkfs para crear un archivo Sistema en un dispositivo USB

Ahora que tiene información básica, puede comenzar a usar mkfs.

La demostración más práctica que se me ocurre es formatear una unidad de almacenamiento flash USB. Estos mismos principios se aplicarán a cualquier tipo de almacenamiento que elija.

Encuentra tu dispositivo

Primero necesitarás encontrar tu dispositivo. Un método que puede usar es sudo fdisk -l . Esto mostrará una lista de todos los nodos de disco que están montados actualmente.

[email protected]:~$ sudo fdisk -l
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: VBOX HARDDISK   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3c62c49c

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        4096  1023998  1019903  498M 83 Linux
/dev/sda2        1024000 44036094 43012095 20.5G 83 Linux
/dev/sda3       44036096 52424702  8388607    4G 82 Linux swap / Solaris

Disk /dev/sdb: 28.93 GiB, 31040995328 bytes, 60626944 sectors
Disk model: Patriot Memory  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 91A34D6F-E67B-E54D-B19C-5CC828DAAB9A

Device     Start      End  Sectors  Size Type
/dev/sdb1   2048 60626910 60624863 28.9G Linux filesystem

Su salida obviamente variará. Por favor, tenga mucho cuidado al identificar la unidad deseada . Si no está seguro, extraiga el disco y ejecute fdisk -l comando de nuevo. Si tiene el dispositivo correcto, no aparecerá en la lista mientras esté desconectado.

Verificar la partición

El dispositivo que estoy usando es un Patriot Memory USB y se encuentra en /dev/sdb . Además de identificar el disco correcto, deberá asegurarse de que está cambiando el archivo fs de la partición deseada.

Usé las herramientas fdisk para eliminar los datos existentes y escribir una nueva tabla de particiones. Mientras hacía eso, creé una nueva partición para escribir. Esa partición será nuestro objetivo:/dev/sdb1 .

Desmontar

Antes de intentar cambiar el sistema de archivos, deberá desmontarlo usando el umount comando.

[email protected]:~$ sudo umount /dev/sdb1

Crear el sistema de archivos

Ahora que ha verificado su objetivo y desmontado la unidad, puede proceder a crear el sistema de archivos.

He agregado el -v opción detallada aquí para mostrar más información cuando se ejecuta.

[email protected]:~$ sudo mkfs.ext4 /dev/sdb1 -v
mke2fs 1.45.5 (07-Jan-2020)
fs_types for mke2fs.conf resolution: 'ext4'
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1896832 inodes, 7578107 blocks
378905 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2155872256
232 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Filesystem UUID: 73882769-7599-4c79-a00b-ef317ccd921d
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 

Este proceso puede llevar algún tiempo, pero debe finalizar en menos de 20 minutos, a menos que el objetivo sea mayor a 2 TB.

Tuve varios problemas con el programa pendiente del último elemento. Desafortunadamente, no hay un indicador de progreso y no arrojé ningún error.

Verificar el sistema de archivos recién creado

Primero, verifique el sistema de archivos del dispositivo que acaba de usar. ¿Es el que querías?

sudo file -sL /dev/sdb1

Es importante asegurarse de que el dispositivo sea reconocido en los sistemas con los que lo utilizará. Creé una carpeta llamada test y un archivo dentro llamado test.txt.

Para ahorrar tiempo, puede copiar y pegar mis comandos aquí.

mkdir test && cd test
touch test.txt
echo "THIS IS ONLY A TEST" > test.txt
cat test.txt

Si todo funcionó, debería poder montar la unidad en los sistemas deseados y acceder a los archivos. Si no puede acceder a los archivos de su sistema, probablemente haya un problema de compatibilidad.

Conclusión

Espero que encuentres esta guía rápida de mkfs comando útil. Si te gusta este tutorial, compártelo en las redes sociales.

Si tiene algún comentario o pregunta, por favor déjelos a continuación. Si tiene alguna sugerencia sobre temas que le gustaría ver cubiertos, siéntase libre de dejarlos también.


Linux
  1. Solucionar problemas con el sistema de archivos proc en Linux

  2. Usando la fuerza en la línea de comando de Linux

  3. Cómo extraer el archivo tar.gz en Linux usando la línea de comandos

  4. 4 herramientas para descargar cualquier archivo usando la línea de comandos en Linux

  5. Ejemplos de comandos mkfs.ext4 en Linux

Cómo usar el comando táctil en Linux

Usando el comando libre de Linux

Cómo borrar de forma segura un disco y un archivo usando el comando shred de Linux

Tutorial sobre el uso del comando Timeout en Linux

Cómo formatear particiones de disco en Linux

Ejemplos de comandos mkfs en Linux