磁盘实用程序在硬盘分区期间崩溃(16.04 LTS)

磁盘实用程序在硬盘分区期间崩溃(16.04 LTS)

我有一个 4TB 的内置硬盘,我想对它进行分区以便挂载它。我首先使用磁盘实用程序格式化磁盘。然后我尝试在磁盘上创建一个分区。前几次我尝试实用程序退出,然后出现一个弹出框,提示 Ubuntu 出现内部错误。每次尝试失败后,我都尝试重新启动我的机器。实用程序仍然崩溃,但现在我不再收到错误消息。

我正在运行 Ubuntu 16.04 LTS,尽管我已将默认 gcc 版本从 16.04 自带的版本升级到 6.3。我应该采取哪些步骤来正确分区和安装此驱动器?有没有办法绕过使用磁盘?谢谢!

答案1

我想到两种可能性(它们可能会相互作用):

  • 磁盘工具错误-- 磁盘实用程序可能存在错误,特别是对于大小超过 2 TiB 的磁盘。这是一个重要的边界点,因为它有 2^32 个扇区,这意味着您需要一个超过 32 位的整数来存储磁盘的大小、填满磁盘的分区的终点等等。如果磁盘实用程序中的代码使用 32 位整数来保存扇区值,那么在大小超过 2 TiB 的磁盘上,它会出现错误,并可能导致程序崩溃。
  • 分区表类型错误-- 32 位限制也意味着旧的主引导记录 (MBR)分区表类型不适合大小超过 2 TiB 的磁盘。不过,MBR 是某些工具的默认设置,有些工具无法处理较新的GUID 分区表 (GPT),这是最常用于 2 TiB 以上磁盘的分区方法。如果磁盘实用程序设置了 MBR 分区表,然后尝试创建超过 2 TiB 的分区,这肯定会失败,并且可能会导致程序崩溃。

尽管磁盘实用程序(又名 Palimpsest)似乎是显而易见的分区工具,但大多数 Ubuntu 用户更喜欢使用其他工具,例如:

  • 分区-- 这是一个 GUI 工具,通常是进行 GUI 分区或调整现有分区大小时必备的工具。它支持 MBR 和 GPT 分区,但如果您从空磁盘开始,则可能需要明确告诉它创建 GPT 数据结构以使用 GPT。
  • parted-- GParted 基于一个名为 libparted 的库,parted是一个使用相同库的更简单的文本模式工具。虽然parted无法调整文件系统大小,并且不如 GParted 易于使用,但它仍然很常用,尤其是在首选文本模式工具时。与 GParted 不同,它parted不支持在分区中创建文件系统;为此,您可以使用其他文本模式工具,例如mkfs
  • GPT磁盘-- 这是我编写的一系列文本模式分区工具(gdisksgdisk和)。它们是专门为在 GPT 磁盘上使用而设计的,特别是,它比我所知道的任何其他工具都能更好地控制 GPT 数据结构。不同寻常的是,GPT fdisk 会自动将磁盘从 MBR 转换为 GPT 格式,这很方便(但如果您在不了解自己在做什么的情况下使用它,也会导致麻烦)。与 一样,GPT fdisk 专门在分区表数据结构上工作;您必须使用或其他工具来创建或操作文件系统。cgdiskgdiskpartedmkfs
  • fdisk-- 此工具及其同类工具(sfdiskcfdisk)最初支持 MBR 和一些其他鲜为人知的分区表类型。它最近已更新以支持 GPT;Ubuntu 16.04 随附的版本支持 GPT。与parted和 GPT fdisk 一样,fdisk需要使用其他工具来创建或操作文件系统。请注意,gdiskcgdisk用户界面分别模仿fdisk和的用户界面cfdisk。(我在获得 GPT 功能之前就编写了 GPT fdisk fdisk。)

此时,我建议您使用 GParted 或 GPT fdisk 检查您的配置。具体来说,您可以使用 选项检查分区表的有效性sgdisk-v如下所示:

$ sudo sgdisk -v /dev/sda

No problems found. 6 free sectors (3.0 KiB) available in 1
segments, the largest of which is 6 (3.0 KiB) in size.

这将告诉您分区表是否存在任何问题/dev/sda(根据需要更改该详细信息)以及未分配的空间量。(此示例显示未分配的空间只有 3 KiB,但这非常小。大多数磁盘至少有 1-2 MiB 未分配。)如果sgdisk显示磁盘有许多 GiB 甚至 TiB 未分配,则说明出现了问题 - 也许磁盘已准备好作为 MBR 磁盘。gdisk -l /dev/sdaparted /dev/sda print输出将分别以各自的方式显示磁盘使用的分区表类型。例如,输出parted将包含以下内容:

Partition Table: gpt

如果该行显示msdos而不是gpt,则表示磁盘使用 MBR。在这种情况下,您可能需要使用gdisk,并将更改写回,以从 MBR 转换为 GPT。然后,您可以使用 GParted 扩展现有分区。不过,我不建议在不阅读该过程或提供更多配置详细信息并征求建议的情况下执行此操作,因为尝试执行此操作很容易陷入非常严重的麻烦。对于初学者,请参阅GPT fdisk 页面上有关 MBR 到 GPT 转换的信息。

相关内容