Linux
沒有分區的文件系統
為了創建文件系統而創建分區是很常見的。
現代 Linux
fdisk
會自動進行塊對齊,從扇區開始分區2048
。在這種情況下,文件系統也將從扇區開始
2048
。下面只是一個例子。fdisk -l /dev/nvme1n1 Disk /dev/nvme1n1: 5 GiB, 5368709120 bytes, 10485760 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xc14701c1 Device Boot Start End Sectors Size Id Type /dev/nvme1n1p1 2048 10485759 10483712 5G 83 Linux
但也可以直接在設備上創建文件系統,無需任何分區。
在這種情況下,文件系統將在哪個塊中啟動?
它會從扇區開始
0
嗎?如果是這樣,是否意味著它預設對齊?
是的,它將與塊 0 對齊,因為它總是在 /dev/nvme1n1p1 上創建文件系統時發生,並且它從 nvme1n1p1 設備的塊 0 開始。這裡的分區只是創建指向設備 nvme1n1 上有限空間的 nvme1n1p1 設備的方法。
在您的範例中,您有兩個設備 - nvme1n1(10485760 扇區)和 nvme1n1p1(10483712 扇區),沒有實用程序甚至會將 nvme1n1p1 視為 nvme1n1 的一部分。
無論如何 - 這是在整個驅動器上創建分區的非常糟糕的做法。分區表不僅適用於分割驅動器,也適用於標記它們。在最壞的情況下,可能需要恢復文件系統,而您甚至不知道那裡有什麼。那個分區表被刪除了嗎?或者也許那是包含文件系統的整個驅動器?是 Linux 還是 BSD 還是 Windows?分區表可以提供一點線索。
正如 Stefan 所說,直接在磁碟陣列切片或 iSCSI 節點上創建文件系統很常見。這樣做通常是因為它們有自己的標識,而且可能有太多的標識,因此創建分區變得毫無意義。