Como sei se uma partição é ext2, ext3 ou ext4?


121

Eu apenas formatei as coisas. Um disco que eu formato como ext2. O outro que eu quero formatar como ext4. Eu quero testar como eles se saem.

Agora, como sei o tipo de sistema de arquivos em uma partição?


2
Por curiosidade, o que você está tentando testar? Diário vs. nenhum diário? Para o registro, você pode operar o ext4 no modo sem diário e ainda se beneficiar de todos os outros novos recursos.
precisa saber é o seguinte

Respostas:


114

Como posso saber que tipo de dados (que formato de dados) está em um arquivo?
→ Use o fileutilitário.

Aqui, você deseja conhecer o formato dos dados em um arquivo de dispositivo, então você precisa passar a -ssinalização para dizer filenão apenas para dizer que é um arquivo de dispositivo, mas para ver o conteúdo. Às vezes, você precisará da -Lbandeira também, se o nome do arquivo do dispositivo for um link simbólico. Você verá 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

Dada essa saída de amostra, o primeiro disco possui uma partição e o segundo disco possui duas partições. /dev/sda1é um sistema de arquivos ext4, /dev/sdb1é um sistema de arquivos ext2 e /dev/sdb2tem algum espaço de troca (cerca de 4 GB).

Você deve executar este comando como root, porque usuários comuns podem não ler partições de disco diretamente: se necessário, adicione sudona frente.


1
Ao entrar $ sudo file /dev/sda1, eu recebo/dev/sda1: block special
heinrich5991

2
@ heinrich5991 “você precisa passar a bandeira -s…”. Eu mostro o comando file -s /dev/sd*- com sudona frente, é isso sudo file -s /dev/sd*.
Gilles

Oh, desculpe, eu ignorei isso. :(
heinrich5991

2
não funciona para coisas LVM: separaram -l parece funcionar melhor
TiloBunt

1
@TiloBunt Faça isso file -sL /dev/mapper/foo-barcom a -Lbandeira para desreferenciar o link simbólico.
Gilles

65

Outra opção é usar blkid:

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

Isso reconhece a maioria dos tipos de sistemas de arquivos e coisas como partições criptografadas.

Você também pode procurar partições com um determinado tipo:

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

7
+1: verifiquei que isso fornece o resultado correto ao montar um ext2sistema de arquivos mount -t ext4. blkidnão é enganado por isso.
21813 Warren Young

Para que o seu valor, isso também parece funcionar para unidades XFS, embora aparentemente é blkidnão é tão grande como lsblké a detecção de unidades desmontadas (se precisar)
Jose Diaz-Gonzalez

Obrigado! O comando file não estava funcionando, mas isso me deu o que eu precisava.
precisa saber é o seguinte

Eu tive que sudo blkid / dev / sda1 mais eu recebo resultados em branco
jokab 16/01

41

Você pode 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)

Fonte


1
parted não está instalado. Além disso, as unidades ainda não estão montadas.
usar o seguinte comando

1
@ JimThio Eu suponho que você conseguiu instalá-lo? Você deve conseguir obtê-lo simplesmente fazendo sudo apt-get install parted(ou gparted) se estiver no Ubuntu ou em qualquer outro derivado do debian.
Karthik T

2
+1: verifiquei que isso fornece o resultado correto ao montar um ext2sistema de arquivos mount -t ext4. partednão é enganado por isso.
21813 Warren Young

Embora essa não seja a resposta mais votada, é a que eu realmente uso. Também não preciso especificar o dispositivo.
usar o seguinte comando

Porque não é a melhor resposta: uma partição pode ser grub-rotulado como ext2 e contém sistema de arquivos ext4 (e, em seguida, iria ser montado como ext4 com mount -t auto)
Basile Starynkevitch

15

Ainda outra maneira, desde que você saiba que está executando algum tipo de ext?, é olhar a lista de recursos do sistema de arquivos:

# tune2fs -l /dev/sda1 | grep features

Se na lista você vir:

  • extent - é ext4
  • não extent, mas has_journal- é ext3
  • nem extentnem has_journal- é ext2

As respostas partede blkidsão melhores se você deseja que essas heurísticas sejam executadas automaticamente. (Eles também indicam a diferença nas verificações de recursos.) Eles também podem identificar ext?sistemas que não são arquivos.

Este método tem a virtude de mostrar as diferenças de baixo nível.

O importante a ser percebido aqui é que esses três sistemas de arquivos são compatíveis com versões anteriores e, até certo ponto, também com versões anteriores. Versões posteriores apenas adicionam recursos sobre as mais antigas.

