我可以取消dd命令并重新构建分区表吗?

我正在尝试修复一个1TB硬盘上的分区表。我的live disk上的GParted将该驱动器识别为"2 TiB"...但外部标签明确写着1TB。
我使用dd开始了一个低级重新格式化,但速度只有大约290 Kbps。以这个速度格式化这个驱动器需要大约55天的时间。显然这是不可接受的。我能中止操作并尝试其他方法吗?
该驱动器通过USB 2.0连接,dd正在从live disk上运行。我能在不损坏硬盘的情况下中止操作吗?该驱动器上没有数据,我想让它可以使用。

此外,dd 速度慢的原因是因为您没有指定块大小。加上 bs=1M(或者10M),应该能够大大提高速度,并将所需时间缩短到几个小时这样更合理的范围。 - user249743
2个回答

是的,你可以中止 dd

只需进入运行 dd 的终端,并按下 Ctrl+C

中止 dd 不会将事情恢复到 dd 开始向磁盘写入数据流之前的状态。但这没关系,因为你不需要那个。

如果你的目标只是清除磁盘上的所有分区并创建一个新的分区表,你可以在任何分区工具中完成。这很快,因为它不会覆盖大部分磁盘。数据可能仍然可恢复,但旧文件不会突然出现或类似的情况。

(如果你确实需要安全擦除磁盘,dd 可能不足够。)

写入新的分区表到磁盘通常是人们所说的“低级格式化”的意思。实际上,还有另一种被称为“低级格式化”的方式,通常无法通过软件实现,也不涉及在整个磁盘上写入数据。(现代硬盘包含一些由驱动固件内部使用的数据结构。)dd命令不会在这些“低级”区域中进行写入。
关于你首先运行dd命令的问题,如果在GParted或其他工具中创建新的分区表无法解决问题并使磁盘的大小正确显示,我怀疑dd命令也无法改善这种情况。
可能是驱动器出现了一些(物理上的)问题,但我想知道是否可能是你遇到了GParted(或你使用的版本)的一些奇怪的错误。使用fdisk命令是否有不同的效果?(fdisk命令的功能远不及parted或gparted,但由于你不需要移动或调整任何分区,所以它应该足够完成任务。)
如果你还没有这样做的话,我也建议检查驱动器是否有故障指示和缺陷。假设它支持SMART(大多数驱动器现在都支持),你可以使用smartctl(参见this guide)来检测。你可以使用badblocks扫描驱动器的表面缺陷,不过考虑到dd运行所花费的时间,这可能需要很长时间。

谢谢提供信息!我尝试使用gparted创建一个新的分区表,但出现了错误。当我从msdos分区表更改为其他类型并尝试创建一个分区时,gparted崩溃了。抱歉没有提供详细信息,我目前离开了电脑。我希望通过低级重新格式化来解决磁盘的问题。当前空间显示为"未分配",但显示有2TB的空间,而我知道只有1TB。我相信这就是分区表失败的原因...但仍然不确定! - Shrout1
1嘿!我倾向于认为这个驱动器有问题。当通过USB连接时,Mac OS将磁盘视为“2.2 TB媒体”,而Windows在初始化之前不会给我文件大小。我已经在Mac OS X中使用磁盘实用程序大约24小时,试图将驱动器格式化为扩展的Mac OS日志(HFS +?)格式。它仍然显示还有一天的时间......驱动器在保修期内,所以我想退回去! - Shrout1
这可能会引起兴趣;Western Digital收回了驱动器,甚至没有质疑存在问题。所以肯定有什么问题! - Shrout1
1尝试了一下,它只是在最后一个命令的空白处写入了“^C”。 - Douglas Gaskell

测试 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选项退出程序,以保持分区不受修改。

在创建新的分区表时,可能需要考虑以下几点:

对于数据磁盘以及在使用GRUB作为引导加载程序的基于BIOS的计算机上用作引导磁盘的情况,可以按照任意顺序和任意大小创建分区。
基于EFI的系统的引导磁盘需要一个格式为FAT-32的EFI系统分区(gdisk内部代码0xEF00)。
一些基于BIOS的系统的引导加载程序使用BIOS引导分区(gdisk内部代码0xEF02),其中存储了次级引导加载程序,可能没有文件系统的好处。
如果Windows要从GPT磁盘引导,建议使用Microsoft Reserved类型的分区(gdisk内部代码0x0C01)。该分区的大小应为约128 MiB。它通常位于EFI系统分区之后,紧接着是Windows数据分区。
一些操作系统的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.

谢谢!我正在使用光盘启动,不确定在这种环境下apt-get的工作情况如何。 - Shrout1
@Shrout1 apt-get在实时环境中是可用的。(通常情况下,您无法安装超过实时环境RAM磁盘容量的软件,但这通常只在实时环境中安装或升级大量软件时才会出现问题。)如果您的实时系统中没有gdisk,您应该能够安装和运行gdisk而不会遇到问题,但很可能已经安装了!(kyodake:您可能希望更新您的帖子以反映它可能已经存在)。我刚在一个14.04.1实时ISO上进行了检查;它有gdisk - Eliah Kagan
@eliah kagan 再次感谢!如果我的其他努力失败的话,我会尝试这个建议的 :) - Shrout1