无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 7029|回复: 82
打印 上一主题 下一主题

[分享] 将PE放入ESP盘并创建开机双引导项

    [复制链接]
跳转到指定楼层
1#
发表于 2022-4-3 11:23:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lhc0688 于 2022-5-19 21:10 编辑

5月19日:
重新写了下创建BCD引导项程序,在虚拟机、实机上测试都正常,故再发下,有兴趣的朋友可以下载使用、测试,也请高手指正;

重写的创建引导部分代码如下:
--------------------------------------------------------------
::挂载ESP盘为Z:盘;
mountvol Z: /s

::拷贝文件到ESP盘;
xcopy /S /Q /Y %~dp0ESP\*.* Z:\

::设置引导菜单等待时间为2秒
bcdedit.exe /timeout 2

::==== 以下新建一个名为“Boot from WIM”的WIM类型引导项,并默认BOOT.WIM文件为ESP盘根目录 =====

bcdedit /create  {20220520-0000-0000-0000-000000000001} /d "Boot from WIM" -application osloader
bcdedit /set {20220520-0000-0000-0000-000000000001} device ramdisk="[boot]\BOOT.WIM,{ramdiskoptions}"
bcdedit /set {20220520-0000-0000-0000-000000000001} osdevice ramdisk="[boot]\BOOT.WIM,{ramdiskoptions}"
bcdedit /set {20220520-0000-0000-0000-000000000001} locale zh-CN
bcdedit /set {20220520-0000-0000-0000-000000000001} winpe yes
bcdedit /set {20220520-0000-0000-0000-000000000001} Detecthal yes
bcdedit /set {20220520-0000-0000-0000-000000000001} systemroot \windows
bcdedit /displayorder {20220520-0000-0000-0000-000000000001} -addlast
bcdedit /create {ramdiskoptions}
bcdedit /set {ramdiskoptions} ramdisksdidevice "boot"
bcdedit /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi

echo.
ECHO WIM引导项创建完成,请重启电脑检查新建项是否正常引导...
echo.
pause

----------------------------------------------------------------------------

以下是之前帖子探讨部分:

经过几天研究,已自己解决这一问题。

目的:将BOOT.WIM放入ESP分区上,并自动新建一个“Boot from WIM”的WIM类型引导项,实现开机双引导,方便后期新装、备份、恢复系统;

前提:

1、请先确认电脑为 EFI引导+GPT分区(存在ESP分区),且ESP分区至少大于300M;
2、自己已制作好的BOOT.WIM(必须小于235M)、和boot.sdi 两个文件,并存放在当前本批处理下的 ESP目录下,目录结构为:

                 ESP\BOOT.WIM
                 ESP\boot\boot.sdi

3、命令须在实机模式下执行,勿在PE模式下运行;

结果:会在开机时增加一个“Boot from WIM”引导项,并默认等待时间为2秒(可自行设置时间),选择后将进入你自己的PE系统;
菜单项截图:




点评

值得收藏  发表于 2022-4-4 18:14

评分

参与人数 2无忧币 +6 收起 理由
cuicongyuan + 5
w8yug + 1 淡定

查看全部评分

2#
 楼主| 发表于 2022-4-3 11:27:19 | 只看该作者
高手有兴趣的,请帮忙指点、优化、除错下,在此感谢!
回复

使用道具 举报

3#
 楼主| 发表于 2022-4-3 11:30:15 | 只看该作者
如果想用更大的 BOOT.WIM,则需要在分区时,手动选择ESP大小,比如500M。。。
回复

使用道具 举报

4#
发表于 2022-4-3 11:47:44 | 只看该作者
感谢分享
回复

使用道具 举报

5#
发表于 2022-4-3 11:48:46 来自手机 | 只看该作者
esp的分区可以后期扩大么

点评

不知道,我是说在系统分区时。。。  发表于 2022-4-3 11:56
回复

使用道具 举报

6#
 楼主| 发表于 2022-4-3 12:08:18 | 只看该作者
这个是Win10下的,Win11 引导系统不知道是否一样,请慎用。
回复

