Comment savoir si une partition est ext2, ext3 ou ext4?

121

Je viens de formater des trucs. Un disque je formate comme ext2. L'autre je veux formater comme ext4. Je veux tester leurs performances.

Maintenant, comment puis-je connaître le type de système de fichiers dans une partition?

utilisateur4951
la source
2
Par curiosité, qu'essayez-vous de tester? Journal vs pas de journal? Pour mémoire, vous pouvez utiliser ext4 en mode sans journal, tout en bénéficiant de toutes les nouvelles fonctionnalités.
Zacharyalexstern
unix.stackexchange.com/questions/34623/…
Ciro Santilli a rejoint le forum

Réponses:

114

Comment puis-je savoir quel type de données (quel format de données) se trouve dans un fichier?
→ Utilisez l' fileutilitaire.

Ici, vous voulez connaître le format des données dans un fichier de périphérique, vous devez donc activer le -sdrapeau pour indiquer, filenon seulement de dire que c'est un fichier de périphérique, mais de regarder le contenu. Parfois, vous aurez également besoin de l' -Lindicateur si le nom du fichier de périphérique est un lien symbolique. Vous verrez la sortie comme ceci:

# 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

Étant donné cet exemple de sortie, le premier disque a une partition et le deuxième disque a deux partitions. /dev/sda1est un système de fichiers ext4, /dev/sdb1est un système de fichiers ext2 et /dev/sdb2constitue un espace d'échange (environ 4 Go).

Vous devez exécuter cette commande en tant que root, car les utilisateurs ordinaires ne peuvent pas lire directement les partitions de disque: si nécessaire, ajoutez-les sudodevant.

Gilles
la source
1
En entrant $ sudo file /dev/sda1, je reçois/dev/sda1: block special
heinrich5991
2
@ heinrich5991 “vous devez passer le drapeau -s…”. Je montre la commande file -s /dev/sd*- avec sudodevant, c'est sudo file -s /dev/sd*.
Gilles
Oh désolé, j'ai négligé cela. :(
heinrich5991
2
ne marche pas pour LVM: parted -l semble mieux fonctionner
TiloBunt
1
@TiloBunt Faites cela file -sL /dev/mapper/foo-baravec l' -Lindicateur pour déréférencer le lien symbolique.
Gilles
65

Une autre option consiste à utiliser blkid:

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

Cela reconnaît la plupart des types de systèmes de fichiers et des éléments tels que les partitions chiffrées.

Vous pouvez également rechercher des partitions avec un type donné:

# blkid -t TYPE=ext2
/dev/sda1: UUID="625fa1fa-2785-4abc-a15a-bfcc498139d1" TYPE="ext2" 
/dev/sdb1: UUID="b80153f4-92a1-473f-b7f6-80e601ae21ac" TYPE="ext2"
crater2150
la source
7
+1: J'ai vérifié que cela donne le résultat correct lors du montage d'un ext2système de fichiers avec mount -t ext4. blkidce n'est pas dupe.
Warren Young
Pour ce que ça vaut, cela semble aussi travailler pour les lecteurs de XFS, mais apparemment , c'est blkidest pas aussi grande que lsblkest à détecter les disques non montés (si vous devez)
Jose Diaz-Gonzalez
Merci! La commande de fichier ne fonctionnait pas, mais cela me donnait ce dont j'avais besoin.
Brain2000
je devais sudo blkid / dev / sda1 sinon je reçois des résultats vierges
jokab
41

Vous pouvez utiliser 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)

La source

Karthik T
la source
1
parted n'est pas installé. De plus, les lecteurs ne sont pas encore montés.
user4951
1
@ JimThio Je suppose que vous avez pu l'installer? Vous devriez pouvoir l'obtenir simplement en faisant sudo apt-get install parted(ou gparted) si vous êtes sur Ubuntu ou tout autre dérivé de Debian.
Karthik T
2
+1: J'ai vérifié que cela donne le résultat correct lors du montage d'un ext2système de fichiers avec mount -t ext4. partedce n'est pas dupe.
Warren Young
Bien que ce ne soit pas la réponse la plus votée, c’est celle que j’utilise réellement. De plus, je n'ai pas besoin de spécifier le périphérique.
user4951
Parce que ce n’est pas la meilleure réponse: une partition pourrait être étiquetée grub ext2 et contenir le système de fichiers ext4 (et serait ensuite montée avec ext4 avec mount -t auto)
Basile Starynkevitch
15

Une autre façon, puisque vous savez que vous avez une idée de ext?, est de regarder la liste des fonctionnalités du système de fichiers:

# tune2fs -l /dev/sda1 | grep features

Si dans la liste, vous voyez:

  • extent - c'est ext4
  • non extent, mais has_journal- c'est ext3
  • ni extentni has_journal- c'est ext2

Les réponses partedet blkidsont meilleures si vous voulez que ces heuristiques s'exécutent automatiquement pour vous. (Ils font également la différence avec les vérifications de fonctionnalités.) Ils peuvent également identifier des ext?systèmes autres que des systèmes de fichiers.

Cette méthode a l'avantage de vous montrer les différences de bas niveau.

La chose importante à réaliser ici est que ces trois systèmes de fichiers sont compatibles avec la version antérieure, et dans une certaine mesure, compatibles avec la version antérieure. Les versions ultérieures ne font qu'ajouter des fonctionnalités aux anciennes.

