為什麼 parted 在創建分區時需要文件系統類型,它的操作與 mkfs.ext4 之類的實用程序有何不同?
我正在對磁碟進行分區,目的是在分區上有一個 ext4 文件系統。我正在關註一個教程,該教程表明需要指定 ext4 文件系統有兩個單獨的步驟。第一個是在創建分區時通過parted:
sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
第二個是 mkfs.ext4 實用程序,它自己創建文件系統:
sudo mkfs.ext4 -L datapartition /dev/sda1
我的問題是:這些工具到底在做什麼?為什麼創建分區時需要 ext4?我會認為分區本身的定義在某種程度上獨立於組成文件系統。
(我正在關注的教程在這裡:https ://www.digitalocean.com/community/tutorials/how-to-partition-and-format-storage-devices-in-linux )
一個分區可以有一個類型。分區類型是一個提示,如“此分區被指定用於某種功能”。許多分區類型與某些文件系統相關聯,儘管這種關聯並不總是嚴格或明確的。您可以期望 0x07 類型的分區具有 Microsoft 兼容的文件系統(例如 FAT、NTFS 或 exFAT),而 0x83 類型的分區具有本機 Linux 文件系統(例如 ext2/3/4)。
文件系統的創建確實是一個完全獨立且正交的步驟(您可以將任何文件系統放在任何您想要的地方——只是不要期望事情開箱即用)。
parted
將分區定義為“整個磁碟的一部分”。它實際上不需要知道分區類型(參數是可選的)。然而,在使用中,如果分區類型未正確提示文件系統,則文件系統的自動檢測和此後的自動掛載可能無法正常工作。分區是嚴格線性的儲存空間。
mkfs.ext4
及其變體創建文件系統,因此您可以擁有實際的目錄樹,您可以在其中方便地儲存命名文件。