我正在尝试修复 1 TB 硬盘上的分区表。我的实时磁盘上的 GParted 将该驱动器视为“2 TiB”... 它在外面清楚地标记为 1 TB。
我开始使用低级重新格式化dd
,但速度约为 290 Kbps。以这种速度格式化此驱动器大约需要 55 天。这不太可接受。我可以中止此操作并尝试其他方法吗?
该驱动器通过 USB 2.0 连接,并且dd
正在运行活动磁盘。我可以中止操作而不损坏硬盘吗?驱动器上没有数据,我想让它可用。
答案1
是的,你可以中止dd
。
只需转到正在运行的终端dd
并按Ctrl+ C。
堕胎dd
不会回滚就像之前一样,dd
开始将数据流写入磁盘。但这没问题,因为您不需要这样做。
如果您的目标只是清除磁盘上的所有分区并创建新的分区表,那么您可以在任何分区实用程序中执行此操作。它很快,因为它不会覆盖大部分磁盘。数据可能仍然可以恢复,但旧文件不会突然出现或类似情况。
(如果你做需要安全擦除磁盘,dd
可能不是足以满足这一点。
传统上,人们说“低级格式化”是指将新的分区表写入磁盘。实际上,还有另一种叫法,通常无法通过软件实现,而且还不涉及在整个磁盘上写入数据。(现代硬盘包含驱动器固件内部使用的某些数据结构。)dd
不会写入那些“低级”区域。
至于dd
首先促使您在驱动器上运行的问题,如果在 GParted 或其他实用程序中创建新的分区表不能解决问题并使磁盘大小正确显示,我怀疑dd
这种情况也不会改善。
驱动器可能存在(物理)问题,但我想知道您是否遇到了 GParted(或您使用的 GParted 版本)中的一些奇怪错误。fdisk
?(fdisk
远不如parted
或者gparted
,但您不需要移动或调整任何分区的大小,因此它应该足以完成任务。)
如果你还没有这样做,我还建议检查驱动器是否有故障指示器和缺陷。假设它支持聪明的(目前大多数驱动器都这样做),你可以使用smartctl
(也可以看看本指南)您可以使用badblocks
dd
,但考虑到运行时间,这可能需要很长时间。
答案2
测试gdisk
。
它在 Ubuntu Trusty Tahr 14.04.1 Live Iso 中可用。
打开一个终端。
执行:
sudo su
gdisk /dev/sd?
该gdisk
程序采用与 Linux 类似的用户界面fdisk
,但gdisk
会修改 GPT 分区。它还具有将 MBR 分区或 BSD 磁盘标签转换为 GPT 分区的功能。与原始fdisk
程序一样,gdisk
它不会修改磁盘结构,直到您明确将其写入磁盘,因此如果您犯了错误,您可以退出程序并选择q
不修改分区。
创建新的分区表时,可能需要考虑以下几点:
对于数据盘,以及基于 BIOS 的计算机上以 GRUB 作为引导加载程序的启动盘,可以按照任意顺序和大小创建分区。
基于 EFI 的系统的启动盘需要格式化为 FAT-32 的EFI 系统分区(
gdisk
内部代码)。0xEF00
一些基于 BIOS 的系统的引导加载程序使用 BIOS 引导分区(
gdisk
内部代码0xEF02
),其中存储了辅助引导加载程序,可能没有文件系统的帮助。如果 Windows 要从 GPT 磁盘启动,建议使用Microsoft 保留(
gdisk
内部代码)类型的分区。此分区的大小应约为 128 MiB。它通常位于 EFI 系统分区之后,紧接在 Windows 数据分区之前。0x0C01
某些操作系统的 GPT 实用程序会在每个分区后创建一些空白空间(通常为 128 MiB)。目的是使将来的磁盘实用程序能够使用这些空间。GPT 磁盘不需要这样的可用空间,但创建它可能有助于将来的磁盘维护。
选项:
-l List the partition table for the specified device and then exits.
b Save partition data to a backup file.
c Change the GPT name of a partition.
d Delete a partition.
i Show detailed partition information.
l Display a summary of partition types.
n Create a new partition.
o Clear out all partition data.
p Display basic partition summary data.
q Quit from the program without saving your changes.
r Enter the recovery & transformation menu.
s Sort partition entries.
t Change a single partition's type code.
v Verify disk.
w Write data.
? Print the menu.