无分区的文件系统

无分区的文件系统

创建分区以创建文件系统是很常见的。
现代 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 节点上创建文件系统很常见。这样做通常是因为它们有自己的标识,而且可能有太多标识,因此创建分区变得毫无意义。

相关内容