我们有带有磁盘的VM机器,如sdb、sdc、sdd等。
我们在sdb磁盘上创建ext4文件系统如下
mkfs.ext4 -j -m 0 /dev/sdb -F
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 1048576 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done现在,我们希望检查文件系统类型如下
lsblk -o NAME,FSTYPE | grep sdb
sdb但是我们应该得到以下预期的结果
lsblk -o NAME,FSTYPE | grep sdb
sdb ext4我们不明白为什么在磁盘上创建sdb或sdc等ext4文件系统之后,就不能得到文件系统类型- ext4。
发布于 2021-03-29 10:06:56
lsblk使用UDev数据库获取有关文件系统的信息,因此如果不显示文件系统类型,UDev可能有问题。要检查UDev对设备的了解,请使用udevadm info /dev/sdb并查找ID_FS_TYPE密钥。
您的设备上的UDev也可能太慢,而且数据库中的值还没有更新,因此lsblk打印“旧”值,即“没有文件系统”。您可以在运行udevadm settle之前尝试运行lsblk。
或者,您可以使用sudo blkid -p /dev/sdb (或sudo blkid -p /dev/sdb -s TYPE -o value只打印文件系统类型值)。blkid with -p选项实际上读取设备的元数据区域(这就是它需要sudo的原因),所以信息总是正确的/最新的。
https://unix.stackexchange.com/questions/642598
复制相似问题