Veja o ext4 HOWTO para mais informações sobre isso.


10

tente usar df -Tver homem dfpara mais opções ainda mais uma maneira que eu encontrei écfdisk


2
Isso tem a mesma fraqueza da mountresposta baseada no h3rmiller .
21913 Warren Young

3
h3rrmiller removeu sua resposta, então para quem não tem o representante para vê-la agora, o problema é que, se você diz mount -t ext4em um ext2sistema de arquivos, df -Treporta ext4. Ou seja, está apenas lendo o que a tabela de montagem diz, sem olhar para os metadados do sistema de arquivos para descobrir isso.
Warren Young

@ Warren: Isso porque, nesse caso , é um sistema de arquivos ext4. Apenas um com poucos recursos.
mattdm

@mattdm: Então, quando você desmontá-lo ... ainda é um sistema de arquivos ext4?
perfil completo de Warren Young

@ Warren: de certa forma, todos os sistemas de arquivos ext2 também são sistemas de arquivos ext4, sim. (Mas, claro, não no sentido da maioria das pessoas quer dizer.)
mattdm

10

Surpreso que isso ainda não esteja aqui. Não é sudonecessário:

lsblk -f


2
Se eu executar isso sem sudoa FSTYPEcoluna está em branco.
Flup

@Flup Acabei de tentar novamente e funcionou perfeitamente sem o sudo. A coluna FSTYPE foi totalmente preenchida. Pode haver alguma disparidade entre nossos sistemas?
21815 Freedom_Ben

@Flup - você deve estar usando Debian / Ubuntu ou derivados ... Eles são famosos por fazer algo (ou talvez não estejam fazendo algo, eu não saberia) e o resultado final é que você precisa de privilégios de root para listar algumas lsblkcolunas .. .
don_crissti

4

use a opção -T para imprimir o tipo de sistema de arquivos

[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 irá listar

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
Em que sistema? fdisk, no sistema que estou usando no momento, pelo menos, mostra apenas o tipo de partição, não o tipo de sistema de arquivos. Isso significa não só que não pode dizer a diferença entre ext2, ext3e ext4, também não pode discernir ReiserFS ou XFS de estes.
Warren Young

+1 por esforço. Eu fiz o fdisk antes de fazer esta pergunta. Mantenha pontos para cima.
usar o seguinte comando

1

Aqui está um oneliner útil para obter apenas o tipo de sistema de arquivos:

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

Um exemplo de execução é:

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

0

Isso não mostrou a resposta BSD que eu estava procurando. Tive a impressão de que esses bytes de tipo estavam realmente contidos na tabela de partição do disco, sem ter certeza disso. Existe apenas o tipo 85 para todos os tipos de extfs do Linux, mas o Linux também não reconhece o tipo A6 do OpenBSD.

> 00 não utilizados 20 Willowsoft 66 NetWare 386 A9 NetBSD
> 01 Inicialização do DOS FAT-12 24 NEC DOS 67 Novell AB MacOS X
> 02 XENIX / 27 Recuperação de vitória 68 Novell AF MacOS X HFS +
> 03 XENIX / usr 38 Theos 69 Novell B7 BSDI arquivos *
> 04 DOS FAT-16 39 Plano 9 70 Troca de DiskSecure B8 BSDI
> 05 Extended DOS 40 VENIX 286 75 PCIX BF Solaris
> 06 DOS> 32MB 41 Lin / Minux DR 80 Minix (antigo) C0 CTOS
> 07 NTFS 42 LinuxSwap DR 81 Minix (novo) C1 DRDOSs FAT12
> 08 AIX fs 43 Linux DR 82 Linux swap C4 DRDOSs 09 AIX / Coerente 4D QNX 4.2 Pri 83 arquivos Linux * C6 DRDOSs> = 32M
> 0A OS / 2 Bootmgr 4E QNX 4.2 Sec 84 OS / 2 oculto C7 HPFS desativado
> 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 Dell Maint
> 0E DOS FAT-16 51 DM 87 NTFS VS E1 SpeedStor
> 0F Extended LBA 52 CP / M ou SysV 8E Linux LVM E3 SpeedStor
> 10 OPUS 53 DM 93 Ameba 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 oculto 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     

A formatação pode ficar confusa, é uma boa tabela com 70 colunas de largura. Se você está no fdisk do OpenBSD e clicou? quando ele pede o tipo de partição, é isso que você obtém. Os tipos são exibidos quando você está editando ou listando a tabela de partição.

Tipos de partição na Wikipedia: https://en.wikipedia.org/wiki/Partition_type

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.