我妻子的 Windows 10 机器(戴尔 Inspiron 530)中有一个旧的 500G SATA 磁盘。它出现了坏块,因此,与其等它坏掉然后不得不购买新的 Windows 10(它是前段时间从 Windows 7 升级而来的),我决定买一个替换磁盘并将文件转移到新磁盘上。
新磁盘是 2T 驱动器 - 该机器的 BIOS 只能从 MBR 分区启动,而不是 GPT,这意味着 2T 是我们能得到的启动驱动器的最大容量。
无论如何,旧的 500G 有两个 Windows 分区 - 一个用于启动文件的小 10G 分区,其余的磁盘用于其余文件(加上一个 Linux - 更多信息见下文)。
我将两个 Windows 分区都 dd 到 USB 磁盘盒中一个有剩余空间的磁盘上,然后通过网络将这些文件传输到另一台机器上。我还 dd 了旧驱动器的前 446 个字节,以备日后需要。不过,这可能是 grub2 设置的,因为旧的 500G 磁盘是双启动的 Windows 10 和 Linux Mint 19.1。
ddrescue 进行了几次重试,但根据我对其输出的新手阅读,它似乎已经能够读取有问题的块。
她想摆脱 Linux Mint 19.1,现在只使用 Windows 10。她声称 Mint“太复杂了”,我不同意,但这是她的机器,所以她决定这么做。
无论如何,在将两个分区添加到新的 2T 磁盘后,我对较大的分区进行了 ntfsresize,使其接近 2T(减去用于启动的 10G 分区)。
到目前为止,一切都进展得非常顺利,除了 ntfsresize 要求我先对文件系统进行 chkdsk 并重新启动 Windows 两次,然后 ntfsresize 才能执行其操作。
无论如何,当我尝试从新的 2T 磁盘启动时,BIOS 声称未找到可启动驱动器。我启动到 gparted 实时救援磁盘,并在新的 2T 驱动器的 10G 分区上切换启动标志,但这没有帮助 - BIOS 出现同样的错误。
然后,我尝试将 FreeBSD 的“booteasy”MBR 程序添加到 /dev/sdb 上新 2T 磁盘的前 446 个字节。这是一个非常简约的 MBR 程序,它唯一的花哨功能是能够记住您上次从哪个分区启动,以及如果需要,可以从第二个驱动器启动。Booteasy 显然正在加载并询问我想要从哪个分区启动,但是如果我选择 10G 分区,启动就会挂起。
如果我让 booteasy 启动并使用它来选择包含 gparted 的 USB 拇指驱动器,它就可以从 gparted live 启动。因此,booteasy 在这台机器上不会一无是处。
我很乐意用其他东西替换 booteasy;我只是希望系统能够启动。但我宁愿避免再购买 Windows 副本(我们在某处有 Windows 7 的许可副本,但我认为我们不能再免费将其升级到 Windows 10 了)。
我需要做什么才能让 Windows 从这个新的 2T 磁盘启动?
谢谢!