Linux partition filesystem type

How do I know if a partition is ext2, ext3, or ext4?

I just formatted stuff. One disk I format as ext2. The other I want to format as ext4. I want to test how they perform. Now, how do I know the kind of file system in a partition?

Out of curiosity, what are you trying to test? Journal vs. no journal? For the record, you can operate ext4 in no-journal mode, and still benefit from all the other new features.

10 Answers 10

How do I tell what sort of data (what data format) is in a file?
→ Use the file utility.

Here, you want to know the format of data in a device file, so you need to pass the -s flag to tell file not just to say that it’s a device file but look at the content. Sometimes you’ll need the -L flag as well, if the device file name is a symbolic link. You’ll see output like this:

# 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 

Given this sample output, the first disk has one partition and the second disk has two partitions. /dev/sda1 is an ext4 filesystem, /dev/sdb1 is an ext2 filesystem, and /dev/sdb2 is some swap space (about 4GB).

You must run this command as root, because ordinary users may not read disk partitions directly: if needed, add sudo in front.

@heinrich5991 “you need to pass the -s flag …”. I show the command file -s /dev/sd* − with sudo in front, that’s sudo file -s /dev/sd* .

Another option is to use blkid :

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

This recognizes most filesystem types and stuff like encrypted partitions.

You can also search for partitions with a given type:

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

+1: I’ve verified that this gives the correct result when mounting an ext2 filesystem with mount -t ext4 . blkid isn’t fooled by that.

For what its worth, this also appears to work for xfs drives, though apparently it’s blkid is not as great as lsblk is at detecting unmounted drives (if you need to)

You can use 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) 

@JimThio I assume you were able to install it? You should be able to get it by simply doing sudo apt-get install parted (or gparted ) if you are on Ubuntu or any other debian derivative.

Читайте также:  Sftp передать файл linux

+1: I’ve verified that this gives the correct result when mounting an ext2 filesystem with mount -t ext4 . parted isn’t fooled by that.

While this is not the most upvoted answer, this is the one I actually use. Also I do not need to specify the device.

Because it is not the best answer: a partition might be grub-labeled as ext2 and contains ext4 filesystem (and then would be mounted as ext4 with mount -t auto )

Surprised this isn’t on here already. No sudo required:

@Flup I just tried it myself again and it worked perfectly without sudo. FSTYPE column was fully populated. May be some disparity between our systems?

@Flup — you must be using Debian/Ubuntu or derivatives. They’re famous for doing something (or maybe not doing something, I wouldn’t know) and the end result is you need root privileges to list some lsblk columns.

Still another way, since you know you’re running some flavor of ext? , is to look at the filesystem’s feature list:

# tune2fs -l /dev/sda1 | grep features 
  • extent — it’s ext4
  • no extent , but has_journal — it’s ext3
  • neither extent nor has_journal — it’s ext2

The parted and blkid answers are better if you want these heuristics run for you automatically. (They tell the difference with feature checks, too.) They can also identify non- ext? filesystems.

This method has the virtue of showing you the low-level differences.

The important thing to realize here is that these three filesystems are forwards compatible, and to some extent backwards-compatible, too. Later versions just add features on top of the older ones.

See the ext4 HOWTO for more information on this.

try using df -T see man df for more options still one more way I found is cfdisk

h3rrmiller removed his answer, so for those who don’t have the rep to see it now, the problem is that if you say mount -t ext4 on an ext2 filesystem, df -T reports ext4 . That is, it’s just reading what the mount table says, not looking at the filesystem metadata to figure this out.

@Warren: in a sense, all ext2 filesystems are also ext4 filesystems, yes. (But of course, not in the sense most people mean.)

use -T option to print file system type