使用道具 举报

7#
发表于 2022-4-3 12:38:30 来自手机 | 只看该作者
还在玩挂载啊,bcdboot多了解些,引导模式也不需限制

点评

本人是技术小白,只能针对需求临时网上查找、学习,简单实现下功能,难以学精学透。想法提出来,是否合理,是否有更好的解决方式,只能靠大神们接手操作了。  发表于 2022-4-3 15:08
回复

使用道具 举报

8#
发表于 2022-4-3 13:24:32 | 只看该作者
for /f "delims={,} ……
这里逗号是多余的,只保留{和}才是最符合你解析意图的

点评

试了下,去掉“,”确实正常,这个命令太深奥,我只是照抄,自己不理解。  详情 回复 发表于 2022-4-3 14:32
回复

使用道具 举报

9#
发表于 2022-4-3 13:26:16 | 只看该作者
{ramdiskoptions}的值呢?

点评

{ramdiskoptions} 难道不是值吗?需要如何写?  详情 回复 发表于 2022-4-3 14:36
回复

使用道具 举报

10#
发表于 2022-4-3 14:15:31 | 只看该作者
感谢分享
回复

使用道具 举报

11#
 楼主| 发表于 2022-4-3 14:32:29 | 只看该作者
hua_wuxin 发表于 2022-4-3 13:24
for /f "delims={,} ……
这里逗号是多余的,只保留{和}才是最符合你解析意图的

试了下,去掉“,”确实正常,这个命令太深奥,我只是照抄,自己不理解。
回复

使用道具 举报

12#
 楼主| 发表于 2022-4-3 14:36:38 | 只看该作者
oym2016 发表于 2022-4-3 13:26
{ramdiskoptions}的值呢?

{ramdiskoptions} 难道不是值吗?需要如何写?

点评

