我最近为我的电脑(联想 ThinkPad P70)买了一个新的 1TB SSD。我计划将此磁盘用作 Windows 10 主启动驱动器,并将旧磁盘(500GB)保留为辅助驱动器。
我不想全新安装 Windows,因此我遵循了以下步骤:
- 用过的克隆兹拉创建旧磁盘的备份(在外部硬盘中)
- 将新磁盘安装在旧磁盘所在的 M2 插槽中,将旧磁盘安装在另一个插槽中(空闲)
- 使用 CloneZilla 在新磁盘中恢复备份
- 启动 Windows。它从 C: 中的旧磁盘启动,新磁盘在 D:(如预期的那样)
- 使用分区管理应用程序调整新磁盘的主分区大小以填充整个可用空间(必须删除两个恢复分区)
- 重新启动计算机,进入 BIOS,将其配置为从新磁盘启动
问题如下:此时我期望 Windows 已从新磁盘启动,旧磁盘位于 D:。但一切仍与以前一样:旧磁盘是位于 C: 的 Windows 启动盘,而新磁盘位于 D:。
那么我该怎么做才能让 Windows 从新磁盘启动,而旧磁盘则作为 D: 可用?我想我可以通过以下方式做到这一点使用 BCDBoot 或 BCDEdit,但我的尝试没有成功,而且我不想盲目地摆弄 BCD。
更新:这是“此 PC”在驱动器列表中显示的内容,因此我确定它仍在从旧磁盘启动。另外,我更改了它的标签以防万一:
Windows 磁盘管理工具显示的内容如下:
更新2:
我使用 BCDEDIT 创建了一个新的启动菜单项(作为现有项的副本),然后我修改了它的device
和osdevice
值以指向新磁盘(尝试设置值partition=\Device\HarddiskVolume8
,它读回partition=D:
)。如果我尝试使用该条目进行启动,它看起来像 Windows 开始加载,但当它到达登录屏幕时,显示屏开始闪烁,整个东西都无法使用。
答案1
我终于让它工作了。缺少的部分是修改 Windows 注册表中的 HKEY_LOCAL_MACHINE\System\MountedDevices 以交换两个磁盘的驱动器号。以下是完整流程:
首先,正如我在问题中提到的,创建一个指向新磁盘的新启动菜单项。我使用了易BCD为此,但也可以使用 BCDEDIT 来完成(需要做更多的工作)-只需
/copy
输入{current}
并设置其device
和osdevice
partition=D:
启动 regedit,选择 HKEY_LOCAL_MACHINE,然后转到文件-加载配置单元并加载
D:\Windows\System32\config\SYSTEM
。它会询问您一个名称,输入任何内容。现在您可以编辑另一个磁盘中 Windows 安装的 HKLM\SYSTEM 部分。确保您位于具有您提供的名称的项中(否则您将修改当前 Windows 安装的注册表!)并转到
MountedDevices
子项。\DosDevices\C:
交换和值的内容\DosDevices\D:
。最简单的方法可能是三向重命名(...\C: 到 X,...\D: 到 C:,X 到 ...\D:)。文件 - 卸载配置单元,关闭 regedit。重新启动。
选择启动菜单中的新条目,验证您确实来自新磁盘,然后开始!
此时您可能想要将新磁盘的启动项设置为默认启动项,或者直接删除指向旧磁盘的原始条目。