¿Cómo sé si una partición es ext2, ext3 o ext4?


121

Acabo de formatear cosas. Un disco formateo como ext2. El otro quiero formatear como ext4. Quiero probar cómo funcionan.

Ahora, ¿cómo sé el tipo de sistema de archivos en una partición?


2
Por curiosidad, ¿qué estás tratando de probar? Diario vs no diario? Para el registro, puede operar ext4 en modo sin diario, y aún beneficiarse de todas las otras características nuevas.
zacharyalexstern

Respuestas:


114

¿Cómo puedo saber qué tipo de datos (qué formato de datos) hay en un archivo?
→ Use la fileutilidad.

Aquí, desea conocer el formato de datos en un archivo de dispositivo, por lo que debe pasar la -sbandera para decirle fileno solo que es un archivo de dispositivo, sino también mirar el contenido. A veces también necesitará la -Lbandera, si el nombre del archivo del dispositivo es un enlace simbólico. Verás resultados como este:

# file -sL /dev/sd*
/dev/sda1: Linux rev 1.0 ext4 filesystem data, UUID=63fa0104-4aab-4dc8-a50d-e2c1bf0fb188 (extents) (large files) (huge files)
/dev/sdb1: Linux rev 1.0 ext2 filesystem data, UUID=b3c82023-78e1-4ad4-b6e0-62355b272166
/dev/sdb2: Linux/i386 swap file (new style), version 1 (4K pages), size 4194303 pages, no label, UUID=3f64308c-19db-4da5-a9a0-db4d7defb80f

Dado este resultado de muestra, el primer disco tiene una partición y el segundo disco tiene dos particiones. /dev/sda1es un sistema de archivos ext4, /dev/sdb1es un sistema de archivos ext2 y /dev/sdb2es un espacio de intercambio (aproximadamente 4 GB).

Debe ejecutar este comando como root, porque los usuarios comunes pueden no leer las particiones del disco directamente: si es necesario, agregue sudoal frente.


1
Al entrar $ sudo file /dev/sda1, recibo/dev/sda1: block special
heinrich5991

2
@ heinrich5991 "necesitas pasar la bandera -s ...". Muestro el comando file -s /dev/sd*, con sudoeso al frente sudo file -s /dev/sd*.
Gilles

