我正在尝试将我的 Windows 7 计算机克隆到更大的 SSD。使用 GPARTED,我有:
- 将“MSDOS”分区表写入新磁盘。
- 克隆了 100MB 的“系统保留”分区。
- 克隆更大的分区并将其扩展以填充更大的磁盘。
- 在 100MB 分区上设置“启动”标志。
当它根本无法启动时,我意识到我遇到了 MBR 问题,并使用 HIREN 的 BOOT-CD 来写入 MBR。
现在,当我启动它时,我收到一条消息“启动选择失败,因为无法访问所需设备”。我觉得这与“BCD”有关。但是,当我使用 HIREN 时,MINI-XP 中缺少 bcdedit 和 bcdboot,如果我尝试从(克隆的)WIN-7 分区运行程序,它会抱怨“不是有效的 WIN32 应用程序”。附加信息:如果我在 Hiren Boot-CD 上使用 BellaVista,它不会让我做任何事情,因为没有有效的配置,而且它似乎不允许我创建一个。此外,如果我在 Hiren Boot-CD 上使用 MBRWiz,它会告诉我 100MB 分区是 C:,大分区是 I:,事实上,我可以访问 I: 上的所有内容,这是应该的。
请问,有人能告诉我我遗漏了什么吗,并提示我如何修复它?我宁愿不放弃并使用 Acronis/Clonezilla 等,或者找到 Windows 7 光盘并进行“修复”,因为我想了解发生了什么。
编辑:针对我的问题,我放弃了,并使用 Win7 安装光盘“修复”了我的安装。它提供了一些信息,即 Windows 启动管理器的设置使得名为“Windows 7”的条目中有一个条目显示“Windows 设备:未找到分区”,并且为了修复它,它添加了条目“分区 = D:”。这没有多大意义,因为启动时,Windows 安装在 C: 驱动器上,但无论如何!无论如何,虽然我的电脑现在可以正常工作,但我希望有人告诉我如何更干净地完成此操作,而不必求助于 Windows“修复”。
此外,在启动时,Check-Disk 坚持检查磁盘,但这是有道理的,因为分区突然比以前大,所以必须解决这个问题。
答案1
据我所知bootmgr
/ BCD 存储使用磁盘标识符 / PARTUUID 来查找“操作系统设备”。由于您使用 GParted 创建了 msdos 分区表,因此磁盘标识符与原始磁盘不同。因此,您需要更新 BCD 存储记录。
可能有几种方法可以做到这一点,例如,使用手动操作,使用仅在恢复/修复环境中可用的bcdedit
显然已弃用的,或者,它将根据您指定的内容重新安装和重建 BCD 存储。bootrec /rebuildbcd
bcdboot
bootmgr
例如,假设您的系统保留分区已安装为,D:
并且系统分区(其中\Windows
)已安装为C:
在修复环境中,则您应该运行的命令是:
bcdboot C:\Windows /s D: /f BIOS
详情见其官方文档:https://technet.microsoft.com/en-us/library/hh824874.aspx