Woher weiß ich, ob eine Partition ext2, ext3 oder ext4 ist?

121

Ich habe gerade Sachen formatiert. Eine Platte formatiere ich als ext2. Das andere möchte ich als ext4 formatieren. Ich möchte testen, wie sie funktionieren.

Woher kenne ich das Dateisystem in einer Partition?

user4951
quelle
2
Was versuchst du aus Neugier zu testen? Journal vs. kein Journal? Für die Aufzeichnung können Sie ext4 im No-Journal-Modus betreiben und trotzdem von allen anderen neuen Funktionen profitieren.
Zacharyalexstern

Antworten:

114

Wie kann ich feststellen, welche Art von Daten (welches Datenformat) in einer Datei enthalten ist?
→ Verwenden Sie das fileDienstprogramm.

Hier möchten Sie das Format der Daten in einer Gerätedatei kennen, also müssen Sie das -sFlag übergeben, um filenicht nur zu sagen, dass es sich um eine Gerätedatei handelt, sondern um den Inhalt zu betrachten. Manchmal benötigen Sie das -LFlag auch, wenn der Name der Gerätedatei eine symbolische Verknüpfung ist. Die Ausgabe sieht dann so aus:

# 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

Bei dieser Beispielausgabe verfügt der erste Datenträger über eine Partition und der zweite Datenträger über zwei Partitionen. /dev/sda1ist ein ext4-Dateisystem, /dev/sdb1ist ein ext2-Dateisystem und /dev/sdb2ist etwas Swap-Speicherplatz (ca. 4 GB).

Sie müssen diesen Befehl als root ausführen, da normale Benutzer Festplattenpartitionen möglicherweise nicht direkt lesen sudo.

Gilles
quelle
1
Beim Eintreten $ sudo file /dev/sda1bekomme ich/dev/sda1: block special
heinrich5991
2
@ heinrich5991 "Sie müssen das -s-Flag übergeben ...". Ich zeige den Befehl file -s /dev/sd*- mit sudovorne, das ist sudo file -s /dev/sd*.
Gilles
Oh sorry, das habe ich übersehen. :(
heinrich5991
2
funktioniert nicht für LVM-Sachen: getrennt -l scheint besser zu funktionieren
TiloBunt
1
@TiloBunt Machen Sie das file -sL /dev/mapper/foo-barmit dem -LFlag, um den Symlink zu dereferenzieren.
Gilles
65

Eine andere Option ist die Verwendung von blkid:

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

Dies erkennt die meisten Dateisystemtypen und ähnliches wie verschlüsselte Partitionen.

Sie können auch nach Partitionen mit einem bestimmten Typ suchen:

# 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
quelle
7
+1: Ich habe überprüft, dass dies das richtige Ergebnis beim Mounten eines ext2Dateisystems mit gibt mount -t ext4. blkidwird davon nicht getäuscht.
Warren Young
Dies scheint auch für xfs-Laufwerke zu funktionieren, obwohl es anscheinend blkidnicht so gut ist, wie nicht gemountete Laufwerke lsblkzu erkennen (falls erforderlich)
Jose Diaz-Gonzalez
Vielen Dank! Der Dateibefehl funktionierte nicht, aber das gab mir das, was ich brauchte.
Brain2000
ich musste sudo blkid / dev / sda1 sonst bekomme ich leere ergebnisse
jokab
41

Sie können verwenden 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)

Quelle

Karthik T
quelle
1
parted ist nicht installiert. Auch die Laufwerke sind noch nicht gemountet.
user4951
1
@ JimThio Ich nehme an, Sie konnten es installieren? Sie sollten in der Lage sein, es zu bekommen, indem Sie einfach sudo apt-get install parted(oder gparted) tun, wenn Sie auf Ubuntu oder einem anderen Debian-Derivat sind.
Karthik T
2
+1: Ich habe überprüft, dass dies das richtige Ergebnis beim Mounten eines ext2Dateisystems mit gibt mount -t ext4. partedwird davon nicht getäuscht.
Warren Young
Dies ist zwar nicht die am besten bewertete Antwort, aber die, die ich tatsächlich verwende. Auch muss ich das Gerät nicht angeben.
user4951
Weil es nicht die beste Antwort ist: Eine Partition könnte als ext2 grub-markiert sein und das Dateisystem ext4 enthalten (und dann als ext4 mit gemountet werden mount -t auto)
Basile Starynkevitch
15

Noch eine andere Art und Weise, da Sie wissen , Sie laufen einige Geschmack ext?, auf das Dateisystem des Feature - Liste zu sehen ist:

# tune2fs -l /dev/sda1 | grep features

Wenn Sie in der Liste Folgendes sehen:

  • extent - Es ist ext4
  • nein extent, aber has_journal- es ist ext3
  • weder extentnoch has_journal- es ist ext2

Das partedund die blkidAntworten sind besser, wenn diese Heuristiken automatisch für Sie ausgeführt werden sollen. (Sie unterscheiden sich auch bei der Funktionsprüfung.) Sie können auch Nicht- ext?Dateisysteme identifizieren .

Diese Methode hat den Vorteil, dass Sie die geringen Unterschiede erkennen können.

Hierbei ist zu beachten, dass diese drei Dateisysteme vorwärtskompatibel und teilweise auch rückwärtskompatibel sind. In späteren Versionen werden nur Funktionen zu den älteren hinzugefügt.

Weitere Informationen hierzu finden Sie im ext4-HOWTO .

Warren Young
quelle
10

Versuchen Sie es mit df -Tsee man dffür mehr Optionencfdisk

