hilsonma 发表于 2025-3-28 15:35 明白了,谢谢! |
mygamexxx 发表于 2025-3-28 11:26 不要轻易将已安装的系统的文件夹改名,容易出错。 如果一台电脑里不止一个windows, 文件夹都是\Windows,你就看这文件夹里有什么是唯一的,跟别的不相同的,用它来locate定位 如果你能改名,那不如添加文件,比如将 \Windows\Boot\EFI\bootmgfw.efi 复制一份为 boot01.efi ,然后 locate=\Windows\Boot\EFI\boot01.efi,第二个windows则 boot02.efi 以此类推 |
hilsonma 发表于 2025-3-25 19:32 请教:是不是将不同的\windows改名如\win101,然后用locate=\win101? |
多硬盘多系统要确定引导上次还是默认需要写更多代码 |
https://www.cnblogs.com/paul011/p/10437686.html 为了保证可迁移性,device和osdevice的路径盘符使用[locate]来代替固定[c:]盘符】否则迁移磁盘时,会蓝屏。 · 可使用Visual BCD Editor · 可使用EasyBCD ·《向引导菜单添加本机引导的虚拟硬盘》 http://technet.microsoft.com/zh-cn/library/dd799299(v=ws.10).aspx 1.复制 Windows 7 安装的现有引导项目。然后修改此副本以便用作 VHD 引导项目。在命令提示符下,键入: bcdedit /copy {default} /d "vhd boot (locate)" 2.BCDedit 命令成功完成后,它将在“命令提示符”窗口中返回 {GUID} 作为输出。 在先前命令的命令提示符输出中找到 {GUID}。复制在以下步骤中使用的 GUID,包括大括号。 对 VHD 引导项目设置 device 和 osdevice 选项。在命令提示符下,键入: bcdedit /set {guid} device vhd=[locate]\windows7.vhd bcdedit /set {guid} osdevice vhd=[locate]\windows7.vhd 3.将 VHD 的引导项目设置为默认引导项目。计算机重新启动时,引导菜单将显示计算机上的所有 Windows 安装并将在操作系统选择递减计数完成后引导至 VHD。在命令提示符下,键入: bcdedit /default {guid} 4.一些基于 x86 的系统需要使用针对内核的引导配置选项,以便检测到某些硬件信息并成功地从 VHD 进行本机引导。在命令提示符下,键入: bcdedit /set {guid} detecthal on |
换位思考,直接使用reboot不就是全通用配备windows |
wintoflash 发表于 2025-3-26 10:01 有喜欢曲线的,那就绕吧。 |
szwp 发表于 2025-3-26 09:53 这跟metro启动菜单差不多啊,其实写个native程序就能做到,不需要pe带桌面,但是太脱裤子放屁了。 |
wintoflash 发表于 2025-3-26 08:43 可以用BCD传参给PE或系统,进去后再重启或关机,只是这条曲线不知道有没人高兴去玩了。 还可以根据参数决定是否去一次性启动G4E序列。 |
szwp 发表于 2025-3-26 08:03 uefi下如何实现? 利用blacklotus漏洞? |
gmy 发表于 2025-3-25 21:09 32位win7不能使用64位的efi来启动,需要使用32位的efi 32位的efi 只能用在32位的设备,64位的设备不能用32位的efi只能用64位的efi. 现在的电脑基本是64位的,只有极少数平板是32位的。 所以,64位的电脑uef启动只能用64位的系统,64位的电脑legacy启动则可以是64位或32位的系统。 |
hilsonma 发表于 2025-3-25 19:32 用BCD来重启不是绝对不可能,只是弯绕得有点远 |
本帖最后由 hilsonma 于 2025-3-26 08:03 编辑 gmy 发表于 2025-3-25 21:09 UEFI 和 Legacy 用的不是同一个BCD,不知你是否搞清楚了起作用的是哪一个BCD. 如果想UEFI 和 Legacy 使用同一个BCD, 必须使用魔改 bootmgr 只要起作用的BCD修改到位,都是可以成功的。 正常情况下,\EFI\Boot\bootx64.efi 使用的BCD是\EFI\Boot\BCD 或 \EFI\Microsoft\Boot\BCD bootmgr使用的BCD是\Boot\BCD 可以魔改bootmgr(使用bmplus按自己要求定制bootmgr),这样bootmgr可以使用 \EFI\Boot\BCD,从而达成UEFI/Legacy使用同一个BCD 没有魔改的前提下,你要分别修改\EFI\Boot\BCD 和 \Boot\BCD 魔改后,只要一个BCD (\EFI\Boot\BCD)就可以了 |
bcd能够用locate搜索加载vhd或wim吗? |
szwp 发表于 2025-3-25 18:49 是的。我在回贴给gmy前也做过这样的尝试,成功了。 就是把修正bcc的那2个设备partition=c: 这样的参数改成你说的参数 locate=\Windows 之类 |
hilsonma 发表于 2025-3-25 15:14 测了几台,成功了,简单、实用。悄悄问一句,用的BOOTICE命令行?。再挑战一下,添加两个选项:重启;关机,能否实现? |
来了解下 |
本帖最后由 chen463 于 2025-3-25 18:03 编辑 U盘启动要UEFI引导WINDOWS,这是多年来的问题。G4E 1.硬盘号法-缺点是无法确认在哪一盘号。 title 启动存在的硬盘(hd1)\n chainloader (hd1) chainloader (hd1) 2.文件名法-把bootmgfwold.efi更名(任意一个文件名-gmy.efi皆可)来FIND定位,但是大众化得想办法放入此文件。这是最实在的方式-UEFI和Legacy BIOS皆可。 title 启动硬盘windows系统(find 方案2)\n find搜索到有bootmgfwold.efi[bootx64.efi]的第一个硬盘启动 find --set-root --devices=h /efi/microsoft/boot/bootmgfwold.efi chainloader /efi/microsoft/boot/bootmgfw.efi 3.BCD法 bootmgfw.efi有可能在任一多U盘或硬盘中,这是最差的方式,BCD还须设定分区定位。 ..... bootx64.efi 是计算机默认引导文件 bootmgfw.efi 是 Windows默认引导文件 bootmgfw.efi 是优先启动第一顺位,其次是bootx64.efi>BCD |
本帖最后由 hzyry2046 于 2025-3-25 17:21 编辑 不可行,efi版的WINDOWS Boot Manager只能运行winload/winresume/memtest,不能再加载其他的非微软efi |
本帖最后由 my9823 于 2025-3-25 17:10 编辑 试试bcdedit的命令行呢?记得以前修改ventoy的wimboot.img中的bcd里面关于分辨率的那一条,用bootice怎么修改都不行,用命令行修改成功了。建议尝试一下,不知道行不行? |
wintoflash 发表于 2025-3-25 14:57 可以根据不同系统的唯一文件来定位不同系统分区启动。 |
QQ20250325-150445.png (1.24 KB, 下载次数: 4)
本帖最后由 wintoflash 于 2025-3-25 15:02 编辑 你直接在帖子一开头说明自己需要通过BCD实现搜索并启动Windows的功能就好了,因为论坛里面已经有相应的帖子了。 这种功能只靠微软官方引导就能实现,不需要g4d/g4e。 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=426000 |
chen463 发表于 2025-3-25 13:10 不通用。 |
wintoflash 发表于 2025-3-25 11:52 可以 |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.