起始扇区号 4532393984 超出了 msdos-partition-table 规定的最大值

起始扇区号 4532393984 超出了 msdos-partition-table 规定的最大值

我意识到在 Ubuntu 上使用 3TB 硬盘可能会出现问题:

由于 msdos-partition-table-imposed 错误,无法创建 3TB ext4 分区

我读了这里给出的答案,但仍然不确定,而且这个答案已经有几年了。

我尝试安装的可用空间分区是 1.8T,那么这是否仍会导致同样的问题,因为它低于问题开始的 2TB 限制(请参阅上面 James Henstridge 的回答)?

我正在尝试创建一台双启动机器,其中已经安装了 Windows 10,我已经创建了根分区,如下所示:

https://itsfoss.com/install-ubuntu-1404-dual-boot-mode-windows-8-81-uefi/

但是,当我尝试添加交换分区时出现上述错误。

如果这是同样的问题,我希望有人能帮我完成重新分区骰子的整个过程,因为我真的不太明白上面的答案。

答案1

使用 MSDOS/MBR 分区表,分区主要由两个数字定义:大小和偏移量。

两者都是 32 位无符号整数,因此它们可以容纳的最大值是 2 32。这些数字使用的单位是扇区,通常大小为 512 字节。这意味着,分区的最大大小以及最大偏移量/起始地址都必须低于 2 32 ×512 字节,相当于 2TB。

因此,如果您总共有 3TB,并且前 1.8GB 被 Windows 占用,您仍然可以很好地创建另一个偏移量为 1.8TB 的分区,就像您对 Ubuntu 根分区所做的那样。剩余空间无论如何都小于 2TB,因此大小不会成为限制。但是,如果我们说我们希望根分区占用除交换分区以外的所有剩余空间,则该交换分区的偏移量将远远超出 2TB 范围,因此不受支持。

您现在有几种选择:

  • 在 Ubuntu 根分区之前创建交换分区,如下所示:

       0GB - 1800GB  Windows (or whatever)
    1800GB - 1808GB  Ubuntu Swap
    1808GB - 3072GB  Ubuntu /
    

    这样,所有起始偏移量都将低于 2TB 的限制。

  • 根本不要创建交换分区,而是使用交换文件。该过程描述如下系统安装后如何添加交换分区?

  • 使用 GPT 代替旧的 MSDOS/MBR 分区表。不过,这需要使用 Windows 转换现有磁盘。这个过程可能并不简单,而且总是存在出错的风险,导致您丢失所有数据...

相关内容