情况:我们有一台旧的、未使用的笔记本电脑,我们想送给我的岳父岳母,但 Windows 一直抱怨硬盘很快就会出现故障,应该更换。但不幸的是我不再拥有 Windows 7 产品密钥。可能是 OEM,但贴纸已剥落。
我尝试过的方法:我有一个备用的 500 GB 东芝驱动器,其中有故障的驱动器也是 500 GB WD。所以我从 USB 驱动器中取出 Ubuntu,将备用驱动器放入另一个 USB HDD 盒中并开始 dd。
我并没有真正考虑清楚,所以我开始将物理驱动器复制/dev/sdb
到/dev/sdc
.复制花了大约 24 小时,但我认为这是因为旧驱动器有几个坏扇区。
从那时起,我的备用驱动器似乎比原来装有 Windows 的驱动器更加死气沉沉。它无法启动,无法读取,fdisk 无法管理它。我开始认为用 MBR 和分区表替换第一个扇区是一个致命的错误,因为它可能包含有关磁盘物理体系结构的信息。
- 这个假设正确吗?
我试图找到某种方法来恢复磁盘,按照一些分步说明告诉我将一些数据添加到磁盘。每当数量较大时,它总是会因输入/输出错误而失败。然而,当我尝试修复 MBR 时,它有效并且没有产生任何错误。
- 您认为这个问题可以通过某种方式得到解决吗?如果我是对的,重写 MBR 只是复制 440 个字节,而不是 512 个字节。在剩下的 72 个字节中,有 MBR 和 - 我只是怀疑它,如果我错了,抱歉 - 一些有关磁盘的信息。
现在,fdisk 对我现在失效的备用驱动器进行了如下说明:
255 heads, 63 sectors/track, 60801 cylinders, total 976773120 sectors
我如何确保这对我的东芝 HDD 有效,而不是从即将失效的 WD 复制的内容?
好的解决方案是预先对驱动器进行分区,并为我想要保存的每个分区单独使用 dd ?
编辑:Ubuntu 上的 fdisk 似乎功能齐全,我可以查看、编辑和保存分区,但磁盘仍然无法工作。我越来越怀疑是磁盘几何形状不匹配。
答案1
问题1:你的假设是错误的。 MBR 不包含“有关磁盘物理体系结构的信息”。
问题 2:使用fdisk
或parted
任何其他磁盘分区实用程序。根据磁盘规格检查结果。
问题3:不,最好将整个磁盘映像从旧磁盘复制到“新”磁盘。
答案2
(976773120 * 512 字节扇区)/ 1000b / 1000kb / 1000mb = 500.10783744 GB。然而,扇区数来自 ATA,而不是磁盘上的数据。
即使标称 GB 相同,HDD 通常也没有相同数量的扇区,这可能可以解释一些错误。
MBR 是 512 字节,如果停在 440 字节,则任何操作都不起作用。您很可能从有关如何在不接触分区数据的情况下复制引导加载程序的指南中获得了这个数字(实际上是 446)。您实际上复制了除分区之外的所有内容。
使用超过 500GB 的小块大小,复制无疑会花费很长时间。不过我强烈建议不要在这里使用 dd 。
为此,您应该使用 fdisk 和 partclone,如下所示:
分区可能已经克隆,只是因为您破坏了分区表而没有看到。 (仅根据您的问题我无法判断发生了什么。)您也可能有 GPT 磁盘。无论哪种情况,请先尝试此操作。
以后首先使用/dev/disk/by-id/。但我假设你要从 /dev/sdb 到 /dev/sdc
- fdisk /dev/sdb
- 按 P
- 请注意分区样式:MBR 或 GPT。如果 GPT 停止并更改您的问题,指出您有 GPT 磁盘。
- 还要注意字节数。
- 复制前按 V 并检查错误
- 按 Q
- fdisk /dev/sdb
- 按 P
- 注意字节。如果没有更多或相同数量的字节,除非缩小某些内容,否则您将遇到问题。
- 按 Q
现在复制 MBR:
dd if=/dev/sdb of=/dev/sdc bs=512 计数=1
这会将 512 字节的一个块从 sdb 复制到 sdc。
然后做
部分探针
现在尝试安装您的分区。如果此时它们不起作用,请继续使用 Partclone 再次复制它们。这是一个示例,其中假定的窗口位于 /dev/sdb1 上,转到 /dev/sdc1
- Partclone.ntfs -b /dev/sdb1 /dev/sdc1