Linux
lsblk + 文件系統類型未從 lsblk 中出現
我們有磁碟為 sdb sdc sdd 等的 VM 機器
我們在 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
我們不明白為什麼在我們的磁碟上創建 ext4 文件系統作為 sdb 或 sdc 等之後,我們沒有得到文件系統類型 - ext4
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
),因此資訊將始終正確/最新。