无忧启动论坛

 找回密码
 注册
搜索

U盘的BCD如何加载G4E?

查看数: 1397 | 评论数: 37 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
gmy
发布时间: 2025-3-25 11:02

正文摘要:

本帖最后由 gmy 于 2025-3-25 11:25 编辑 如题,这是个反向操作,BCD首先加载,再加载G4E 我的BCD实例如下,用于U盘启动,用BCDICE添加了几次没成功,显示7b错误,不知如何正确添加? 另外,G4E除了BOOTX64.EFI ...

回复

mygamexxx 发表于 7 天前
hilsonma 发表于 2025-3-28 15:35
不要轻易将已安装的系统的文件夹改名,容易出错。
如果一台电脑里不止一个windows, 文件夹都是\Windows ...

明白了,谢谢!
hilsonma 发表于 7 天前
mygamexxx 发表于 2025-3-28 11:26
请教:是不是将不同的\windows改名如\win101,然后用locate=\win101?

不要轻易将已安装的系统的文件夹改名,容易出错。
如果一台电脑里不止一个windows, 文件夹都是\Windows,你就看这文件夹里有什么是唯一的,跟别的不相同的,用它来locate定位
如果你能改名,那不如添加文件,比如将 \Windows\Boot\EFI\bootmgfw.efi 复制一份为 boot01.efi ,然后 locate=\Windows\Boot\EFI\boot01.efi,第二个windows则 boot02.efi 以此类推

点评

明白了,谢谢!  详情 回复 发表于 7 天前
mygamexxx 发表于 7 天前
hilsonma 发表于 2025-3-25 19:32
用的是bcdedit. 把device 和 osdevice 设置为 locate=\Windows 这样的内容,也可参考14楼szwp 的提示,设 ...

请教:是不是将不同的\windows改名如\win101,然后用locate=\win101?

点评

不要轻易将已安装的系统的文件夹改名,容易出错。 如果一台电脑里不止一个windows, 文件夹都是\Windows,你就看这文件夹里有什么是唯一的,跟别的不相同的,用它来locate定位 如果你能改名,那不如添加文件,比如  详情 回复 发表于 7 天前
szwp 发表于 2025-3-27 14:53:02
多硬盘多系统要确定引导上次还是默认需要写更多代码
mygamexxx 发表于 2025-3-27 13:57:02
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
chen463 发表于 2025-3-27 09:38:29

换位思考,直接使用reboot不就是全通用配备windows
szwp 发表于 2025-3-26 10:05:21
wintoflash 发表于 2025-3-26 10:01
这跟metro启动菜单差不多啊,其实写个native程序就能做到,不需要pe带桌面,但是太脱裤子放屁了。

有喜欢曲线的,那就绕吧。
wintoflash 发表于 2025-3-26 10:01:14
szwp 发表于 2025-3-26 09:53
可以用BCD传参给PE或系统,进去后再重启或关机,只是这条曲线不知道有没人高兴去玩了。
还可以根据参数 ...

这跟metro启动菜单差不多啊,其实写个native程序就能做到,不需要pe带桌面,但是太脱裤子放屁了。

点评

有喜欢曲线的,那就绕吧。  详情 回复 发表于 2025-3-26 10:05
szwp 发表于 2025-3-26 09:53:59
wintoflash 发表于 2025-3-26 08:43
uefi下如何实现?
利用blacklotus漏洞?

可以用BCD传参给PE或系统,进去后再重启或关机,只是这条曲线不知道有没人高兴去玩了。
还可以根据参数决定是否去一次性启动G4E序列。

点评

这跟metro启动菜单差不多啊,其实写个native程序就能做到,不需要pe带桌面,但是太脱裤子放屁了。  详情 回复 发表于 2025-3-26 10:01
wintoflash 发表于 2025-3-26 08:43:57
szwp 发表于 2025-3-26 08:03
用BCD来重启不是绝对不可能,只是弯绕得有点远

uefi下如何实现?
利用blacklotus漏洞?

点评

可以用BCD传参给PE或系统,进去后再重启或关机,只是这条曲线不知道有没人高兴去玩了。 还可以根据参数决定是否去一次性启动G4E序列。  详情 回复 发表于 2025-3-26 09:53
hilsonma 发表于 2025-3-26 08:20:39
gmy 发表于 2025-3-25 21:09
刚刚又测了一台,UEFI模式下U盘启动BCD菜单进入Windows,无法进入Legacy模式安装的32位Win7。

32位win7不能使用64位的efi来启动,需要使用32位的efi
32位的efi 只能用在32位的设备,64位的设备不能用32位的efi只能用64位的efi.
现在的电脑基本是64位的,只有极少数平板是32位的。
所以,64位的电脑uef启动只能用64位的系统,64位的电脑legacy启动则可以是64位或32位的系统。
szwp 发表于 2025-3-26 08:03:29
hilsonma 发表于 2025-3-25 19:32
用的是bcdedit. 把device 和 osdevice 设置为 locate=\Windows 这样的内容,也可参考14楼szwp 的提示,设 ...

用BCD来重启不是绝对不可能,只是弯绕得有点远

点评

uefi下如何实现? 利用blacklotus漏洞?  详情 回复 发表于 2025-3-26 08:43
hilsonma 发表于 2025-3-26 07:59:10
本帖最后由 hilsonma 于 2025-3-26 08:03 编辑
gmy 发表于 2025-3-25 21:09
刚刚又测了一台,UEFI模式下U盘启动BCD菜单进入Windows,无法进入Legacy模式安装的32位Win7。

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)就可以了
2011wolfsina 发表于 2025-3-25 20:57:59
bcd能够用locate搜索加载vhd或wim吗?
hilsonma 发表于 2025-3-25 19:32:05
gmy 发表于 2025-3-25 19:05
测了几台,成功了,简单、实用。悄悄问一句,用的BOOTICE命令行?。再挑战一下,添加两个选项:重启;关 ...

