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.