由于msdos-partition-table强加的错误导致无法创建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 

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

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

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

使用GParted,您可以通过进入设备 – >创建分区表并从列表中选择“gpt”来完成此操作。

为了补充James Henstridge对计算机w / out 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 

您也可以使用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! *************************************************************** 

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

脚步:

  1. 使用> 2TB驱动器的GPARTED设置分区表到GPT。 使用整个设备为RAID10分配所有驱动器,并使用一个EXT4分区。 应用分区,然后设置RAID标志。
  2. 假设分区上有4 + 2TB驱动器sda1,sdb1,sdc1,sdd1(任何数字都可以使用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. 当raid完成RESTART时
  5. 系统返回时返回GPARTED并查找md2。 可能不存在,但你会发现md126或md127等匹配组合驱动器空间的一半。 如果使用4个3TB部分将显示大约6TB(实际12TB的一半)。
  6. 使用新的分区表定义新的md设备(在我的情况下为md127)作为GPT应用它!
  7. 添加1个或多个分区作为ext4。 如果你愿意,没有标志和标签。 应用。
  8. 启动终端,输入: fdisk -l (如果你有1个分区,你应该有md127设备,分区标记为md127p1,md127p2等…如果分配的数量超过1。
  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如果你可以添加mount到/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设备

你现在有一个非常大的RAID10驱动器在/ home / DATA中调用。 使用IT:它由root和group root拥有。 更改所有者使用: sudo chown youruserid /home/DATA更改组使用: sudo chgrp users /home/DATA