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

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

我刚买了一个 3TB 的 WD 绿色硬盘,但是当我尝试在 gparted 中进行分区时出现以下错误:

======================
libparted : 2.3
======================
partition length of 5860530176 sectors exceeds the msdos-partition-table-imposed maximum of 4294967295

当我尝试使用 Ubuntu“磁盘实用程序”时,出现类似的错误:

Error creating partition: helper exited with exit code 1: In part_add_partition: device_file=/dev/sdc, start=0, size=3000592982016, type=0x83
Entering MS-DOS parser (offset=0, size=3000592982016)
MSDOS_MAGIC found
looking at part 0 (offset 0, size 0, type 0x00)
new part entry
looking at part 1 (offset 0, size 0, type 0x00)
new part entry
looking at part 2 (offset 0, size 0, type 0x00)
new part entry
looking at part 3 (offset 0, size 0, type 0x00)
new part entry
Exiting MS-DOS parser
MSDOS partition table detected
containing partition table scheme = 0
got it
got disk
new partition
Error: partition length of 5860528002 sectors exceeds the msdos-partition-table-imposed maximum of 4294967295
ped_disk_add_partition() failed

答案1

个人电脑上使用的传统分区表格式包括一个 32 位字段,用于记录特定分区覆盖的扇区数。

使用 512 字节扇区,这会将最大分区大小设置为 2TB (512 * 2 32 )。

如果您需要大于 2TB 的分区,则需要使用磁盘的 GUID 分区表 (GPT) 格式对驱动器进行重新分区。如果您不尝试从这个新磁盘启动,则不太可能遇到任何兼容性问题。

使用 GParted,您可以进入设备->创建分区表并从列表中选择“gpt”来执行此操作。

答案2

为了补充 James Henstridge 对没有 gparted 的计算机的回答:您可以使用 parted 从命令行获得相同的结果。对于下面的示例,我使用驱动器名称sdX(尽管您的驱动器名称可能是 sdb、sdc 等)

sudo parted
(parted) select /dev/sdX
(parted) mklabel gpt
(parted) mkpart primary 0% 100%
(parted) quit
sudo mkfs.ext4 /dev/sdX1

答案3

您也可以使用gdisk。就我而言,它能够将具有现有分区和数据的磁盘从 MBR 转换为 GPT,保持所有内容完好无损。但是,YMMV。

您可以在ArchLinux 论坛。这个过程看起来是这样的:

$ sudo gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.5

Partition table scan:
 MBR: MBR only
 BSD: not present
 APM: not present
 GPT: not present

***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************

答案4

在 Ubuntu 12.04.4 上使用 +2TB 驱动器设置 RAID10。在 RAID1 中使用 120GB+ SDD 对进行引导和 2 个分区//home。它们将成为您的 md0 和 md1 设备。RAID10 设备将是/home/DATA/home/whateveryouwant。创建 MD 设备后,您可以使用 GPARTED 在 RAID10 设备上放置多个分区,并将每个设备安装到/home/whateveryouwant

脚步:

  1. 使用 GPARTED 将 >2TB 驱动器的分区表设置为 GPT。使用整个设备对所有驱动器进行 RAID10 分区,并使用一个 EXT4 分区。应用分区,然后打开 RAID 标志。
  2. 假设分区 sda1、sdb1、sdc1、sdd1 上有 4 +2TB 驱动器(任何数字都可以,其中 4、6、8 是最快的),使用:mdadm -v --create /dev/md2 --level=raid10 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
  3. 同步 raid 需要一段时间,因此请设置一个监视来等待 md0 完成。输入:watch -n30 cat /proc/mdstat
  4. 当突袭完成时重启
  5. 系统恢复后返回 GPARTED 并查找您的 md2。可能不在那里,但您会找到与组合驱动器空间的一半相匹配的 md126 或 md127 等。如果使用 4 个 3TB 分区,将显示大约 6TB(实际 12TB 的一半)。
  6. 将新的 md 设备(在我的情况下是 md127)并使用新的分区表定义为 GPT 应用它!
  7. 添加 1 个或多个分区作为 ext4。如果您愿意,可以不添加标志和标签。应用。
  8. 启动终端,输入:(fdisk -l如果您有 1 个分区,则应该有一个 md127 设备,其分区标记为 md127p1;如果您分配了超过 1 个,则标记为 md127p2 等)。
  9. 输入mkdir /home/DATA 或任何内容代替 DATA
  10. 用途:ls -l /dev/disk/by-uuid显示设备的 uuid,以便稍后将 md127p1 uuid 复制到 fstab 中
  11. 输入:mount -t ext4 /dev/md127p1 /home/DATA 然后输入:(ls -asl /home/DATA查看目录)应该只有一个条目:lost+found如果在那里你可以添加挂载到/etc/fstab 使用:gksudo gedit /etc/fstab

  12. 在交换行之前输入一行uuid=[uuid number for md127p1] /home/DATA ext4 defaults 0 2 (实际输入时没有括号,只需从终端显示复制 uuid 号码(来自第 10 行命令结果))使用Ctrl+C退出 gedit

  13. 用途:mount -a 挂载所有 fstab 设备

您现在有一个名为 /home/DATA 的非常大的 RAID10 驱动器。要使用它:它由 root 和组 root 拥有。要更改所有者使用: sudo chown youruserid /home/DATA 要更改组使用:sudo chgrp users /home/DATA

相关内容