harish.venkat
quelle
2
Dies hat die gleiche Schwäche wie die auf h3rmiller mountbasierende Antwort.
Warren Young
3
h3rrmiller hat seine Antwort entfernt. Für diejenigen, die nicht über den Repräsentanten verfügen, ist das Problem, dass, wenn Sie mount -t ext4über ein ext2Dateisystem df -Tberichten ext4. Das heißt, es wird nur gelesen, was die Mount-Tabelle sagt, und nicht die Metadaten des Dateisystems, um dies herauszufinden.
Warren Young
@Warren: Das liegt daran, dass es sich in diesem Fall um ein ext4-Dateisystem handelt. Nur eine mit nicht vielen Funktionen.
Mattdm
@mattdm: Also, wenn Sie es aushängen ... ist es immer noch ein ext4-Dateisystem?
Warren Young
@Warren: In gewisser Weise sind alle ext2-Dateisysteme auch ext4-Dateisysteme, ja. (Aber natürlich nicht in dem Sinne, den die meisten Leute meinen.)
Mattdm
10

Überrascht ist das hier noch nicht. Nein sudoerforderlich:

lsblk -f

Freedom_Ben
quelle
2
Wenn ich das ohne sudodie FSTYPESpalte laufen lasse ist leer.
Flup
@Flup Ich habe es gerade selbst nochmal probiert und es funktionierte einwandfrei ohne sudo. Die Spalte FSTYPE wurde vollständig ausgefüllt. Möglicherweise gibt es Unterschiede zwischen unseren Systemen?
Freedom_Ben
@Flup - Sie müssen Debian / Ubuntu oder Derivate verwenden ... Sie sind berühmt dafür, etwas zu tun (oder vielleicht etwas nicht zu tun, ich würde es nicht wissen) und das Endergebnis ist, dass Sie Root-Rechte benötigen, um einige lsblkSpalten aufzulisten. .
don_crissti
4

Verwenden Sie die Option -T, um den Dateisystemtyp zu drucken

[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
quelle
2

fdisk -l wird auflisten

Verwendungszweck:

 fdisk [options] -l <disk> list partition table(s)
 fdisk -s <partition>      give partition size(s) in blocks
 fdisk [options] <disk>    change partition table
Ergebnisweg
quelle
2
Auf welchem ​​System? fdiskzeigt auf dem System, das ich gerade benutze, nur den Partitionstyp, nicht den Dateisystemtyp an. Das heißt , es kann nicht nur nicht den Unterschied zwischen sagen ext2, ext3und ext4es kann auch nicht erkennen , ReiserFS oder XFS von diesen.
Warren Young
+1 für Mühe. Ich habe fdisk gemacht, bevor ich diese Frage gestellt habe. Mach weiter so.
user4951
1

Hier ist ein nützlicher Oneliner, um nur den Dateisystemtyp zu ermitteln:

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

Ein Beispiellauf ist:

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

Dies zeigte nicht die BSD-Antwort, die ich suchte. Ich hatte den Eindruck, dass diese Typbytes tatsächlich in der Partitionstabelle auf der Festplatte enthalten waren, nicht sicher. Es gibt nur Typ 85 für alle Linux-extfs-Typen, aber Linux erkennt OpenBSDs A6-Typ auch überhaupt nicht.

> 00 nicht verwendet 20 Willowsoft 66 NetWare 386 A9 NetBSD
> 01 DOS FAT-12 24 NEC DOS 67 MacOS X-Start von Novell AB
> 02 XENIX / 27 Win Recovery 68 Novell AF MacOS X HFS +
> 03 XENIX / usr 38 Theos 69 Novell B7 BSDI-Dateien *
> 04 DOS FAT-16 39 Plan 9 70 DiskSecure B8 BSDI-Swap
> 05 Erweitertes DOS 40 VENIX 286 75 PCIX BF Solaris
> 06 DOS> 32MB 41 Lin / Minux DR 80 Minix (alt) C0 CTOS
> 07 NTFS 42 LinuxSwap DR 81 Minix (neu) C1 DRDOS FAT12
> 08 AIX fs 43 Linux DR 82 Linux-Swap-C4-DRDOS 09 AIX / Coherent 4D QNX 4.2 Pri 83 Linux-Dateien * C6-DRDOS> = 32M
> 0A OS / 2 Bootmgr 4E QNX 4.2 Sec 84 OS / 2 versteckt C7 HPFS Disbled
> 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 oder SysV 8E Linux LVM E3 SpeedStor
> 10 OPUS 53 DM 93 Amöbe FS E4 SpeedStor
> 11 OS / 2 versteckt 54 Ontrack 94 Amoeba BBT EB BeOS / i386
> 12 Compaq Diag. 55 EZ-Drive 99 Mylex EE EFI GPT
> 14 OS / 2 versteckt 56 Golden Bow 9F BSDI EF EFI Sys
> 16 OS / 2 versteckt 5C Priam A0 NotebookSave F1 SpeedStor
> 17 OS / 2 versteckt 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     

Die Formatierung kann durcheinander geraten, es ist eine schöne Tabelle mit 70 Spalten Breite. Wenn Sie in OpenBSDs fdisk sind und getroffen haben? Wenn Sie nach dem Partitionstyp gefragt werden, erhalten Sie diesen. Die Typen werden angezeigt, wenn Sie die Partitionstabelle bearbeiten oder auflisten.

Partitionstypen auf Wikipedia: https://en.wikipedia.org/wiki/Partition_type

Alan Corey
quelle