无法在 Fdisk 中获取完整驱动器容量

无法在 Fdisk 中获取完整驱动器容量

因此,我最近为我的 Linux 服务器购买了 4 TB 的 WD Red,现在正尝试对其进行分区以供使用。我已经遇到了 2TB 的限制挑战,为了方便起见,我决定只设置两个低于限制的分区。但是,我很难让两个分区的总大小接近磁盘的大小。

我创建了我的第一个+2000GB 的分区,并且它创建了以下分区...

Disk /dev/sdb: 4000.8 GB, 4000787030016 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048  3906252047  1953125000   83  Linux

但是,当我尝试使用任何剩余的块创建第二个分区时(我使用 fsdisk 中的默认值作为第二个分区),它只能在 185GB 的区域中创建一个分区...

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048  3906252047  1953125000   83  Linux
/dev/sdb2      3906252048  4294967294   194357623+  83  Linux

这基本上只是我的lsblk......

sdb       8:16   0   3.7T  0 disk  
├─sdb1    8:17   0   1.8T  0 part  
└─sdb2    8:18   0 185.4G  0 part  

我确信我肯定做错了什么,但即使在互联网上搜索,我也很难找出问题所在。看起来我仍然被限制在 2TB 上,但我不确定这是否是我的问题。请提供一些指点,我将不胜感激。

谢谢。

答案1

不要在具有超过 2^32 个扇区(2TiB,假设 512 字节逻辑扇区)的磁盘上使用 MBR!

MBR 使用 32 位扇区指针,因此任何超过 2^32 个扇区的东西都与 MBR 不兼容——或者至少,MBR 最多有 2^32 个扇区,所以正如您所发现的,您将无法使用磁盘的全部容量。有一些黑客变通方法可用于将容量提高到大约两倍,但它们不可靠,尤其是当磁盘要跨多个操作系统使用时。(顺便说一句,您似乎混淆了 TB 和 TiB;它们不一样。请参阅这一页了解详情。

相反,使用GUID 分区表对磁盘进行分区。您可以使用 GPT fdisk(gdisk、、sgdiskcgdisk)或大多数基于 libparted 的工具(parted、GParted 等)来执行此操作。的最新版本fdisk也支持 GPT,但 Ubuntu 14.04 尚未提供该版本。(我认为较新的非 LTS 版本之一提供了该版本,但我不记得它是在 Ubuntu 版本中引入的。)GPT fdisk 是一个以 为模型的 GPT 特定工具fdisk,因此默认使用 GPT。其他工具需要显式命令来使用 GPT 而不是 MBR。

如果你打算从磁盘启动,你应该从 BIOS 模式切换到 EFI 模式启动(如果你的计算机支持)或添加BIOS 启动分区到磁盘。前一种方法还需要EFI 系统分区 (ESP)。如果您的计算机支持该选项,最好切换到 EFI 模式启动。如果您不是从磁盘启动,则无需担心这一点;只需进行分区并根据需要使用它即可。

相关内容