Gpt
“parted”如何知道 GPT 分區的文件系統類型?
parted
實用程序以某種方式檢測到我的 GPT 磁碟分區上的文件系統:我猜它不會根據分區類型程式碼(在
gdisk
輸出中看到)來執行此操作,因為對於分區 1、5、6、7 和例如 /dev/sda2 的 ef(EFI) 將是 27(隱藏 NTFS Win)但是在parted
輸出中列出了明顯不同的文件系統。
它查看分區上的數據,類似於
file -s /dev/partition
。如果你strace
是它,你應該看到這樣的事情:lseek(3, 1048576, SEEK_SET) = 1048576 read(3, "\353<\220mkfs.fat\0\2\10..., 512) = 512
尋找位置
1048576
(1 MiB 或 2048 個扇區)在分區表之外(它是第一個分區的開始),它從那裡讀取,因此它查看的不僅僅是分區表本身。它還查看
/proc/mounts
,因此它也可以從那裡收集資訊。我看不到它在做什麼blkid
。顯示的文件系統資訊
parted
不是很準確,上面的範例顯示為 FAT 文件系統,但它實際上被用作 MD-RAID / LUKS / LVM。MD-RAID 的元數據從一開始就是 4k,因此第一個 4k 中的舊 FAT 標頭可能會保留下來,並會混淆啟發式算法,如file
orparted
…