Bagaimana saya tahu jika sebuah partisi adalah ext2, ext3, atau ext4?

121

Saya baru saja memformat barang. Satu disk saya format sebagai ext2. Yang lain saya ingin memformat sebagai ext4. Saya ingin menguji bagaimana kinerjanya.

Sekarang, bagaimana saya tahu jenis sistem file dalam sebuah partisi?

pengguna4951
sumber
2
Karena penasaran, apa yang ingin Anda uji? Jurnal vs tidak ada jurnal? Sebagai catatan, Anda dapat mengoperasikan ext4 dalam mode tanpa jurnal, dan tetap mendapat manfaat dari semua fitur baru lainnya.
zacharyalexstern
unix.stackexchange.com/questions/34623/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Jawaban:

114

Bagaimana cara saya mengetahui jenis data apa (format data apa) dalam suatu file?
→ Gunakan fileutilitas.

Di sini, Anda ingin mengetahui format data dalam file perangkat, jadi Anda harus memberikan -standa agar filetidak hanya mengatakan bahwa itu adalah file perangkat tetapi melihat kontennya. Terkadang Anda juga akan memerlukan -Ltanda, jika nama file perangkat adalah tautan simbolik. Anda akan melihat output seperti ini:

# 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

Dengan hasil sampel ini, disk pertama memiliki satu partisi dan disk kedua memiliki dua partisi. /dev/sda1adalah filesystem ext4, /dev/sdb1adalah filesystem ext2, dan /dev/sdb2merupakan ruang swap (sekitar 4GB).

Anda harus menjalankan perintah ini sebagai root, karena pengguna biasa mungkin tidak membaca partisi disk secara langsung: jika perlu, tambahkan sudodi depan.

Gilles
sumber
1
Saat masuk $ sudo file /dev/sda1, saya mendapatkan/dev/sda1: block special
heinrich5991
2
@ heinrich5991 "Anda harus melewati flag -s ...". Saya menunjukkan perintah file -s /dev/sd*- dengan sudodi depan, itu sudo file -s /dev/sd*.
Gilles
Oh maaf, saya mengabaikannya. :(
heinrich5991
2
tidak bekerja untuk hal-hal LVM: berpisah -l tampaknya bekerja lebih baik
TiloBunt
1
@TiloBunt Buat itu file -sL /dev/mapper/foo-bar, dengan -Lflag untuk men-decere-simlink .
Gilles
65

Pilihan lain adalah menggunakan blkid:

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

Ini mengenali sebagian besar tipe sistem file dan hal-hal seperti partisi terenkripsi.

Anda juga dapat mencari partisi dengan tipe yang diberikan:

# 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
sumber
7
+1: Saya telah memverifikasi bahwa ini memberikan hasil yang benar ketika memasang sistem ext2file dengan mount -t ext4. blkidtidak tertipu oleh itu.
Warren Young
Untuk apa nilainya, ini juga berfungsi untuk drive xfs, meskipun tampaknya blkidtidak sebagus mendeteksi drive yang tidaklsblk di- mount (jika perlu)
Jose Diaz-Gonzalez
Terima kasih! Perintah file tidak berfungsi, tetapi ini memberi saya apa yang saya butuhkan.
Brain2000
saya harus sudo blkid / dev / sda1 lain saya mendapatkan hasil kosong
jokab
41

Anda dapat gunakan 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)

Sumber

Karthik T
sumber
1
berpisah tidak terpasang. Juga drive belum terpasang.
user4951
1
@ Jim Thio Saya menganggap Anda dapat menginstalnya? Anda harus bisa mendapatkannya hanya dengan melakukan sudo apt-get install parted(atau gparted) jika Anda menggunakan Ubuntu atau turunan debian lainnya.
Karthik T
2
+1: Saya telah memverifikasi bahwa ini memberikan hasil yang benar ketika memasang sistem ext2file dengan mount -t ext4. partedtidak tertipu oleh itu.
Warren Young
Meskipun ini bukan jawaban yang paling banyak dipilih, inilah yang benar-benar saya gunakan. Juga saya tidak perlu menentukan perangkat.
user4951
Karena itu bukan jawaban terbaik: partisi mungkin diberi label grub sebagai ext2 dan berisi sistem file ext4 (dan kemudian akan dipasang sebagai ext4 dengan mount -t auto)
Basile Starynkevitch
15

Masih cara lain, karena Anda tahu Anda menjalankan beberapa rasa ext?, adalah untuk melihat daftar fitur filesystem:

# tune2fs -l /dev/sda1 | grep features

Jika dalam daftar Anda melihat:

  • extent - ini ext4
  • tidak extent, tapi has_journal- itu ext3
  • tidak extentjuga has_journal- itu ext2

The parteddan blkidjawaban yang lebih baik jika Anda ingin heuristik ini berjalan untuk Anda secara otomatis. (Mereka memberi tahu perbedaannya dengan pemeriksaan fitur.) Mereka juga dapat mengidentifikasi ext?sistem non- files

Metode ini memiliki kebajikan untuk menunjukkan kepada Anda perbedaan tingkat rendah.

Hal penting yang harus disadari di sini adalah bahwa ketiga sistem file ini kompatibel ke depan, dan sampai batas tertentu juga kompatibel ke belakang. Versi selanjutnya hanya menambahkan fitur di atas yang lebih lama.

Lihat HOWTO ext4 untuk informasi lebih lanjut tentang ini.

Warren Young
sumber
10

