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