我只是格式化了东西。我将一张磁盘格式化为ext2。我想将另一个格式化为ext4。我想测试一下它们的表现。
现在,我如何知道分区中的文件系统类型?
我只是格式化了东西。我将一张磁盘格式化为ext2。我想将另一个格式化为ext4。我想测试一下它们的表现。
现在,我如何知道分区中的文件系统类型?
Answers:
如何判断文件中包含哪种数据(哪种数据格式)?
→使用file
实用程序。
在这里,您想知道设备文件中的数据格式,因此您需要传递-s
标志以告诉它file
不仅是在说设备设备文件,而且还要查看内容。-L
如果设备文件名是符号链接,有时还需要该标志。您将看到如下输出:
# 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
给定此示例输出,第一个磁盘具有一个分区,第二个磁盘具有两个分区。/dev/sda1
是ext4文件系统,/dev/sdb1
是ext2文件系统,并且/dev/sdb2
是一些交换空间(大约4GB)。
您必须以root用户身份运行此命令,因为普通用户可能无法直接读取磁盘分区:如果需要,请sudo
在前面添加。
$ sudo file /dev/sda1
,我得到/dev/sda1: block special
file -s /dev/sd*
- sudo
前面是sudo file -s /dev/sd*
。
file -sL /dev/mapper/foo-bar
使用-L
来取消引用符号链接的标志。
另一种选择是使用blkid
:
$ blkid /dev/sda1
/dev/sda1: UUID="625fa1fa-2785-4abc-a15a-bfcc498139d1" TYPE="ext2"
这可以识别大多数文件系统类型和诸如加密分区之类的东西。
您还可以搜索给定类型的分区:
# blkid -t TYPE=ext2
/dev/sda1: UUID="625fa1fa-2785-4abc-a15a-bfcc498139d1" TYPE="ext2"
/dev/sdb1: UUID="b80153f4-92a1-473f-b7f6-80e601ae21ac" TYPE="ext2"
ext2
挂载文件系统时,此操作可提供正确的结果mount -t ext4
。blkid
不被那个愚弄。
您可以使用 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)
sudo apt-get install parted
(或gparted
)就可以得到它。
ext2
挂载文件系统时,此操作可提供正确的结果mount -t ext4
。parted
不被那个愚弄。
mount -t auto
)
还有一种方法,因为您知道您正在运行某种形式的ext?
,所以请查看文件系统的功能列表:
# tune2fs -l /dev/sda1 | grep features
如果在列表中看到:
extent
—是ext4extent
,但是has_journal
-是ext3extent
是has_journal
,它是ext2在parted
和blkid
,如果你想这些启发式自动为您运行的答案是更好的。(他们也通过功能检查来区分它们。)他们还可以识别非ext?
文件系统。
这种方法的优点是可以显示出低级差异。
在这里要意识到的重要一点是,这三个文件系统是前向兼容的,并且在某种程度上也是向后兼容的。更高版本仅在旧版本之上添加功能。
有关更多信息,请参见ext4 HOWTO。
尝试使用df -T
See man df
获得更多选项,我发现的另一种方法是cfdisk
mount
基于答案的缺点相同。
mount -t ext4
在ext2
文件系统上说,则df -T
报告ext4
。也就是说,它只是在读取安装表的内容,而不是通过查看文件系统元数据来解决这个问题。
惊讶的是这里还没有。不需要sudo
:
lsblk -f
sudo
该FSTYPE
列为空白。
lsblk
列。 。
fdisk -l
将列出
用法:
fdisk [options] -l <disk> list partition table(s)
fdisk -s <partition> give partition size(s) in blocks
fdisk [options] <disk> change partition table
fdisk
,至少在我目前使用的系统上,仅显示分区类型,而不显示文件系统类型。这意味着不仅不能把这件事告诉之间的区别ext2
,ext3
以及ext4
,它也无法辨别这些的ReiserFS或XFS。
这没有显示我正在寻找的BSD答案。我有印象,这些类型字节实际上包含在磁盘的分区表中,对此不确定。所有Linux extfs类型都只有85类型,但是Linux完全不能识别OpenBSD的A6类型。
> 00未使用的20 Willowsoft 66 NetWare 386 A9 NetBSD > 01 DOS FAT-12 24 NEC DOS 67 Novell AB MacOS X引导 > 02 XENIX / 27 Win Recovery 68 Novell AF MacOS X HFS + > 03 XENIX / usr 38 Theos 69 Novell B7 BSDI文件y * > 04 DOS FAT-16 39计划9 70 DiskSecure B8 BSDI交换 > 05扩展DOS 40 VENIX 286 75 PCIX BF Solaris > 06 DOS> 32MB 41 Lin / Minux DR 80 Minix(旧)C0 CTOS > 07 NTFS 42 LinuxSwap DR 81 Minix(新)C1 DRDOSs FAT12 > 08 AIX fs 43 Linux DR 82 Linux交换C4 DRDOS 09 AIX / Coherent 4D QNX 4.2 Pri 83 Linux文件* C6 DRDOS> = 32M > 0A OS / 2 Bootmgr 4E QNX 4.2秒84 OS / 2隐藏C7 HPFS无效 > 0B Win95 FAT-32 4F QNX 4.2 Ter 85 Linux ext。数据库CPM / C.DOS / C * > 0C Win95 FAT32L 50 DM 86 NT FAT VS DE戴尔维护 > 0E DOS FAT-16 51 DM 87 NTFS VS E1 SpeedStor > 0F扩展LBA 52 CP / M或SysV 8E Linux LVM E3 SpeedStor > 10 OPUS 53 DM 93变形虫FS E4 SpeedStor >隐藏11个OS / 2 54个Ontrack 94个Amoeba BBT EB BeOS / i386 > 12 Compaq诊断。55 EZ-Drive 99 Mylex EE EFI GPT >隐藏14 OS / 2 56 Golden Bow 9F BSDI EF EFI Sys > 16个OS / 2隐藏的5C Priam A0笔记本电脑保存F1 SpeedStor > 17 OS / 2隐藏61 SpeedStor A5 FreeBSD F2 DOS 3.3+秒 > 18 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
格式可能会被弄乱,它是一个宽70列的漂亮表格。如果您在OpenBSD的fdisk中,并且打了?当它要求分区类型时,这就是您得到的。类型在您编辑或列出分区表时显示。
维基百科上的分区类型:https://en.wikipedia.org/wiki/Partition_type