公司里电脑比较老,是 Dell 的 Optiplex 790,2 代 i5。硬盘是很慢的机械硬盘,手头正好有个闲置的 SN750 256G,打算迁移系统到这个 SSD 上。
但是老平台不支持从 nvme 启动,所以除了迁移还需要其他的操作。这次主要干了两件事:借助 Clover 启动 nvme 硬盘里的系统;解决 Windows 从 SATA HDD 迁移到 nvme SSD 后无法启动的问题。
本来这种老电脑升级硬盘应该是用 SATA SSD,快捷方便,但是经常 SATA SSD 比 nvme SSD 还贵,所以这么操作还是有一定价值的。
迁移系统
把 nvme 通过转接板插到电脑上后,用你所熟悉的任何工具把原来硬盘的所有分区搬到新硬盘上。我是用的 Ghost 先备份后再还原到新硬盘上的,这样万一折腾坏了还能再还原。
迁移好后把原来硬盘里的分区都删了,最后大概就是这样。第一块是原来的 HDD,第二块是追加的 SSD。
处理原系统
首先要检查下迁移完后的 BCD 是否正确指向新分区。步骤如下
-
打开 BOOTICE
-
打开 BCD 编辑 选项卡,选择已经在 SSD 里的 EFI 分区中的 BCD 文件后(在 EFI\Microsoft\Boot 里),用 智能编辑模式 打开。
-
这里检查下是不是 SSD 里的系统盘
因为之前是 SATA 启动,所以系统引导时不会从 nvme 硬盘里找系统,会报一个 INACCESSIBLE_BOOT_DEVICE 的错误。我们要把之前留下的设置给删掉,步骤如下
-
打开注册表编辑器
-
点选 HKEY_LOCAL_MACHINE 后,点击 文件 - 加载配置单元
-
这里选择打开 SSD 里系统盘 Windows\System32\config\SYSTEM 文件
-
名字随便写
-
找到 ControlSet001\Services\stornvme\StartOverride,把他删掉
-
删完后,还选择刚才挂载的文件夹,比如我这里是 fix。然后 文件 - 卸载配置单元。
配置 Clover
Clover 是一个引导工具,装黑苹果用的比较多。不过它即便仅作为多系统环境引导也很好用。本次就需要借助 Clover 来启动 nvme 里的系统。
OpenCore 应该也可以,但是 OpenCore 需要先编辑好一个正确的配置文件才能用,比较麻烦。Clover 不需要特别去配置 config,直接用就行。
-
从这里下载 Clover。下这个 zip 文件,版本号可能不一样,但一般就是最大的这个 zip 文件。
-
解压后,为了让 Clover 能识别到 nvme 硬盘,需要把这里的 NvmExpressDxe.efi 驱动挪到 drivers 的 UEFI 文件夹里
-
对原机械硬盘执行快速格式化,分区选一个就行。这样我们就获得了一个 EFI 分区和一个 NTFS 主分区。前者拿来装 Clover,后者之后进系统可以拿来放放文件。
-
点击 EFI 分区,然后查看文件。把刚才准备的 Clover 里这个 EFI 文件拖进去
-
为了避免老主板加载启动项的时候识别不出来这个 EFI 分区,最好再去 BOOTICE 里把 Clover 加上。
启动系统
启动项里可以看到刚才添加的 Clover
进到 Clover 后,就可以看到 Windows 引导项目了,一般就是第一个 Boot Microsoft EFI Boot from EFI
成功启动
Photo by Philip Oroni on Unsplash