无法格式化硬盘和分区

无法格式化硬盘和分区

我记得前段时间在 Linux 中摆弄分区,当时我显然做错了什么,现在我似乎无法在 Windows 10 中格式化我的硬盘。在下面的屏幕截图中,您将看到我的 3TB 硬盘,其中我只能格式化 2TB,由于某种原因,我无法访问最后未分配的部分。

在此处输入图片描述

这里还显示了两个空的“驱动器”,实际上是一个 2TB 的硬盘驱动器,我似乎无法以任何方式格式化或访问它。

在此处输入图片描述

当我陷入这种无法使用 Windows 磁盘管理实用程序格式化硬盘的困境时,我可以尝试哪些好方法才能再次使用硬盘?是否有任何好方法可以诊断可能的硬盘硬件问题?

两个硬盘都是通过 SATA 电缆连接的内部磁盘驱动器。

答案1

对于第一个磁盘(3TB,但您只能使用其中的 2TB),这是 MBR(主引导记录)磁盘的限制。就像 FAT32 只能存储最大 4GB 的文件一样,MBR 在其分区表中最多只能处理 2^32-1 个扇区,每个扇区为 512 字节(40 亿 * 0.5 千 = 2 万亿 = 2TB)。您需要将磁盘转换为 GPT(GUID 分区表)磁盘才能使用剩余空间。它应该是那样的,但也许 Linux 将其转换回了 MBR;我最近在 GNU Parted 中发现了一些与 GPT 磁盘相关的错误。Windows 上的磁盘管理可以将 MBR 磁盘转换为 GPT,但您可能需要先删除所有分区(这意味着您将丢失磁盘上未先备份的所有数据)。

对于另一个磁盘,我真的不知道那里发生了什么。我会检查 BIOS/UEFI 是否可以看到该磁盘,并将其报告为健康;如果可以,我会检查另一台计算机是否可以访问它。您也可以尝试检查 Windows 命令行工具diskpart以查看它的内容 -list disk然后选择并检查磁盘的详细信息 - 但我不太确定那里的问题是什么。

答案2

首先,没有空间的两个设备是某种读卡器,很可能安装在机箱前面板上并通过 USB 内部连接,不要介意它们。
现在来看看你的硬盘:

正如@CBHacking 的回答中提到的,你需要将磁盘从 MBR 转换为 GPT。这可以做到没有丢失数据。尽管该过程相当安全,但您应该(一如既往)获取数据备份。
转换时不丢失数据是可能的,因为:

  • MBR效率不够高
  • 使用完全相同的参数重新创建分区将导致文件系统完全重新出现

当 MBR 写入硬盘时,其大小很可能为 2048s,这是目前 MBR 的标准大小,或者当您使用非常非常旧的工具格式化驱动器时,其大小为 63s。但是,由于 GPT 仅使用扇区 1 到 33,因此在两种情况下都有足够的空间容纳 GPT。
我知道的最简单的方法(之前使用过)如下:
启动带有 gdisk 的 Linux Live CD芬尼克斯例如)并识别您的磁盘。您可以执行以下操作:

$ ls /dev/disk/by-id/

这给了我一个例子

ata-Samsung_SSD_850_PRO_1TB_[序列号]

返回。用这种方法识别您的硬盘。现在您必须启动 gdisk 并将您的硬盘指定为参数。例如:

如果你已经是 root 用户,则可能需要放弃 sudo

$ sudo gdisk /dev/disk/by-id/ata-Samsung_SSD_850_PRO_1TB_[序列号]

放下任何-第1部分-第2部分ETC。(您可以使用 TAB 键自动完成)
此后你应该看到类似这样的内容:

GPT fdisk (gdisk) 版本 0.8.5

分区表扫描:
MBR:仅 MBR
BSD:不存在
APM:不存在
GPT:不存在

********************************************************************
发现无效的 GPT 和有效的 MBR;将 MBR 转换为 GPT 格式。
此操作可能具有破坏性!如果您不想将 MBR 分区转换为 GPT 格式,请输入“q”退出!
*******************************************************************

不用担心,目前还没有任何东西写入你的硬盘。你现在应该通过按n。使用默认分区号并按回车键。现在你必须输入第一个扇区,即三十四(因为 GTP 本身以 33 结尾)并再次按 Enter。现在需要最后一个扇区,即2047(因为你的第一个数据分区从 2048 开始),再次按 Enter。现在 gdisk 想知道分区的类型,它是具有十六进制代码的 Bios 启动分区ef02您必须输入并再次按回车键。
当您看到

将分区类型更改为“BIOS 启动分区”

输入 s 并再次按 Enter 键对分区 ID 进行排序。
如果您认为操作有误,可以按 q 并按 Enter 键,而无需将任何内容写入硬盘并重新开始。如果您认为一切正常,可以按 w 并按 Enter 键,这样就可以退出程序,如下所示:

最终检查完成。即将写入 GPT 数据。这将覆盖
现有分区!!

是否要继续?(Y/N): y 确定;正在将新的 GUID 分区表 (GPT) 写入 。
警告:内核仍在使用旧分区表。
下次重新启动时将使用新表。
操作已成功完成。

您现在可以重新启动,并且应该能够在 Windows 中根据需要重新调整分区大小(尽管您也可以使用 gdisk 来执行此操作)。

你应该可以出发了。玩得开心!

了解更多背景信息。

相关内容