Win10系统从sata转移到nvme无法启动问题处理

manning 2022-02-0414:58:17WindowsWin10系统从sata转移到nvme无法启动问题处理已关闭评论2,2193阅读模式

系统硬件信息及场景

 

 Operating System: Windows 10 专业版 64-bit (10.0, Build 18363) (18362.19h1_release.190318-1202)
                 Language: Chinese (Simplified) (Regional Setting: Chinese (Simplified))
      System Manufacturer: System manufacturer
             System Model: System Product Name
                     BIOS: 0809 (type: UEFI)
                Processor: Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz (4 CPUs), ~3.4GHz

完成m.2 sata固态上的系统转移到m.2 nvme固态。

系统从sata迁移到nvme步骤

需要支持nvme固态的PE,推荐使用 WePE2.0

系统转移

 

Win10系统从sata转移到nvme无法启动问题处理

 

使用CGI工具进行硬盘对拷,选择源硬盘和目标硬盘,点击执行即可,这时会启用Ghost工具进行硬盘文件转移。

挂载EFI分区修复

使用UEFI引导修复工具,加载EFI分区

Win10系统从sata转移到nvme无法启动问题处理

 

点击挂载,然后点击开始修复

 

Win10系统从sata转移到nvme无法启动问题处理

 

这时候会在电脑中显示出该分区,里面的内容如下

 

Win10系统从sata转移到nvme无法启动问题处理

 

确认引导修复

打开扇区小工具BOOTICE

Win10系统从sata转移到nvme无法启动问题处理

 

切换到BCD编辑,选择其他BCD文件:即找到目前硬盘ESP分区下的EFI\Microsoft\Boot\BCD

Win10系统从sata转移到nvme无法启动问题处理

 

点击BCD,然后点击智能编辑模式,可以看到如下显示,如果修改有问题,可以通过这儿修改

Win10系统从sata转移到nvme无法启动问题处理

 

切换到UEFI

Win10系统从sata转移到nvme无法启动问题处理

 

查看UEFI启动序列信息

Win10系统从sata转移到nvme无法启动问题处理

一般情况下,完成以上步骤,关机,拔掉源硬盘,再开机,目标硬盘上的系统应该就可以正常启动了。

但是在Win10转圈页面转很久,且过一会就蓝屏,还会提示一些错误。

解决迁移到nvme无法启动问题

原因分析

使用不同类型的硬盘的系统,stornvme驱动请况

 

>sc qc stornvme
[SC] QueryServiceConfig 成功

SERVICE_NAME: stornvme
        TYPE               : 1  KERNEL_DRIVER
        START_TYPE         : 0   BOOT_START
        ERROR_CONTROL      : 3   CRITICAL
        BINARY_PATH_NAME   : \SystemRoot\System32\drivers\stornvme.sys
        LOAD_ORDER_GROUP   : SCSI Miniport
        TAG                : 32
        DISPLAY_NAME       : Microsoft Standard NVM Express Driver
        DEPENDENCIES       :
        SERVICE_START_NAME :

使用nvme硬盘启动的电脑,在START_TYPE的值为BOOT_START,即storenvme驱动是启动即加载的,而sata硬盘的系统,值为DEMAND_START,即需要时启动。

 

>sc qc stornvme
[SC] QueryServiceConfig 成功

SERVICE_NAME: stornvme
        TYPE               : 1  KERNEL_DRIVER
        START_TYPE         : 3   DEMAND_START
        ERROR_CONTROL      : 3   CRITICAL
        BINARY_PATH_NAME   : \SystemRoot\System32\drivers\stornvme.sys
        LOAD_ORDER_GROUP   : SCSI Miniport
        TAG                : 32
        DISPLAY_NAME       : Microsoft Standard NVM Express Driver
        DEPENDENCIES       :
        SERVICE_START_NAME :

也就是说,使用nvme硬盘的机器,一定要在系统启动时就加载stornvme驱动才行,否则会因为驱动没加载而造成系统没法正常读写磁盘数据而蓝屏。