[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 
 fdisk [options] -l list partition table(s) fdisk -s give partition size(s) in blocks fdisk [options] change partition table 

On what system? fdisk , on the system I’m using at the moment at least, only shows the partition type, not the filesystem type. That means not only can’t it tell the difference between ext2 , ext3 , and ext4 , it also can’t discern ReiserFS or XFS from these.

To get just the filesystem type with lsblk :

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

This didn’t show the BSD answer I was looking for. I had the impression these type bytes were actually contained in the partition table on the disk, not sure about that. There’s only type 85 for all Linux extfs types, but Linux doesn’t recognize OpenBSD’s A6 type at all either.

00 unused 20 Willowsoft 66 NetWare 386 A9 NetBSD 01 DOS FAT-12 24 NEC DOS 67 Novell AB MacOS X boot 02 XENIX / 27 Win Recovery 68 Novell AF MacOS X HFS+ 03 XENIX /usr 38 Theos 69 Novell B7 BSDI filesy* 04 DOS FAT-16 39 Plan 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 (old) C0 CTOS 07 NTFS 42 LinuxSwap DR 81 Minix (new) C1 DRDOSs FAT12 08 AIX fs 43 Linux DR 82 Linux swap C4 DRDOSs < 32M 09 AIX/Coherent 4D QNX 4.2 Pri 83 Linux files* C6 DRDOSs >=32M 0A OS/2 Bootmgr 4E QNX 4.2 Sec 84 OS/2 hidden 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 or SysV 8E Linux LVM E3 SpeedStor 10 OPUS 53 DM 93 Amoeba FS E4 SpeedStor 11 OS/2 hidden 54 Ontrack 94 Amoeba BBT EB BeOS/i386 12 Compaq Diag. 55 EZ-Drive 99 Mylex EE EFI GPT 14 OS/2 hidden 56 Golden Bow 9F BSDI EF EFI Sys 16 OS/2 hidden 5C Priam A0 NotebookSave F1 SpeedStor 17 OS/2 hidden 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 

If you’re in OpenBSD’s fdisk and you hit ? when it asks for partition type this is what you get. The types show when you’re editing or listing the partition table.

Читайте также:  Linux network interface static ip

Источник

7 Ways to Determine the File System Type in Linux (Ext2, Ext3 or Ext4)

A file system is the way in which files are named, stored, retrieved as well as updated on a storage disk or partition; the way files are organized on the disk.

A file system is divided in two segments called: User Data and Metadata (file name, time it was created, modified time, it’s size and location in the directory hierarchy etc).

In this guide, we will explain seven ways to identify your Linux file system type such as Ext2, Ext3, Ext4, BtrFS, GlusterFS plus many more.

1. Using df Command

df command reports file system disk space usage, to include the file system type on a particular disk partition, use the -T flag as below:

$ df -Th OR $ df -Th | grep "^/dev"

df Command - Find Filesystem Type

For a comprehensive guide for df command usage go through our articles:

2. Using fsck Command

fsck is used to check and optionally repair Linux file systems, it can also print the file system type on specified disk partitions.

The flag -N disables checking of file system for errors, it just shows what would be done (but all we need is the file system type):

$ fsck -N /dev/sda3 $ fsck -N /dev/sdb1

fsck - Print Linux Filesystem Type

3. Using lsblk Command

lsblk displays block devices, when used with the -f option, it prints file system type on partitions as well:

lsblk - Shows Linux Filesystem Type

4. Using mount Command

mount command is used to mount a file system in Linux, it can also be used to mount an ISO image, mount remote Linux filesystem and so much more.

Читайте также:  Открыть терминал linux горячие клавиши

When run without any arguments, it prints info about disk partitions including the file system type as below:

Mount - Show Filesystem Type in Linux

5. Using blkid Command

blkid command is used to find or print block device properties, simply specify the disk partition as an argument like so:

blkid - Find Filesystem Type

6. Using file Command

file command identifies file type, the -s flag enables reading of block or character files and -L enables following of symlinks:

file - Identifies Filesystem Type

7. Using fstab File

The /etc/fstab is a static file system info (such as mount point, file system type, mount options etc) file:

Fstab - Shows Linux Filesystem Type

That’s it! In this guide, we explained seven ways to identify your Linux file system type. Do you know of any method not mentioned here? Share it with us in the comments.

Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Delete Huge Files in Linux

Parted Command in Linux

TLDR Man Pages for Linux Commands

apt-get Command Examples

Ubuntu apt-cache Commands

apt Command Examples

15 thoughts on “7 Ways to Determine the File System Type in Linux (Ext2, Ext3 or Ext4)”

will create a ext2 filesystem on image1, if its not big enough (warning “Filesystem too small for a journal” means a filesystem without a journal, a.k.a. ext2, is created) If you don’t realize this and nevertheless mount it as ext4. The df and mount methods above will mirror back ext4:

$ df -Th /tmp/mnt* Filesystem Type Size Used Avail Use% Mounted on /dev/loop4 ext4 1003K 24K 908K 3% /tmp/mnt1 /dev/loop5 ext4 987K 33K 812K 4% /tmp/mnt2 $ mount | grep mnt . /home/mallikab/image1 on /tmp/mnt1 type ext4 (rw,relatime,seclabel) /home/mallikab/image2 on /tmp/mnt2 type ext4 (rw,relatime,seclabel,data=ordered)
$ fsck -N /tmp/mnt1 fsck from util-linux 2.23.2 [/sbin/fsck.ext2 (1) -- /tmp/mnt1] fsck.ext2 /tmp/mnt1 $ fsck -N /tmp/mnt2 fsck from util-linux 2.23.2 [/sbin/fsck.ext4 (1) -- /tmp/mnt2] fsck.ext4 /home/mallikab/image2 $ file -sL /home/mallikab/image2 /home/mallikab/image2: Linux rev 1.0 ext4 filesystem data, UUID=b4e8e086-54ca-4d9d-9f38-32bbed211e6b (needs journal recovery) (extents) (64bit) (huge files) $ file -sL /home/mallikab/image1 /home/mallikab/image1: Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=09b3a8c9-0b6d-43c5-b195-c45f6c091765 (extents) (64bit) (huge files) hm, although fsck doesn't indicate ext2 unless the images are mounted, i.e. $ fsck -N ~/image1 fsck from util-linux 2.23.2 [/sbin/fsck.ext4 (1) -- /home/mallikab/image1] fsck.ext4 /home/mallikab/image1

The only working method for me was ‘ lsblk -f ‘; the other replied “fuseblk“, “HPFS/NTFS/exFAT” or nothing. Reply

Источник

Оцените статью
Adblock
detector