Oh lo siento, pasé por alto eso. :(
heinrich5991

2
no funciona para cosas de LVM: partió -l parece funcionar mejor
TiloBunt

1
@TiloBunt Haga eso file -sL /dev/mapper/foo-bar, con la -Lbandera para desreferenciar el enlace simbólico.
Gilles

65

Otra opción es usar blkid:

$ blkid /dev/sda1
/dev/sda1: UUID="625fa1fa-2785-4abc-a15a-bfcc498139d1" TYPE="ext2"

Esto reconoce la mayoría de los tipos de sistemas de archivos y cosas como particiones cifradas.

También puede buscar particiones con un tipo dado:

# blkid -t TYPE=ext2
/dev/sda1: UUID="625fa1fa-2785-4abc-a15a-bfcc498139d1" TYPE="ext2" 
/dev/sdb1: UUID="b80153f4-92a1-473f-b7f6-80e601ae21ac" TYPE="ext2"

77
+1: He verificado que esto da el resultado correcto al montar un ext2sistema de archivos con mount -t ext4. blkidno se deja engañar por eso.
Warren Young

Por lo que vale, esto también parece funcionar para unidades xfs, aunque aparentemente no blkides tan bueno como lsblkpara detectar unidades desmontadas (si es necesario)
Jose Diaz-Gonzalez

¡Gracias! El comando de archivo no funcionaba, pero esto me dio lo que necesitaba.
Brain2000

Tuve que sudo blkid / dev / sda1 más, obtengo resultados en blanco
jokab

41

Puedes usar sudo parted -l

[shredder12]$ sudo parted -l

Model: ATA WDC WD1600BEVT-7 (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system     Flags
 1      32.3kB  8587MB  8587MB  primary   ext3            boot
 4      8587MB  40.0GB  31.4GB  primary   ext4
 2      40.0GB  55.0GB  15.0GB  primary   ext4
 3      55.0GB  160GB   105GB   extended
 5      55.0GB  158GB   103GB   logical   ext4
 6      158GB   160GB   1999MB  logical   linux-swap(v1)

Fuente


1
Parted no está instalado. Además, las unidades aún no están montadas.
user4951

1
@ JimThio ¿Supongo que pudiste instalarlo? Debería poder obtenerlo simplemente haciendo sudo apt-get install parted(o gparted) si está en Ubuntu o cualquier otro derivado de Debian.
Karthik T

2
+1: He verificado que esto da el resultado correcto al montar un ext2sistema de archivos con mount -t ext4. partedno se deja engañar por eso.
Warren Young

Si bien esta no es la respuesta más votada, esta es la que realmente uso. Además, no necesito especificar el dispositivo.
user4951

Debido a que no es la mejor respuesta: una partición puede tener una etiqueta grub como ext2 y contiene un sistema de archivos ext4 (y luego se montará como ext4 con mount -t auto)
Basile Starynkevitch

15

Todavía otra manera, ya que se sabe que está ejecutando algún sabor de ext?, es mirar la lista de funciones del sistema de archivos:

# tune2fs -l /dev/sda1 | grep features

Si en la lista ves:

  • extent - es ext4
  • no extent, pero has_journales ext3
  • ni extentni has_journal- es ext2

Las respuestas partedy blkidson mejores si desea que estas heurísticas se ejecuten automáticamente. (También indican la diferencia con las comprobaciones de características). También pueden identificar ext?sistemas que no son de archivos.

Este método tiene la virtud de mostrarle las diferencias de bajo nivel.

Lo importante a tener en cuenta aquí es que estos tres sistemas de archivos son compatibles con versiones anteriores y, en cierta medida, también con versiones anteriores. Las versiones posteriores solo agregan funciones además de las anteriores.

Consulte el CÓMO ext4 para obtener más información al respecto.


10

intente usar df -Tsee man dfpara obtener más opciones, una forma más que encontré escfdisk


2
Esto tiene la misma debilidad que la mountrespuesta basada en h3rmiller .
Warren Young el

3
h3rrmiller eliminó su respuesta, por lo que para aquellos que no tienen el representante para verla ahora, el problema es que si dices mount -t ext4en un ext2sistema de archivos, los df -Tinformes ext4. Es decir, es solo leer lo que dice la tabla de montaje, no mirar los metadatos del sistema de archivos para resolver esto.
Warren Young

@Warren: Eso es porque es un sistema de archivos ext4 en ese caso. Solo uno con no muchas características.
mattdm

@mattdm: Entonces, cuando lo desmontas ... ¿sigue siendo un sistema de archivos ext4?
Warren Young el

@Warren: en cierto sentido, todos los sistemas de archivos ext2 también son sistemas de archivos ext4, sí. (Pero, por supuesto, no en el sentido mayoría de las personas quieren decir.)
mattdm

10

Sorprendido, esto no está aquí ya. No sudorequerido:

lsblk -f


2
Si ejecuto esto sin sudola FSTYPEcolumna está en blanco.
Flup

@Flup Lo intenté nuevamente y funcionó perfectamente sin sudo. La columna FSTYPE estaba completamente poblada. Puede haber alguna disparidad entre nuestros sistemas?
Freedom_Ben

@Flup: debes usar Debian / Ubuntu o derivados ... Son famosos por hacer algo (o tal vez no hacer algo, no lo sabría) y el resultado final es que necesitas privilegios de root para enumerar algunas lsblkcolumnas ... .
don_crissti

4

use la opción -T para imprimir el tipo de sistema de archivos

[root@centos6 ~]# df -T

Filesystem           Type  1K-blocks    Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                     ext4    6795192 6367072     76276  99% /
tmpfs                tmpfs    639164       0    639164   0% /dev/shm
/dev/sda1            ext4     487652   28684    433368   7% /boot

2

fdisk -l enumerará

Uso:

 fdisk [options] -l <disk> list partition table(s)
 fdisk -s <partition>      give partition size(s) in blocks
 fdisk [options] <disk>    change partition table

2
¿En que sistema? fdisk, en el sistema que estoy usando en este momento al menos, solo muestra el tipo de partición, no el tipo de sistema de archivos. Esto significa no sólo que no puede decir la diferencia entre ext2, ext3y ext4, también no puede discernir ReiserFS o XFS de éstos.
Warren Young el

+1 por esfuerzo. He hecho fdisk antes de hacer esta pregunta. Mantenga los puntos arriba.
user4951

1

Aquí hay una línea útil para obtener solo el tipo de sistema de archivos:

blkid -o export <partition-device> | grep '^TYPE' | cut -d"=" -f2

Un ejemplo de ejecución es:

# blkid -o export /dev/sda1 | grep '^TYPE' | cut -d"=" -f2
vfat
# blkid -o export /dev/sda2 | grep '^TYPE' | cut -d"=" -f2
ext4

0

Esto no mostró la respuesta BSD que estaba buscando. Tenía la impresión de que estos bytes de tipo estaban realmente contenidos en la tabla de particiones del disco, no estoy seguro de eso. Solo hay un tipo 85 para todos los tipos extfs de Linux, pero Linux tampoco reconoce el tipo A6 de OpenBSD.

> 00 sin usar 20 Willowsoft 66 NetWare 386 A9 NetBSD
> 01 DOS FAT-12 24 NEC DOS 67 Novell AB MacOS X boot
> 02 XENIX / 27 Win Recovery 68 Novell AF MacOS X HFS +
> 03 XENIX / usr 38 Theos 69 Novell B7 BSDI filesy *
> 04 DOS FAT-16 39 Plan 9 70 DiskSecure B8 BSDI swap
> 05 DOS extendido 40 VENIX 286 75 PCIX BF Solaris
> 06 DOS> 32MB 41 Lin / Minux DR 80 Minix (antiguo) C0 CTOS
> 07 NTFS 42 LinuxSwap DR 81 Minix (nuevo) C1 DRDOSs FAT12
> 08 AIX fs 43 Linux DR 82 Linux swap C4 DRDOSs 09 AIX / Coherent 4D QNX 4.2 Pri 83 Linux files * C6 DRDOSs> = 32M
> 0A OS / 2 Bootmgr 4E QNX 4.2 Sec 84 OS / 2 oculto C7 HPFS deshabilitado
> 0B Win95 FAT-32 4F QNX 4.2 Ter 85 Linux ext. DB CPM / C.DOS / C *
> 0C Win95 FAT32L 50 DM 86 NT FAT VS DE Dell Maint
> 0E DOS FAT-16 51 DM 87 NTFS VS E1 SpeedStor
> 0F Extended LBA 52 CP / M o SysV 8E Linux LVM E3 SpeedStor
> 10 OPUS 53 DM 93 Amoeba FS E4 SpeedStor
> 11 OS / 2 ocultos 54 Ontrack 94 Amoeba BBT EB BeOS / i386
> 12 Compaq Diag. 55 EZ-Drive 99 Mylex EE EFI GPT
> 14 OS / 2 ocultos 56 Golden Bow 9F BSDI EF EFI Sys
> 16 OS / 2 oculto 5C Priam A0 NotebookSave F1 SpeedStor
> 17 OS / 2 ocultos 61 SpeedStor A5 FreeBSD F2 DOS 3.3+ Sec
> 18 AST swap 63 ISC, HURD, * A6 OpenBSD F4 SpeedStor
> 19 Willowtech 64 NetWare 2.xx A7 NEXTSTEP FF Xenix BBT   
> 1C ThinkPad Rec 65 NetWare 3.xx A8 ​​MacOS X     

El formato puede ser destrozado, es una buena tabla de 70 columnas de ancho. Si estás en el fdisk de OpenBSD y golpeas? cuando solicita el tipo de partición, esto es lo que obtienes. Los tipos se muestran cuando edita o enumera la tabla de particiones.

Tipos de partición en Wikipedia: https://en.wikipedia.org/wiki/Partition_type

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.