coba gunakan df -Tsee man dfuntuk opsi lebih banyak lagi masih satu cara saya temukan adalahcfdisk

harish.venkat
sumber
2
Ini memiliki kelemahan yang sama dengan mountjawaban berbasis h3rmiller .
Warren Young
3
h3rrmiller menghapus jawabannya, jadi bagi mereka yang tidak memiliki perwakilan untuk melihatnya sekarang, masalahnya adalah jika Anda mengatakan mount -t ext4pada sistem ext2file, df -Tlaporkan ext4. Yaitu, hanya membaca apa yang dikatakan tabel mount, tidak melihat metadata filesystem untuk mencari tahu.
Warren Young
@ Warren: Itu karena itu adalah sistem file ext4 dalam kasus itu. Hanya satu dengan tidak banyak fitur.
mattdm
@mattdm: Jadi ketika Anda melepasnya ... apakah ini masih merupakan sistem file ext4?
Warren Young
@ Warren: dalam arti, semua filesystem ext2 juga filesystem ext4, ya. (Tapi tentu saja, tidak dalam arti kebanyakan orang.)
mattdm
10

Terkejut ini belum ada di sini. Tidak sudodiperlukan:

lsblk -f

Freedom_Ben
sumber
2
Jika saya menjalankan ini tanpa sudosatu FSTYPEkolom kosong.
Flup
@ Flup Saya hanya mencobanya sendiri lagi dan itu bekerja dengan sempurna tanpa sudo. Kolom FSTYPE terisi penuh. Mungkin ada perbedaan antara sistem kami?
Freedom_Ben
@ Flup - Anda harus menggunakan Debian / Ubuntu atau turunannya ... Mereka terkenal karena melakukan sesuatu (atau mungkin tidak melakukan sesuatu, saya tidak akan tahu) dan hasil akhirnya adalah Anda memerlukan hak akses root untuk mendaftar beberapa lsblkkolom .. .
don_crissti
4

gunakan opsi -T untuk mencetak jenis sistem file

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

fdisk -l akan mendaftar

Pemakaian:

 fdisk [options] -l <disk> list partition table(s)
 fdisk -s <partition>      give partition size(s) in blocks
 fdisk [options] <disk>    change partition table
akibatnya
sumber
2
Pada sistem apa? fdisk, pada sistem yang saya gunakan setidaknya saat ini, hanya menunjukkan tipe partisi, bukan tipe filesystem. Itu berarti tidak hanya tidak bisa itu membedakan antara ext2, ext3dan ext4, juga tidak bisa membedakan ReiserFS atau XFS dari ini.
Warren Young
+1 untuk upaya. Saya telah melakukan fdisk sebelum mengajukan pertanyaan ini. Pertahankan poin.
user4951
1

Inilah oneliner yang berguna untuk mendapatkan hanya tipe sistem file:

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

Contoh run adalah:

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

Ini tidak menunjukkan jawaban BSD yang saya cari. Saya mendapat kesan byte jenis ini sebenarnya terkandung dalam tabel partisi pada disk, tidak yakin tentang itu. Hanya ada tipe 85 untuk semua tipe Linux, tetapi Linux juga tidak mengenali tipe A6 OpenBSD.

> 00 20 Willowsoft 66 NetWare 386 A9 NetBSD yang tidak digunakan
> 01 DOS FAT-12 24 NEC DOS 67 Novell AB boot MacOS X
> 02 XENIX / 27 Menang Pemulihan 68 Novell AF MacOS X HFS +
> 03 XENIX / usr 38 Theos 69 Novell B7 BSDI filey *
> 04 DOS FAT-16 39 Paket 9 70 DiskSecure B8 BSDI swap
> 05 Extended DOS 40 VENIX 286 75 PCIX BF Solaris
> 06 DOS> 32MB 41 Lin / Minux DR 80 Minix (lama) C0 CTOS
> 07 NTFS 42 LinuxSwap DR 81 Minix (baru) C1 DRDOS FAT12
> 08 AIX fs 43 Linux DR 82 Linux menukar C4 DRDOS 09 AIX / Koheren 4D QNX 4.2 Pri 83 File Linux * C6 DRDOS> = 32M
> 0A OS / 2 Bootmgr 4E QNX 4.2 Sec 84 OS / 2 tersembunyi C7 HPFS Disbled
> 0B Win95 FAT-32 4F QNX 4.2 Ter 85 Linux ext. BPT DB / 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 atau SysV 8E Linux LVM E3 SpeedStor
> 10 OPUS 53 DM 93 Amoeba FS E4 SpeedStor
> 11 OS / 2 tersembunyi 54 Ontrack 94 Amoeba BBT EB BeOS / i386
> 12 Compaq Diag. 55 EZ-Drive 99 Mylex EE EFI GPT
> 14 OS / 2 tersembunyi 56 Golden Bow 9F BSDI EF EFI Sys
> 16 OS / 2 tersembunyi 5C Priam A0 NotebookSimpan F1 SpeedStor
> 17 OS / 2 tersembunyi 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     

Pemformatan mungkin rusak, ini adalah tabel yang bagus dengan lebar 70 kolom. Jika Anda menggunakan fdisk OpenBSD dan menekannya? ketika meminta jenis partisi ini adalah apa yang Anda dapatkan. Tipe-tipe ini ditampilkan ketika Anda mengedit atau mendaftar tabel partisi.

Jenis partisi di Wikipedia: https://en.wikipedia.org/wiki/Partition_type

Alan Corey
sumber