bcdedit /set %Guid% device ramdisk="\BOOT.WIM,{ramdiskoptions}" {ramdiskoptions}的值是告诉BOOT.WIM 去那找 boot.sdi 一般只要设定一次就行了 bcdedit /create {ramdiskoptions} bcdedit /set {ramdiskopt  详情 回复 发表于 2022-4-3 15:55
回复

使用道具 举报

13#
 楼主| 发表于 2022-4-3 14:46:24 | 只看该作者
本帖最后由 lhc0688 于 2022-4-3 14:47 编辑

我感觉把BOOT.WIM放入ESP盘是很好的方式:
1、双引导做好后,可以不用再管,ESP分区也可以单独备份,单独恢复,这样比修复引导更保险,基本不需要修复,感觉有问题就恢复下;

2、即使系统(C:)盘损坏,比如格掉,分区被误写等等,ESP盘只要在。一样可以正常引导进入PE进行分区恢复(引导菜单式样须用传统Win7,Win8以上带GUI的好像不行,缺少图形支持起不来;

3、ESP盘平时不显示,可减少生手误操作;

以上理解,不知道对不对。
回复

使用道具 举报

14#
发表于 2022-4-3 15:55:43 | 只看该作者
lhc0688 发表于 2022-4-3 14:36
{ramdiskoptions} 难道不是值吗?需要如何写?

bcdedit /set %Guid% device ramdisk="[boot]\BOOT.WIM,{ramdiskoptions}"
{ramdiskoptions}的值是告诉BOOT.WIM 去那找 boot.sdi
一般只要设定一次就行了
bcdedit /create {ramdiskoptions}
bcdedit /set {ramdiskoptions} ramdisksdidevice "boot"
bcdedit /set {ramdiskoptions} ramdisksdipath \efi\boot.sdi
::(或 \boot\boot.sdi)

点评

分区完成后,这个值会不会有个默认值?我好像没有设置过,默认是\boot\boot.sdi  发表于 2022-4-3 16:12
这样的话,还必须找个未做过双引导的电脑才能测试,有点麻烦。  发表于 2022-4-3 16:10
感谢指点! 也是就是说:如果电脑是首次分区、安装系统,那这个参数就必须指定,不然会找不到boot.sdi文件,是这样吧?  发表于 2022-4-3 16:09
回复

使用道具 举报

15#
发表于 2022-4-3 18:03:23 | 只看该作者
参考俺发的贴,没写完整版,是怕限制了抄者思路。
回复

使用道具 举报

16#
发表于 2022-4-3 18:19:15 | 只看该作者
支持了
回复

使用道具 举报

17#
 楼主| 发表于 2022-4-3 18:32:38 | 只看该作者
我看下的人也有30个,有没能反馈下,效果如何?
回复

使用道具 举报

18#
发表于 2022-4-4 08:18:09 | 只看该作者
说过狠多次了,set  path不需要抄

点评

不明白,我这样写不对吗? bcdedit /set %Guid% path \Windows\system32\boot\winload.efi 我是按照BOOTICE自动生成的界面,一项一项对照写的,当然也是网上查的例句,这样不行吗?  详情 回复 发表于 2022-4-4 11:26
回复

使用道具 举报

19#
 楼主| 发表于 2022-4-4 11:26:40 | 只看该作者
szwp 发表于 2022-4-4 08:18
说过狠多次了,set  path不需要抄

不明白,我这样写不对吗?
bcdedit /set %Guid% path \Windows\system32\boot\winload.efi

我是按照BOOTICE自动生成的界面,一项一项对照写的,当然也是网上查的例句,这样不行吗?

点评

删了不行么?等你的反馈。  详情 回复 发表于 2022-4-4 14:37
回复

使用道具 举报

20#
发表于 2022-4-4 14:37:47 | 只看该作者
lhc0688 发表于 2022-4-4 11:26
不明白,我这样写不对吗?
bcdedit /set %Guid% path \Windows\system32\boot\winload.efi

删了不行么?等你的反馈。

点评

关闭该语句,生成的启动文件部分是空白 [attachimg]499109[/attachimg]  详情 回复 发表于 2022-4-4 14:54
哪里抄的创建EXE?  发表于 2022-4-4 14:49
不行,因为创建语句生成的是exe。  发表于 2022-4-4 14:48
回复

使用道具 举报

21#
 楼主| 发表于 2022-4-4 14:54:32 | 只看该作者
szwp 发表于 2022-4-4 14:37
删了不行么?等你的反馈。

关闭该语句,生成的启动文件部分是空白

点评

这个确实是这样的。 BIOS/UEFI都能启动,省了一个BCD文件。同时也方便合盘。  详情 回复 发表于 2022-5-20 16:53
空白好啊,bios和uefi都能启动,楼主试试就知道了  详情 回复 发表于 2022-4-4 15:16
回复

使用道具 举报

22#
发表于 2022-4-4 15:16:20 | 只看该作者
lhc0688 发表于 2022-4-4 14:54
关闭该语句,生成的启动文件部分是空白

空白好啊,bios和uefi都能启动,楼主试试就知道了

点评

这个确实是这样的。 BIOS/UEFI都能启动,省了一个BCD文件。同时也方便合盘。  详情 回复 发表于 2022-5-20 16:55
空白的话WIM可以正常启动,VHD空白却不行,难道这里面还有玄机?  发表于 2022-4-6 11:56
惭愧,空白确实可以启动。但如果是新分区,不指定会不会有问题呢?  详情 回复 发表于 2022-4-4 15:24
回复

使用道具 举报

23#
 楼主| 发表于 2022-4-4 15:24:12 | 只看该作者
mrzhonghb 发表于 2022-4-4 15:16
空白好啊,bios和uefi都能启动,楼主试试就知道了

惭愧,空白确实可以启动。但如果是新分区,不指定会不会有问题呢?

点评

自己提的问题,能自己测试么?还是需要别人帮测?  详情 回复 发表于 2022-4-4 15:27
肯反馈就好。不要死抄。哪条命令添加的EXE就删了它。  详情 回复 发表于 2022-4-4 15:26
这样的话, bcdedit /set {ramdiskoptions} ramdisksdidevice "boot" bcdedit /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi 这两句是不是也可以不用写了?  详情 回复 发表于 2022-4-4 15:25
回复

使用道具 举报

24#
 楼主| 发表于 2022-4-4 15:25:52 | 只看该作者
lhc0688 发表于 2022-4-4 15:24
惭愧,空白确实可以启动。但如果是新分区,不指定会不会有问题呢?

这样的话,
bcdedit /set {ramdiskoptions} ramdisksdidevice "boot"
bcdedit /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
这两句是不是也可以不用写了?

点评

能自己试的尽量自己试。 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=426313&extra= 尽快学会不挂截  详情 回复 发表于 2022-4-4 15:35
回复

使用道具 举报

25#
发表于 2022-4-4 15:26:25 | 只看该作者
lhc0688 发表于 2022-4-4 15:24
惭愧,空白确实可以启动。但如果是新分区,不指定会不会有问题呢?

肯反馈就好。不要死抄。哪条命令添加的EXE就删了它。
回复

使用道具 举报

26#
发表于 2022-4-4 15:27:03 | 只看该作者
lhc0688 发表于 2022-4-4 15:24
惭愧,空白确实可以启动。但如果是新分区,不指定会不会有问题呢?

自己提的问题,能自己测试么?还是需要别人帮测?

点评

我之前写的-copy语句,生成的是exe,所以就加了这条set;后面改create ,习惯以为也是同样,没想到会有不同。  详情 回复 发表于 2022-4-4 16:41
测出来是哪句命令会加EXE了?  发表于 2022-4-4 15:36
我刚才不是测试了吗? 如果不是mrzhonghb朋友说空白好,我怎么会能想到要测试这个呢?  发表于 2022-4-4 15:33
回复

使用道具 举报

27#
发表于 2022-4-4 15:35:00 | 只看该作者
lhc0688 发表于 2022-4-4 15:25
这样的话,
bcdedit /set {ramdiskoptions} ramdisksdidevice "boot"
bcdedit /set {ramdiskoptions} r ...

能自己试的尽量自己试。
http://bbs.wuyou.net/forum.php?m ... d=426313&extra=
尽快学会不挂截

点评

我说的是如果电脑是“新建分区”,会不会找不到引导文件,问这个是因为不理解为何空白能引导,是不是原本有自动判断,还是因为前面产生过引导项,存在默认。 比如 set "boot" 和 boot.sd,我自己测试不设置也正  详情 回复 发表于 2022-4-4 15:47
回复

使用道具 举报

28#
发表于 2022-4-4 15:37:34 | 只看该作者
每句命令产生什么效果,是需要自己去测的。
回复

使用道具 举报

29#
发表于 2022-4-4 15:47:32 | 只看该作者
创建语句生成的是exe

能找到是哪条语句么?语句哪来的?
回复

使用道具 举报

30#
 楼主| 发表于 2022-4-4 15:47:56 | 只看该作者
szwp 发表于 2022-4-4 15:35
能自己试的尽量自己试。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=426313&extra=
尽快学会 ...

我说的是如果电脑是“新建分区”,会不会找不到引导文件,问这个是因为不理解为何空白能引导,是不是原本有自动判断,还是因为前面产生过引导项,存在默认。

比如 set  "boot" 和 boot.sd,我自己测试不设置也正常启动,但会不会在新分区状态下就不行?

这样问只是想请教下原理,我不可能现在把电脑重新分区搞测试,更不可能要求别人把电脑分区删掉为我测试,我觉得我表达也不应该让人产生这样歧义,我不知道您为何有这么大的意见。

点评

明白。我确实也感觉到szwp大技术深厚,能向他学习也是荣幸,也许是我哪里说话不周,无心中让他不开心,我又不自知吧,不管是什么,我这里先道歉!  发表于 2022-4-4 16:33
不要有抵触,SZWP大大通常都不会直接写答案的,他基本都是点一下让人自己研究,毕竟自己努力才算真正学会,SZWP大大是无忧这难得的有实力有热心的一位  发表于 2022-4-4 16:13
因为不欢迎意见,所以反馈太少吧,88。  详情 回复 发表于 2022-4-4 15:49
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-14 21:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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