用的是bcdedit. 把device 和 osdevice 设置为 locate=\Windows 这样的内容,也可参考14楼szwp 的提示,设置更精准的内容。

重启和关机 uefi的bcd不支持。

点评

请教:是不是将不同的\windows改名如win101,然后用locate=win101?  详情 回复 发表于 7 天前
用BCD来重启不是绝对不可能,只是弯绕得有点远  详情 回复 发表于 2025-3-26 08:03
hilsonma 发表于 2025-3-25 19:28:55
szwp 发表于 2025-3-25 18:49
ok好像搞成功用U盘启动硬盘的uefi  xp

是的。我在回贴给gmy前也做过这样的尝试,成功了。
就是把修正bcc的那2个设备partition=c: 这样的参数改成你说的参数 locate=\Windows 之类

点评

gmy
刚刚又测了一台,UEFI模式下U盘启动BCD菜单进入Windows,无法进入Legacy模式安装的32位Win7。[attachimg]556223[/attachimg]  详情 回复 发表于 2025-3-25 21:09
gmy 发表于 2025-3-25 19:05:21
hilsonma 发表于 2025-3-25 15:14
根据以上几楼的提示,uefi的bcd不能引导g4e,但可以使用locate 来引导硬盘系统

测了几台,成功了,简单、实用。悄悄问一句,用的BOOTICE命令行?。再挑战一下,添加两个选项:重启;关机,能否实现?

点评

用的是bcdedit. 把device 和 osdevice 设置为 locate=\Windows 这样的内容,也可参考14楼szwp 的提示,设置更精准的内容。 重启和关机 uefi的bcd不支持。  详情 回复 发表于 2025-3-25 19:32
szwp 发表于 2025-3-25 18:49:57
hilsonma 发表于 2025-3-25 15:14
根据以上几楼的提示,uefi的bcd不能引导g4e,但可以使用locate 来引导硬盘系统

ok好像搞成功用U盘启动硬盘的uefi  xp

点评

是的。我在回贴给gmy前也做过这样的尝试,成功了。 就是把修正bcc的那2个设备partition=c: 这样的参数改成你说的参数 locate=\Windows 之类  详情 回复 发表于 2025-3-25 19:28
小灰兔 发表于 2025-3-25 18:34:48
来了解下
chen463 发表于 2025-3-25 17:22:01
本帖最后由 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:19:27
本帖最后由 hzyry2046 于 2025-3-25 17:21 编辑

不可行,efi版的WINDOWS Boot Manager只能运行winload/winresume/memtest,不能再加载其他的非微软efi
my9823 发表于 2025-3-25 17:07:53
本帖最后由 my9823 于 2025-3-25 17:10 编辑

试试bcdedit的命令行呢?记得以前修改ventoy的wimboot.img中的bcd里面关于分辨率的那一条,用bootice怎么修改都不行,用命令行修改成功了。建议尝试一下,不知道行不行?
hilsonma 发表于 2025-3-25 15:14:30
根据以上几楼的提示,uefi的bcd不能引导g4e,但可以使用locate 来引导硬盘系统 bcd.7z (3.55 KB, 下载次数: 27)

点评

gmy
测了几台,成功了,简单、实用。悄悄问一句,用的BOOTICE命令行?。再挑战一下,添加两个选项:重启;关机,能否实现?  详情 回复 发表于 2025-3-25 19:05
ok好像搞成功用U盘启动硬盘的uefi xp  详情 回复 发表于 2025-3-25 18:49
szwp 发表于 2025-3-25 15:06:05
wintoflash 发表于 2025-3-25 14:57
你直接在帖子一开头说明自己需要通过BCD实现搜索并启动Windows的功能就好了,因为论坛里面已经有相应的帖 ...

可以根据不同系统的唯一文件来定位不同系统分区启动。

QQ20250325-150445.png (1.24 KB, 下载次数: 4)

QQ20250325-150445.png
wintoflash 发表于 2025-3-25 14:57:22
本帖最后由 wintoflash 于 2025-3-25 15:02 编辑

你直接在帖子一开头说明自己需要通过BCD实现搜索并启动Windows的功能就好了,因为论坛里面已经有相应的帖子了。
这种功能只靠微软官方引导就能实现,不需要g4d/g4e。

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=426000

点评

可以根据不同系统的唯一文件来定位不同系统分区启动。  详情 回复 发表于 2025-3-25 15:06
gmy 发表于 2025-3-25 13:47:49
chen463 发表于 2025-3-25 13:10
BOOTICE打开当前系统BCD,不就有答案,何须向外自找烦恼

不通用。

点评

换位思考,直接使用reboot不就是全通用配备windows  详情 回复 发表于 2025-3-27 09:38
你直接在帖子一开头说明自己需要通过BCD实现搜索并启动Windows的功能不就行了吗? 这种功能只靠微软官方引导就能实现,不需要什么g4d/g4e。 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=426000  详情 回复 发表于 2025-3-25 14:57
szwp 发表于 2025-3-25 13:12:04
wintoflash 发表于 2025-3-25 11:52
请问locate可以用于Windows系统(非VHD)吗?

可以
chen463 发表于 2025-3-25 13:10:05
BOOTICE打开当前系统BCD,不就有答案,何须向外自找烦恼

点评

gmy
不通用。  详情 回复 发表于 2025-3-25 13:47

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-4-4 14:32

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表