如何消除在 GPT 布局硬盘上安装 12.04 时最多 16 个分区的限制

如何消除在 GPT 布局硬盘上安装 12.04 时最多 16 个分区的限制

当我使用 Gparted(来自 12.04 安装介质)对 HDD 进行分区时,尝试格式化名为 sda16 的分区时遇到错误。错误消息如下:

mkdosfs: Device partition expected, not making filesystem on entire device '/dev/sda16' (use -l to override)

我可以看到 sda16 存在于 /dev 中。(ls -l sda*(显示选定的输出))

brw-rw---- 1 root disk   8, 15 Sep 26 15:05 sda15
brw-rw---- 1 root disk 259,  0 Sep 26 15:05 sda16
brw-rw---- 1 root disk   8,  2 Sep 26 15:05 sda2

奇怪的区别是,所有分区都是 8,除了 sda16 标记为 259。

我认为这是 Ubuntu 在某处设置的人为限制,因为根据维基百科,GPT 可以有大约 128 个分区。

谢谢。

更新

在得到第一个答案后,我尝试在 sda16 后添加更多分区,并且没有任何问题。然后我还注意到 sda 和 sda16 的第二个数字都是 0(零)。这可能是它认为正在覆盖分区表的原因,正如 David Foerster 所建议的那样。

brw-rw---- 1 root disk   8,  0 Sep 26 16:32 sda
brw-rw---- 1 root disk   8,  1 Sep 26 16:32 sda1
brw-rw---- 1 root disk   8, 10 Sep 26 16:32 sda10
brw-rw---- 1 root disk   8, 11 Sep 26 16:32 sda11
brw-rw---- 1 root disk   8, 12 Sep 26 16:32 sda12
brw-rw---- 1 root disk   8, 13 Sep 26 16:32 sda13
brw-rw---- 1 root disk   8, 14 Sep 26 15:05 sda14
brw-rw---- 1 root disk   8, 15 Sep 26 16:32 sda15
brw-rw---- 1 root disk 259,  0 Sep 26 16:32 sda16
brw-rw---- 1 root disk 259,  1 Sep 26 16:32 sda17
brw-rw---- 1 root disk 259,  2 Sep 26 16:32 sda18
brw-rw---- 1 root disk   8,  2 Sep 26 15:05 sda2

不能回答问题,但这是我发现的:

事实上只有 sda16 有问题。在 Ubuntu 12.04 Gparted 中可以创建和格式化更高的数字,而不会出现问题。

此问题由设计导致。首先,ls -l 输出中的数字含义:它们是主设备号、次设备号对。因此,此处的 8、10 指的是 sda10。这些数字的用法在 kernel.org 中集中指定,具体如下:设备文本

简单来说:主编号指定设备的类型,次编号是“id”。主编号 3 是针对 IDE 设备的,8 是针对 SCSI 设备的。对于 HDD 设备:次编号 0 代表完整的 HDD,后面的数字是各个分区。

此外,根据设备文本,SCSI HDD 最多应该有 15 个分区。我猜如果超过 15,主编号可能会扩展到 259。如您所见,sda16 的数字组合是 259,0。根据设备文本,此组合标识整个 HDD。这就是它抛出分区表错误的原因。

我认为,为了安全起见,我不应该使用以 0(零)结尾的 HDD 设备数字组合。由于其他软件可能使用相同的规范,因此以后也可能会造成后果。

我相信一个 GPT 布局 HDD 最多可以有 2 x 15 个分区。

答案1

正如问题的作者指出的那样,磁盘和磁盘的第 16 个分区的次设备号为 0(来源)与我们所知道的相反,mkdosfs 似乎认为,所有次要编号为 0 的设备都是磁盘。

我的结论是,通常可以安全地覆盖该安全措施-l并格式化第 16 个分区,尽管其他工具也可能会抱怨。

相关内容