安装了新的 SSD,Windows 仍然从旧的启动

Kon*_*man 6 boot ssd hard-drive bcd windows-10

我最近为我的电脑(联想 ThinkPad P70)买了一个新的 1TB SSD。我的计划是将此磁盘作为主要的 Windows 10 启动驱动器,并保留旧的 (500GB) 作为辅助驱动器。

我不想完全安装 Windows,所以这就是我遵循的过程:

  1. 使用Clonezilla创建旧磁盘的备份(在外部 HDD 中)
  2. 将新磁盘安装在旧磁盘所在的 M2 插槽中,将旧磁盘安装在另一个插槽中(空闲)
  3. 使用 CloneZilla 恢复新磁盘中的备份
  4. 启动的 Windows。它从 C: 中的旧磁盘启动,新磁盘位于 D:(如预期的那样)
  5. 使用分区管理应用程序调整新磁盘的主分区大小以填充整个可用空间(不得不摆脱两个恢复分区)
  6. 重启电脑,进入BIOS,配置为从新盘启动

问题是:此时我希望 Windows 已经从新磁盘启动,旧磁盘位于 D:。但一切还是如故:旧盘是C:的Windows启动盘,新盘是D:。

那么我该怎么做才能告诉 Windows 从新磁盘启动,而将旧磁盘作为 D: 使用?我想我可以通过使用 BCDBoot 或 BCDEdit来做到这一点,但我的尝试没有成功,我不想盲目地摆弄BCD。

更新:这是驱动器列表中显示的“此电脑”,因此我确定它仍在从旧磁盘启动。另外,我更改了它的标签以防万一:

在此处输入图片说明

这就是 Windows 的磁盘管理工具显示的内容:

在此处输入图片说明

更新 2:

我使用 BCDEDIT 创建了一个新的启动菜单项(作为现有项的副本),然后我修改了它的deviceosdevice值以指向新磁盘(尝试设置 value partition=\Device\HarddiskVolume8,它读回partition=D:)。如果我尝试使用该条目启动,它看起来像是 Windows 开始加载,但是当它到达登录屏幕时,显示开始闪烁并且整个东西都无法使用。

Kon*_*man 5

我终于让它工作了。缺少的部分是修改 Windows 注册表中的 HKEY_LOCAL_MACHINE\System\MountedDevices 以交换两个磁盘的驱动器号。这是完整的过程:

  1. 首先,正如我在问题中提到的,创建一个指向新磁盘的新启动菜单项。我用的EasyBCD了这一点,但它也可以在使用BCDEDIT已经完成(有一些更多的工作) -只需/copy{current}入口,并设置其deviceosdevicepartition=D:

  2. 启动 regedit,选择 HKEY_LOCAL_MACHINE,然后转到File - Load Hive并加载D:\Windows\System32\config\SYSTEM。它会问你一个名字,输入任何东西。现在您可以编辑另一个磁盘中 Windows 安装的 HKLM\SYSTEM 部分。

  3. 确保您位于具有您提供的名称的项中(否则您将修改当前 Windows 安装的注册表!)并转到MountedDevices子项。

  4. 交换\DosDevices\C:\DosDevices\D:值的内容。最简单的方法可能是三向重命名(...\C: to X, ...\D: to C:, X to ...\D:)。

  5. 文件 - 卸载 Hive,关闭 regedit。重启。

  6. 在启动菜单中选择新条目,验证您确实来自新磁盘,然后聚会!

此时,您可能希望将新磁盘的引导项设置为默认项,或者干脆删除指向旧磁盘的原始项。