@
easycloud 还是先明确概念吧……虽然我也不是很懂这块。
UEFI 有自己的“启动序列”,即使是同一块硬盘上,也可以用 N 个引导文件路径创建出 N 个引导项。
如果只装了 Windows ,可能 Windows Boot Manager 就是唯一的一项了,但并不代表一切都交由它处理。
BIOS 则只能简单地设定不同设备的启动顺序,同一个设备能有 N 个启动项在 BIOS 里是做不到的。没错,有办法实现类似的效果,比如给硬盘安装 grub2 ,这个引导器的功能很强大,可以 chainload 其他引导器,或者启动各种操作系统;但 BIOS 里能看到的,还是只有“某块硬盘”这一个项目。
使用 Legacy 写入?写入了也没用的。很多激活工具会写入活动分区的引导代码,好让修改过的 grub4dos 先完成伪造 SLIC 的目的,再 chainload bootmgr 。但 UEFI+GPT 环境里,并没有活动分区这个概念,引导代码也压根就不会被执行。
所以,使用 Legacy 写入不会在 UEFI 下触发 LZ 碰到的问题,顶多就是把 C 盘或 ESP 分区文件系统写残了(虽然 UEFI 还没普及时我也没听说过有这种事情)。
根据我的经验,激活工具干的事情如下:
1.拷贝 windslic.efi 到 ESP 分区
2.修改 UEFI 启动序列(保存在 NVRAM 里),添加一项 WindSLIC ,并把它调到最优先。
的确有一些主板,在设置了快速启动后,按 DEL 、 F12 等都无效了。所以,我觉得第一种可能是: UEFI 固件直接执行了启动序列第一位的 WindSLIC ,然后,正巧 WindSLIC 在这些主板上不工作,运行陷入了死循环,于是就有了卡在 LOGO 处,按什么键都没用的情况。
但也许是另一种情况?就是这个主板的 UEFI 固件在处理增加启动项目时有 Bug ,哪怕添加的不是 WindSLIC 而是别的什么东西,也会在重启时卡住不动。
https://forums.mydigitallife.info/threads/29740-WindSLIC-UEFI-SLIC-injector/page66#660 这一楼有一个修改过的 WindSLIC (某些主板已经有一个 SLIC ,这个修改版 WindSLIC 会把已存在的 SLIC 改名为 OEMx ,避免重复)。
@
lygmqkl 楼主如果还有折腾的兴趣,可以试试用它替换掉微软的 bootmgfw.efi ,这样可以避免修改 NVRAM 。也许对比直接运行激活工具的情况,就可以分析一下了?
替换步骤:
1.WIN+R 运行 diskpart 。
2.使用 list disk 命令列出磁盘。
3.一般内置硬盘是磁盘 0 ,所以用 sel disk 0 命令选中它。
4.使用 list part 命令列出分区。
5.找到系统分区,使用 sel part X 命令选中它(X 为系统分区的编号)
6.使用 assign letter S 命令分配盘符 S:
7.把 S:\EFI\Microsoft\Boot\bootmgfw.efi 重命名为 bootmgfw.bak ,然后用 windslic.efi 复制过来,重命名,顶替 bootmgfw.efi 。