我正在尝试将 Win10 安装从 HDD 传输到新的 SSD。我或多或少遵循了这两个很棒的操作方法
也就是说,我启动到 winPE,然后使用 XCOPY 将 boot、windows、users、program files 等复制到新磁盘,然后尝试了 bcdedit 和 bcdboot。但是,在所有情况下,从 SSD 启动后,win10 都会出现蓝屏,并显示“无法访问的启动设备”消息。
我是否正确地假设 Windows 已完成初始启动(因此 BCD 没问题)但由于某种原因无法加载内核?有人知道如何调试或修复它吗?
我尝试过通过 win10 恢复自动修复启动顺序之类的操作,但没有帮助。
我不想寻找“磁盘克隆”(空间不足)和“全新安装”(我知道我可以这样做)的答案,我想先尝试这种方式。
编辑:搞清楚了(见下文答案)。为什么我这样做?我想学习。我觉得这样做更有趣,而不是做一些备份-洗牌-收缩-舞蹈。我不需要立即使用该系统,而且我有备份。
答案1
好的,我再次尝试了整个过程 - 成功了!我不确定第一次做错了什么,但这是我第二次做的方式:
- 在新的 SSD 上仅创建一个大分区,采用 MBR(而非 GPT)方案
- 我将 fastcopy 下载到我的 winpe 并使用它来代替 xcopy(主要是因为连接):https://ipmsg.org/tools/fastcopy.html.en
- 删除新磁盘上的 BCD,并使用 bcdboot 而不是 bcdedit 创建具有正确驱动器的新启动配置
- 最后,这是关键的步骤之一,从 winpe,我更改了驱动器分配以确保新的 SSD 位于新 windows 目录中的 C:(通过重新编辑 HKLM\System\MountedDevices)。
然后重启,大功告成!从 SSD 运行。
答案2
您不能仅执行 bcdboot 来解决所有问题。
首先,备份您现有的驱动器并确保备份有效。
最好的办法是安装 Easeus Backup Free,进行备份,然后将其恢复到新的 SSD 上。Easeus Backup 将允许您调整分区大小以适合新的 SSD。这是您的最佳选择,因为 A) 您已进行备份,并且 B) 您没有对正在工作的硬盘进行任何破坏。
来自 Easeus Backup 文档,“如果目标磁盘的大小与源磁盘的大小不同,则 EaseUS Todo Backup 将在开始恢复之前自动调整分区大小,或者您可以自行编辑大小。”: http://www.easeus.com/support/todo-backup/disk-partition-recovery.html
您还可以使用内置的 Windows 磁盘管理实用程序(或者如果它不能充分缩小,则使用 gparted 启动盘)将分区缩小到小于 SSD 的大小,然后使用免费软件 Easeus Disk Copy 克隆磁盘。忽略有关目标磁盘小于源磁盘的任何警告 - 只要您使用 gparted 将分区缩小到小于 SSD,则磁盘的该部分中没有实际数据,Windows 只会在下次启动时运行检查磁盘,一切都会正常。这仅适用于 BIOS 系统(运行 MBR 磁盘类型)。UEFI/GPT 分区根本不会喜欢这个,您很可能会得到一个无法启动的系统,所以请先测试您的备份。
如果两种方法都不起作用,您可以采取最激进的选项(再次确保您有一个可用的备份,因为大约 2% 的时间 sysprep 无法正常工作,而会导致 Windows 无法完全启动)。首先缩小旧驱动器上的 Windows 分区(以确保分区小于 SSD)。然后将您工作的旧驱动器启动到 Windows,从 C:\Windows\System32\sysprep.exe 运行 sysprep 并选择“OOBE 体验”并选中“通用”复选框和“关机”。关机完成后,您可以启动 Easeus Disk Copy 并将驱动器克隆到 SSD,然后移除旧驱动器并启动 SSD。Windows 将执行其正常的安装/初始化驱动程序步骤,并使用您的旧用户名登录(请注意,Windows 安装程序会让您创建一个新用户名,但请放心,您的旧用户名仍然存在),所有内容都将与您输入的位置完全一致。
第四种选择是使用 DISM.exe 捕获现有 Windows 安装的 .wim 映像,然后将其应用到 SSD。这非常复杂,几乎所有操作都是通过命令行进行的;但这是您的计算机制造商最初将 Windows 10 安装到您的笔记本电脑上的方法。