至此,解决方案就很简单了,只要把这个项改成BOOT_START就可以了。但是实际修改过程中发现,修改了没效果,看来还是有点问题,最后查看了注册表才看出了端倪,这台修改了没有效果的机器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\stornvme项下面还有一个StartOverride,而正常使用nvme硬盘的机器,没有这个键。

查阅了一些资料才发现,控制这个驱动启动类型的,是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\stornvme根目录下有一个叫StartDWORD值,这个值等于0表示 BOOT_START,即系统启动就加载,3代表按需加载( DEMAND_START ),默认已经是0(BOOT_START)。

但是因为设置了StartOverride这个键值,原设置就会被这个键值下的设置覆盖。而这个值会由系统每次启动根据驱动的使用情况自行进行优化,也就是说,win10其实每次启动,根据驱动是否被使用的情况,会自动优化驱动的选项,把不需要启动就加载的驱动设置了StartOverride值,让其延迟启动,这其实是一种自学习和优化的功能,可以优化开机速度。不过这里对迁移系统造成麻烦。那怎么解决这个问题呢?

  • 方法一:先删除 stornvme键值下面的StartOverride目录,然后重新启动进PE系统去备份整个系统盘,然后再从nvme硬盘启动,当然这样就对操作顺序有一定要求了,就是修改过该键值以后,就不能再次进入原硬盘系统,否则又会被系统改回去。
  • 方法二:先不改,先迁移磁盘,然后在PE里面修改迁移后硬盘上的注册表。

PE下修改nvme系统下的注册表

删除stornvme键下面的 StartOverride目录。这一步需要一点点技巧,因为现在刚迁移了旧系统,没法直接启动新系统去改,所以需要用一下regedit的一个“加载配置单元”功能,详细做法如下:

  1. 在PE里面打开运行,输入regedit,这一步会打开PE里系统的注册表编辑器,当然这里并不是要改PE里的注册表,而是只是使用regedit的编辑功能,用来编辑的是nvme硬盘上系统盘的注册表。
Win10系统从sata转移到nvme无法启动问题处理

 

  1. 注册表的位置一般是在C:\windows\system32\config目录下(这里的C是nvme里刚迁移过来的系统盘在PE中显示的盘符),单击一下HKEY_LOCAL_MACHINE分支将其选中,然后点 文件 -> 加载配置单元。
  2. 找到 C:\windows\system32\config\system文件,加载后会让你输入一个加载项的名称,这里随便写就行,不要和现有的名称相同。

 

Win10系统从sata转移到nvme无法启动问题处理

 

Win10系统从sata转移到nvme无法启动问题处理

 

  1. 注册表编辑器就会把SYSTEM这个分支加载到HKEY_LOCAL_MACHINE\sys下面,这时候展开这个目录,能看到这个分支和PE里的 HKEY_LOCAL_MACHINE\SYSTEM的结构类似,这个就是nvme硬盘上的注册表内容了
  2. 这里有一点区别,那就是由于并没有启动nvme硬盘上的系统,所以CurrentControlSet这个目录是没有的,其实这个目录原本只是一个链接而已,指向的是当前加载的配置ControlSetxxx目录。这里只有一个ControlSet001,所以直接展开ControlSet001\Services\stornvme即可,然后删除 StartOverride目录

 

Win10系统从sata转移到nvme无法启动问题处理

 

 

Win10系统从sata转移到nvme无法启动问题处理

 

  1. 最后选中sys分支,再使用 文件 -> 卸载配置单元 ,卸载分支即可。
Win10系统从sata转移到nvme无法启动问题处理

 

重启检查

以上步骤操作完了,关机,拔掉PE的U盘,这时候已经没有源硬盘,只有一个nvme的目标硬盘,直接开机,一般情况下就可以直接进入系统不会蓝屏了。

参考 https://www.jarviswang.me/?p=1078 解决问题并记录

作者:吾星喵
链接:https://www.jianshu.com/p/1fa398bd01ca
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

manning
  • 本文由 发表于 2022-02-0414:58:17
  • 转载请务必保留本文链接:https://www.idigi.net/471.html