|
@2011yaya2007777
反馈一个问题:
引导环境:
UEFI启动环境,RAMOS win10系统,primo内存盘驱动。
机器引导grub4efi.efi启动,然后load ntfs,map vdf,chainload (hd-1)
菜单命令项
title ramwin10.vdf
load (hd0,0)/efi/boot/ntfs_x64.efi
map (hd0,4)/ramwin10.vdf (hd)
chainloader (hd-1)
现象:
正常启动流程:
机器开机-加载grub4efi-ramwin10菜单项启动win10磁盘镜像-进入镜像盘中win的BCD启动项-选择启动windows-进入vdf中的windows
异常时启动流程:
机器开机-加载grub4efi-ramwin10菜单项启动win10磁盘镜像-进入镜像盘中win的BCD启动项-选择启动windows-进入0xc0000001出错界面-回车返回BCD启动项界面-再次选择启动windows-进入vdf中的windows
问题:
目前来看,除了长时间关机后的第一次冷开机,好像可以直接以正常启动流程进入ramos系统外,
其它绝大部分情况下,只要进入过RAMOS系统,重启时必然会进入异常启动流程,
即第1次在BCD界面选择windows启动项后出现1次0xc0000001错误,在错误界面按回车后会重新进入启动项选择界面,再次回车启动,则又可以正常进入系统。
问题分析:
印象中之前2-3种型号的笔记本或台式机主板上都试过,都出现过这种问题,当时以为是个别主板问题,目前来看,是个涉及UEFI的普遍性问题。
因为出错环节在BCD选择界面,0xc0000001错误好像一般是指某个设备不能访问,而实际上重复选择一次就能进入系统,说明设备加载识别实际是正常的。
猜测可能是grub4efi的map方式启动时,对某些UEFI环境变量进行更改或添加了磁盘映射,windows正常启动时也会修改某处的UEFI变量,或根据磁盘映射做某些操作并写入UEFI变量,
在重起后(包括短时间的关机),这个变量或映射并没有置为初始值,所以BCD启动windows时读取上一次变量或映射关系导致找不到磁盘弹出0xc000001错误,但可能windows同时会重置变量或重新检测(大概率是跟磁盘映射相关),这样再次选择启动windows就能正常进入了。
请yaya看看能不能解决这个问题,目前推测,也许只要在重启后,启动windows前复位某个UEFI变量就能解决,(应该是跟磁盘相关的变量)。
|
|