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 usted sea root o sudo usuario con acceso para ejecutar admin comandos

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. Usted ha 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 más comunes de sistemas de archivos:

  • 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.

No intente ciegamente ninguno de estos comandos en su sistema real. Formateará el dispositivo de destino/partición de disco borrando todos los datos.

mkfs sin ninguna opción crea un 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
                      
                    

Comprobar si hay bloques defectuosos en un dispositivo

También puede verificar si hay bloques defectuosos en un dispositivo, pero tenga en cuenta que la verificación a menudo lleva mucho tiempo.

                      
                        sudo mkfs -c /dev/sdb1
                      
                    

Consejo adicional: verifique 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 example 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 de la vida real: uso del comando mkfs para crear un sistema de archivos 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 puedes 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 el 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 está ubicado en /dev/sdb . Además de identificar el disco correcto, deberá asegurarse de que está cambiando el 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 mando.

                      
                        [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 añadido 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 debería finalizar en menos de 20 minutos, a menos que el objetivo sea mayor de 2 TB.

Tuve varios problemas con el programa pendiente del último elemento. Desafortunadamente, no hay un indicador de progreso y no tuve errores.

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 prueba y un archivo dentro llamado prueba.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 en su sistema, probablemente haya un problema de compatibilidad.

Conclusión

Espero que encuentres esta guía rápida para 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, no dude en dejarlos también.

Related Posts