创建分区以创建文件系统是很常见的。
现代 Linuxfdisk
会自动进行块对齐,从扇区 开始分区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
?如果是这样,是否意味着它默认对齐?
答案1
是的,它将与块 0 对齐,就像在 /dev/nvme1n1p1 上创建文件系统时总是发生的那样,它从 nvme1n1p1 设备的块 0 开始。这里的分区只是创建指向设备 nvme1n1 上有限空间的 nvme1n1p1 设备的方法。
在您的示例中,您有两个设备 - nvme1n1(10485760 个扇区)和 nvme1n1p1(10483712 个扇区),并且没有实用程序会将 nvme1n1p1 视为 nvme1n1 的一部分。
无论如何 - 在整个驱动器上创建分区是一种非常糟糕的做法。分区表不仅适合分割驱动器,还适合标记驱动器。在最坏的情况下,可能需要恢复文件系统,而您甚至不知道那里有什么。分区表被删除了吗?或者可能是整个驱动器包含文件系统?是 Linux 还是 BSD 还是 Windows?分区表可以提供一些线索。
正如 Stefan 所说,直接在磁盘阵列切片或 iSCSI 节点上创建文件系统很常见。这样做通常是因为它们有自己的标识,而且可能有太多标识,因此创建分区变得毫无意义。