如何检测ext4类型分区(而非ext4文件系统)?
如何检测ext4类型分区(而非ext4文件系统)?
嗨,我完全懂你的需求:你要区分的是分区本身被标记为ext4类型,而不是分区上实际格式化的ext4文件系统——毕竟你是想验证当初创建分区时,是用了带ext4参数的parted命令,还是没加参数的版本,对吧?
先给你划个重点:ext4对应的GPT分区类型UUID是固定的:0FC63DAF-8483-4772-8E79-3D69D8477DE4,所有通过parted指定ext4创建的分区,都会被标记这个类型UUID,我们就靠它来检测。
下面给你几个实用的检测方法:
方法一:用fdisk看扩展分区信息(最直观)
运行这个命令可以直接拿到分区的类型UUID和对应分区的标识:
sudo fdisk -x
输出里会有专门的区块展示类型UUID和分区UUID的对应关系,比如:
Type-UUID UUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4 00431BD0-1286-4A11-BFCA-8E76CC88C97F
只要看到Type-UUID是上面那个固定值,就说明对应的分区是被标记为ext4类型的。
方法二:用blkid快速筛选目标分区
如果你想针对某个具体分区(比如/dev/sdb1)快速验证,可以直接过滤它的PARTTYPE字段:
sudo blkid /dev/sdb1 | grep 'PARTTYPE="0fc63daf-8483-4772-8e79-3d69d8477de4"'
如果命令有输出,就证明这个分区是ext4类型的;没有输出就是没标记ext4类型的普通主分区。
方法三:直接用parted看分区类型
毕竟你是用parted创建的分区,用它自己的命令查看最直接:
sudo parted -l
在输出里找到目标分区的行,看Type列的内容:
- 如果显示
ext4,就是你用cmd1(带ext4参数)创建的分区; - 如果只显示
primary,就是用cmd2(没加参数)创建的普通主分区。
举个parted输出的例子:
Number Start End Size File system Name Type 1 1049kB 200GB 200GB ext4 primary ext4
这里的Type列明确标了ext4,完全符合你的检测需求。
备注:内容来源于stack exchange,提问作者joseph22
相关产品推荐
相关产品推荐