Voir ext4 HOWTO pour plus d’informations à ce sujet.

Warren Young
la source
10

essayez d'utiliser df -Tvoir l'homme dfpour plus d'options encore une façon que j'ai trouvé estcfdisk

harish.venkat
la source
2
Cela a la même faiblesse que la mountréponse basée sur h3rmiller .
Warren Young
3
h3rrmiller a enlevé sa réponse, donc pour ceux qui n'ont pas le représentant pour le voir maintenant, le problème est que si vous dites mount -t ext4sur un ext2système de fichiers, des df -Trapports ext4. C'est-à-dire qu'il s'agit simplement de lire ce que dit la table de montage, sans regarder dans les métadonnées du système de fichiers pour le comprendre.
Warren Young
@Warren: C'est parce qu'il est un système de fichiers ext4 dans ce cas. Juste un avec peu de fonctionnalités.
Mattdm
@mattdm: Donc, quand vous le démontez ... est-ce toujours un système de fichiers ext4?
Warren Young
@Warren: en un sens, tous les systèmes de fichiers ext2 sont également des systèmes de fichiers ext4, oui. (Mais bien sûr, pas dans le sens que la plupart des gens veulent dire.)
mardi
10

Surpris, ce n'est pas déjà là. Non sudorequis:

lsblk -f

Freedom_Ben
la source
2
Si je lance ceci sans sudola FSTYPEcolonne est vide.
Flup
@ Flup Je viens de l'essayer moi-même et cela fonctionnait parfaitement sans sudo. La colonne FSTYPE était complètement remplie. Peut-être une certaine disparité entre nos systèmes?
Freedom_Ben
@ Flup - vous devez utiliser Debian / Ubuntu ou des dérivés ... Ils sont célèbres pour avoir fait quelque chose (ou peut-être pas, je ne sais pas) et le résultat final est que vous avez besoin de privilèges root pour lister quelques lsblkcolonnes. .
don_crissti
4

utilisez l'option -T pour imprimer le type de système de fichiers

[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
LawrenceLi
la source
2

fdisk -l va lister

Usage:

 fdisk [options] -l <disk> list partition table(s)
 fdisk -s <partition>      give partition size(s) in blocks
 fdisk [options] <disk>    change partition table
les résultats
la source
2
Sur quel système? fdisk, sur le système que j'utilise actuellement, ne montre que le type de partition, pas le type de système de fichiers. Cela signifie non seulement ne peut - il faire la différence entre ext2, ext3et ext4, il peut aussi ne pas discerner ReiserFS ou XFS de ceux - ci.
Warren Young
+1 pour l'effort. J'ai fait fdisk avant de poser cette question. Gardez les points.
user4951
1

Voici un outil utile pour obtenir uniquement le type de système de fichiers:

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

Un exemple de parcours est:

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

Cela ne montre pas la réponse BSD que je cherchais. J'avais l'impression que ces octets de type étaient réellement contenus dans la table de partition du disque, mais je n'en étais pas sûr. Il n'y a que le type 85 pour tous les types extfs Linux, mais Linux ne reconnaît pas non plus le type A6 d'OpenBSD.

> 00 inutilisés 20 Willowsoft 66 NetWare 386 A9 NetBSD
> 01 DOS FAT-12 24 NEC DOS 67 Démarrage Novell AB MacOS X
> 02 XENIX / 27 Récupération Windows 68 AF Novell MacOS X HFS +
> 03 XENIX / usr 38 Theos 69 Novell B7 Un fichier BSDI *
> 04 DOS FAT-16 39 Plan 9 70 DiskSecure B8 BSDI swap
> 05 DOS étendu 40 VENIX 286 75 PCIX BF Solaris
> 06 DOS> 32MB 41 Lin / Minux DR 80 Minix (ancien) C0 CTOS
> 07 NTFS 42 LinuxSwap DR 81 Minix (nouveau) DRDOS C1 FAT12
> 08 AIX 43 Linux DR 82 DRDOS C4 09 AIX / Coherent 4D QNX 4.2 Pri 83 fichiers Linux * C6 DRDOS> = 32M
> 0A OS / 2 Bootmgr 4E QNX 4.2 Sec 84 OS / 2 caché C7 HPFS désactivé
> 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 ou SysV 8E Linux LVM E3 SpeedStor
> 10 OPUS 53 DM 93 Amoeba FS E4 SpeedStor
> 11 OS / 2 masqués 54 Ontrack 94 Amoeba BBT EB BeOS / i386
> 12 Compaq Diag. 55 EZ-Drive 99 Mylex EE EFI GPT
> 14 OS / 2 cachés 56 Golden Bow 9F BSDI EF EFI Sys
> 16 OS / 2 cachés 5C Priam A0 NotebookSave F1 SpeedStor
> 17 OS / 2 masqués 61 SpeedStor A5 FreeBSD F2 DOS 3.3 + Sec.
> 18 Echanges AST 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     

La mise en forme peut être mutilée, c'est un joli tableau de 70 colonnes de large. Si vous êtes dans le fdisk d'OpenBSD et que vous frappez? quand il vous demande le type de partition, c'est ce que vous obtenez. Les types apparaissent lorsque vous éditez ou listez la table de partition.

Types de partition sur Wikipedia: https://en.wikipedia.org/wiki/Partition_type

Alan Corey
la source