无忧启动论坛
标题: 如何把每次发布的ventoy新版部署到esp+ntfs+ext4+apfs的本地硬盘中 [打印本页]
作者: qj_tzy 时间: 2025-8-27 11:33
标题: 如何把每次发布的ventoy新版部署到esp+ntfs+ext4+apfs的本地硬盘中
本帖最后由 qj_tzy 于 2025-9-2 12:34 编辑
如何把每次发布的ventoy新版部署到esp+ntfs+ext4+apfs的本地硬盘中
我的nvme2本地引导硬盘的分区结构为esp+ntfs+ext4+apfs。
目前,我只会帖子http://bbs.wuyou.net/forum.php?mod=viewthread&tid=432540&extra=page%3D2中发布的ventoy 1.097修改硬盘版,将之部署到nvme2硬盘的esp分区和第一个即ntfs分区的ventoy目录中,引导ventoy成功。
但将ventoy发布的新版本(以目前的最新版1.107为例),不论是先安装在U盘,或无损安装在另一ssd硬盘中,将安装好的文件,复制到nvme2硬盘的esp分区和ntfs分区的ventoy目录中,引导ventoy失败。
诚请各位大大们指导,如何修改,才能作上述部署。诚谢!
注:1.创建ventoy的vhd、如何引导、版本升级,已成功,详见23#、27#、26#、53#,诚谢各位网友的悉心指点!!
2.ventoy1.107部署到硬盘的方法,暂时得到解决,详见http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=447427&pid=5824922&fromuid=349593
,但ventoy的更新版本推出后,我是无法解决的,只有chen463大这样的高手才能解决。
作者: 2012hb520wz 时间: 2025-8-27 14:37
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1,这个直接放硬盘根目录,改属性为只读、隐藏,比你升级的官方版本香多了。
作者: qj_tzy 时间: 2025-8-27 15:01
这个我浏览过,但不知如何diy,才能有win+linux+mac+winpe的引导菜单,还请指点,诚谢!
作者: dksoft 时间: 2025-8-27 15:43
感谢分享
作者: mygamexxx 时间: 2025-8-27 18:46
将VENTOY安装到一个VHD中,放置在硬盘,使用时map加载VHD。
要升级,将VHD挂载,直接可以升级。升级后卸载。
作者: aduge38 时间: 2025-8-27 18:51
灰常感谢分享
作者: handsome_xiang 时间: 2025-8-27 20:14
感谢分享!
作者: qj_tzy 时间: 2025-8-27 21:13
这是用grub4dos的leagcy方式吗,若是这样,我希望是uefi引导方式
作者: ybbao 时间: 2025-8-27 21:22
这个方法是最实在的。也是最好的,唯一就是每次升级要修改一下grub.cfg
作者: zdlzj 时间: 2025-8-28 07:23
@mygamexxx,请问如何把VENTOY安装到一个VHD中?
作者: nbhai2018 时间: 2025-8-28 08:34
ventoy+gurb2浏览器混合双打版,便携、纯绿色、自由diy
http://bbs.wuyou.net/forum.php?m ... &fromuid=756631
(出处: 无忧启动论坛)
作者: guong 时间: 2025-8-28 11:17
来了解一下
作者: mygamexxx 时间: 2025-8-28 12:12
UEFI可以用G4E或GRUB2,map加载VHD,VHD中的VENTOY按官方说明配置成UEFI。
作者: mygamexxx 时间: 2025-8-28 12:14
建一个VHD,挂载,按官方说明安装至VHD所在磁盘。
作者: qj_tzy 时间: 2025-8-28 14:04
感谢回复,我试下,不懂时再请谢!
作者: qj_tzy 时间: 2025-8-28 14:52
本帖最后由 qj_tzy 于 2025-8-28 15:00 编辑
我在硬盘管理中创建一个vhdx(大小1G、一个ntfs分区、动态),挂载,用ventoy最新版->显示所有设备->选该盘->勾掉“安全启动支持” ->分区类型选GPT->安装成功->在其第一分区建立ventoy目录->拷入事先做好的ventoy.json、ventoy_grub.cfg、winpe和iso的vlnk文件(用VentoyVlnk创建)->用xorboot引导该vhd->出现似为\windows\system32\winload.efi文件丢失的提示。
还请指导,后续如何处理,诚谢!
作者: ybbao 时间: 2025-8-28 16:03
应该是VHD,固定大小。
其他的可以参考:http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
作者: ybbao 时间: 2025-8-28 16:05
看了下。
xorboot是启动win 的VHDX的,不是启动这种启动型的vhd。所以,还是按照上面的帖子在esp分区加入grub或grub4dos来启动这个vhd
作者: ybbao 时间: 2025-8-28 16:07
但将ventoy发布的新版本,不论是先安装在U盘,或无损安装在另一ssd硬盘中,将安装好的文件,复制到nvme2硬盘的esp分区和ntfs分区的ventoy目录中,引导ventoy失败。
-------------------------------------
覆盖后
把原ventoy 1.097中的/grub/grub.cfg再覆盖过去,基本就可以了。
作者: seeimpact153 时间: 2025-8-28 17:56
vhd是gpt分区动态大小的吗
作者: ybbao 时间: 2025-8-29 07:41
创建VHD文件必须是固定大小,不能用动态的。
作者: ybbao 时间: 2025-8-29 08:01
也可以看
http://bbs.wuyou.net/forum.php?m ... page%3D1&page=3
#87楼
修改 ISO_part的硬盘标识
作者: qj_tzy 时间: 2025-8-29 10:45
我作了以下两种尝试,均告失败:
一、ventoy部署到硬盘修改grub.cfg
将ventoy发布的新版本,先安装在U盘,将安装好的文件,复制到nvme2硬盘的esp分区和ntfs分区的ventoy目录中
按网友ybbao在19#的提示,将原ventoy 1.097中的/grub/grub.cfg再覆盖过去,结果启动到grub>的命令行状态
再按网友ybbao在22#的提示,将grub.cfg的如下两处进行修改
原:
set vtoy_iso_part=(hd$vtid,1)
set vtoy_efi_part=(hd$vtid,2)
修改为:
set vtoy_iso_part=(hd$vtid,2)
set vtoy_efi_part=(hd$vtid,1)
也启动到grub>的命令行状态。
二、创建ventoy的vhd
在硬盘管理中创建一个vhdx(大小1G、一个ntfs分区、动态),挂载,用ventoy最新版->显示所有设备->选该盘->勾掉“安全启动支持” ->分区类型选GPT->安装成功->在其第一分区建立ventoy目录->拷入事先做好的ventoy.json、ventoy_grub.cfg、winpe和iso的vlnk文件(用VentoyVlnk创建)->用xorboot引导该vhd->出现似为\windows\system32\winload.efi文件丢失的提示。
按网友ybbao、seeimpact153的提示,该VHD须为固定大小,不能为动态大小。
于是按上述流程重新创建固定大小的vhd,并用windows的bootmgr管理器引导vhd,即用bootice打开\EFI\Microsoft\Boot\下的bcd->新建vhd启动项->启动硬盘选nvme2->启动分区选esp->设备文件选按上述方法做好并存放在esp分区根目录的\ventoy.vhd->文件后的分区选32M的VTOYEFI分区->启动文件选\efi\boot\grubx64_real.efi->系统路径选\或\grub或\ventoy->保存,重启,提示\efi\boot\grubx64_real.efi损坏或丢失。
作者: qj_tzy 时间: 2025-8-29 12:06
再测试用grub4dos-uefi引导,即编辑\efi\grub\下的menu.lst,其内容如下,用\efi\grub\下的BOOTX64.EFI引导,提示\efi\boot\grubx64_real.efi损坏或丢失:
#title 使用外部命令 NTBOOT 启动 WIM/VHD (方案2)
find /ventoy.vhd | set bd=
%bd%/efi/grub/ext/ntboot %bd%/ventoy.vhd winload=/efi/boot/grubx64_real.efi minint=1
boot
作者: mygamexxx 时间: 2025-8-29 12:43
iftitle [if %@uefi%==64] 启动 ventoy\n启动/efi/grub2/ventoy.vhd
map /efi/grub2/ventoy.vhd (hd)
chainloader (hd-1,0)+1
boot
-
wechat_2025-08-29_124045_238.png
(14.55 KB, 下载次数: 77)
-
wechat_2025-08-29_124059_995.png
(18.01 KB, 下载次数: 42)
-
wechat_2025-08-29_124125_588.png
(12.65 KB, 下载次数: 73)
作者: mygamexxx 时间: 2025-8-29 12:51
本帖最后由 mygamexxx 于 2025-8-29 13:06 编辑
用官方下载的新版安装文件更换VHD中的ventoy-1.1.05中的全部文件 ,启动安装文件(如果看不到硬盘,在菜单中选择:显示所有设备),点【升级】,一定不要点【安装】!!!
-
wechat_2025-08-29_130221_615.png
(30.89 KB, 下载次数: 63)
-
wechat_2025-08-29_130246_906.png
(30.67 KB, 下载次数: 51)
作者: qj_tzy 时间: 2025-8-29 13:11
在您的提示下,我将grub4dos启动菜单改为:
#iftitle [if %@uefi%==64] 启动 ventoy.vhd
find /ventoy.vhd | set bd=
map --mem %bd%/ventoy.vhd (hd)
chainloader (hd-1,0)+1
boot
引导vhd成功,出现ventoy界面,且用其中的引导项引导正常,非常感谢您的指点!!
作者: wych12 时间: 2025-8-29 13:20
学习一下!
作者: qj_tzy 时间: 2025-8-29 15:17
目前创建固定大小的vhd,已启动成功。
经我测试,创建动态扩展的vhdx方式引导时会找不到其内的文件。
作者: qj_tzy 时间: 2025-8-29 15:20
本帖最后由 qj_tzy 于 2025-8-29 15:22 编辑
ventoy新版部署到硬盘、修改grub.cfg的方法,还未成功,详见23#,还诚请指点为谢!
作者: ybbao 时间: 2025-8-29 15:36
要看你现在的硬盘分区,如果你用vhd的方式,可以忽略:set vtoy_efi_part=(hd$vtid,1)
---------------------------
下面单说这个:
set vtoy_iso_part=(hd$vtid,2)
要看你的iso、wim、vhd等文件和文件配置放哪里,如果放在vhd里面,那这个就是
set vtoy_iso_part=(hd$vtid,1)
set vtoy_efi_part=(hd$vtid,2)
或
set vtoy_iso_part=(hd1,1)
set vtoy_efi_part=(hd1,2)
假设:硬盘的是ESP分区,iso、wim、vhd等文件和文件配置放在硬盘的分区2里面
set vtoy_iso_part=(hd0,2)
PS:(hdx,y)
x=0,1,2,3
y=1,2,3
作者: qj_tzy 时间: 2025-8-29 16:32
我的电脑只有2个硬盘,其中esp分区为(hd2,1),iso所在的分区为(hd2,2)下的ventoy目录,按照您的提示修改后,仍启动到grub>命令行,是否还须修改grub.cfg的其他地方吗
作者: chen463 时间: 2025-8-29 16:58
本帖最后由 chen463 于 2025-8-29 17:36 编辑
您要搬运到硬盘上,首先您需要先了解启动VENTOY的结构。
官方版:EFI主引导位于第二FAT分区,分区大小32mb限制,ISO位于第一分区-有多种通用格式。可建立第三分区。
魔改版:为了要放在硬盘esp分区,不让受限在32mb大小限制且不受限在第二分区,所以才有了硬盘修正版。
此魔改版共分了两个版本,一版是放在第一分区里面,另一版放在第二分区里面,限制都已经解放。
问题来了:
1. BOOTX64.EFI( grubx64_real.efi)文件不要覆盖混乱使用,该使用在哪一版就使用在哪一版。
2. grub.cfg文件不要随意乱改使用,里面相关位置要对应您的分区结构修正有几处。
3. set vtoy_efi_part=(hd$vtid,2), set vtoy_iso_part=(hd$vtid,1)这是官方版
set vtoy_efi_part=(hd$vtid,1), set vtoy_iso_part=(hd$vtid,2)这是魔改版,也可以同分区efi_part=(hd$vtid,1), iso_part=(hd$vtid,1),看您分区使用得情况而定,iso_part也可以放后面3456789。建议放在同分区1,1-esp分区里面,省得麻烦
4. 硬盘更新版本的时候,把原来的BOOTX64.EFI(grubx64_real.efi)、grub.cfg文件更名避免覆盖,更新后换回来就成功啰!
5. 有使用Legacy BIOS注意core.img文件就是了。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=435653&fromuid=87737
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=435394&fromuid=87737
作者: qj_tzy 时间: 2025-8-29 17:08
感谢回复!
我是想请教:把官方版安装到U盘上后 ,把其第二分区的文件复制到硬盘的esp分区,在硬盘的第二分区建立ventoy目录并拷入iso、wim等相关文件,除用grubx64_real.efi做引导文件和按上述提示修改esp分区\grub\目录下的grub.cfg外,其他还需修改什么吗,诚请指导!!
作者: chen463 时间: 2025-8-29 17:13
本帖最后由 chen463 于 2025-8-29 20:00 编辑
红字标那么大了,您没理解,
全COPY进入啦!再把原来那几个您原先设定的相关文件复制进来覆盖完成。
如果您有ISO、WIM等等…建议放在后面3456789分区里,空间不够呀!
-
2025-08-29_1.png
(230.68 KB, 下载次数: 48)
作者: yuanhj 时间: 2025-8-29 20:08
感谢分享
作者: qj_tzy 时间: 2025-8-29 20:27
仔细看了,还是一头雾水,感觉是这样做的,但启动后进入grub>命令行,
作者: ybbao 时间: 2025-8-29 20:30
我说的是VHD启动方式:意思是把Ventoy安装到vhd,再用grub或grub4dos map启动到Ventoy
如果是安装到硬盘方式,你要看下面#35的chen463介绍了,他是这方面的专家。
作者: ybbao 时间: 2025-8-29 20:33
有2个grub.cfg的。
一个是EFI grub.efi的启动grub.cfg,通常在ESP分区下 /EFI/grub/目录下
一个是ventoy的grub.cfg,一般在ESP分区下 /grub 目录下
作者: chen463 时间: 2025-8-30 00:03
本帖最后由 chen463 于 2025-8-30 11:17 编辑
测试
您先建立好一个VHD官方版,第一分区50MB第二分区32MB
再建立一个VHD魔改版,第一分区50MB第二分区32MB
把官方版文件各复制到官方版第二分区32MB和魔改版第一分区50MB里面,再把魔改版的BOOTX64.EFI和设定文件档grub.cfg各COPY到相对位置,测试看看能不能成功。我一次测试就成功,您如果做对了,不可能不成功。
启动后进入grub>命令行,表示引导BOOTX64.EFI已经成功,没出现错误讯息,设定文件grub.cfg再复制进去就对了。
作者: qj_tzy 时间: 2025-8-30 21:04
非常感谢回复,因事直到现在才看贴,空了试下,不清楚再问
作者: qj_tzy 时间: 2025-8-30 21:06
非常感谢回复,因事直到现在才看贴,空了试下,但我家里电脑的esp及系统不是安装在sata结构的ssd上,而是安装在nvme2硬盘上,修改grub.cfg时应该不太相同吧
作者: qj_tzy 时间: 2025-8-30 23:05
我的测试结果是:
我家中硬盘为nvme2固态硬盘,我的esp(EFI)分区是该硬盘的第一个分区是FAT32分区,第二个分区是NTFS分区,我用官方最新版1.107安装在U盘,将U盘VENTOY的内容全部复制到nvme2硬盘的efi分区,在nvme2的每二个分区建立ventoy目录并拷入所需相关文件,测试您发布的ventoy1107修改文件情况是:
1. 用发布版\efi\boot\bootx64F1-2.efi改名bootx64.efi+\grub\grub.cfg,覆盖官方版,并用bootx64.efi,引导成功!!!
2. 用发布版\efi\boot\bootx64F1-2.efi改名bootx64.efi+\grub\VTgrubF1-2-1107.cfg改名grub.cfg,覆盖官方版,并用bootx64.efi,引导成功!!!
3. 用发布版\efi\boot\bootx64.efi+\grub\grub.cfg,覆盖官方版,并用bootx64.efi,引导成功!!
4. 用发布版\efi\boot\bootx64.efi+\grub\VTgrubF1-2-1107.cfg改名grub.cfg,覆盖官方版,并用bootx64.efi,引导成功!!
若用官方版的bootx64.efi或grubx64_real.efi作引导,配置文件用修改版的grub.cfg或VTgrubF1-2-1107.cfg,均进入grub>命令行状态,由此可见,对官方版,安装到U盘后直接复制到引导硬盘的efi分区,只更改官方版\grub\grub.cfg中的vtoy_iso_part、vtoy_efi_part中的值,应该是要失败的。
作者: qj_tzy 时间: 2025-8-31 07:50
我是想弄清楚,对官方发布的ventoy最新版,在U盘安装后,将其VENTOY分区的内容全部直接复制到引导硬盘的efi分区,不更改bootx64.efi等各efi文件(因我不会),只改\grub\grub.cfg,能否正常引导?
我已将\grub\grub.cfg文档的以下两处作了如下更改
一处的其中部分:
if [ "$vtoy_dev" = "tftp" ]; then
set vtoy_path=($root)
for vtid in 0 1 2 3; do
if [ -f (hd$vtid,2)/ventoy/ventoy.cpio ]; then
set vtoy_iso_part=(hd$vtid,1)
set vtoy_efi_part=(hd$vtid,2)
set vtoydev=hd$vtid
break
fi
改为:
if [ -f (hd$vtid,1)/ventoy/ventoy.cpio ]; then
set vtoy_iso_part=(hd$vtid,2)
set vtoy_efi_part=(hd$vtid,1)
另一处:
set vtoy_iso_part=($vtoy_dev,1)
set vtoy_efi_part=($vtoy_dev,2)
改为:
set vtoy_iso_part=($vtoy_dev,2)
set vtoy_efi_part=($vtoy_dev,1)
\grub\grub.cfg的其他部分不改
用\efi\boot\grubx64_real.efi引导,出现grub>命令行
还请指点为谢!
作者: ybbao 时间: 2025-8-31 08:22
3. set vtoy_efi_part=(hd$vtid,2), set vtoy_iso_part=(hd$vtid,1)这是官方版
set vtoy_efi_part=(hd$vtid,1), set vtoy_iso_part=(hd$vtid,2)这是魔改版,也可以同分区efi_part=(hd$vtid,1), iso_part=(hd$vtid,1),看您分区使用得情况而定,iso_part也可以放后面3456789。建议放在同分区1,1-esp分区里面,省得麻烦
只改\grub\grub.cfg,能否正常引导?-----可以,用官方的bootx64.efi启动,但不能用官方的grubx64_real.efi,这个不改,就会出现grub命令行,因为是官方特制的。而且加了校验。
你要搞清楚硬盘分区,你的iso、wim、vhd文件放哪里?
nvme2硬盘的分区1--Fat32--写为:(hd0,1),也有可能是(hd1,1)或(hd2,1)
如果是分区2(NTFS)--写为:(hd0,2),也有可能是(hd1,2)或(hd2,2)
最好的方法就是在成功启动的U盘下,用命令:ls,每个hd都有对应的分区,预估一下你的硬盘,分区对应的sata硬盘还是nvme硬盘还是u盘
在U盘安装后
第一处:set vtoy_iso_part=(hd$vtid,1)----这个是U盘的分区1
改:set vtoy_iso_part=(hdx,y)
第二处:set vtoy_iso_part=($vtoy_dev,1)----这个是U盘的分区1
改:set vtoy_iso_part=(hdx,y)
作者: qj_tzy 时间: 2025-8-31 11:32
非常感谢,空时再试下
作者: qj_tzy 时间: 2025-8-31 15:24
按照你的提示,我对ventoy最新版,在U盘安装后,将其VENTOY分区的内容全部直接复制到引导硬盘的efi分区,对其\grub\grub.cfg作上述修改后,用原版的bootx64.efi(而非grubx64-real.efi)引导,结果提示无\efi\ventoy\grub.efi
不知为何,还请指点!
作者: ybbao 时间: 2025-8-31 16:52
我也是没看题。。。。。。。。。
你要硬盘引导,那只能用魔改版的grubx64_real.efi做引导。
U盘启动是用官方的就可以。
作者: qj_tzy 时间: 2025-8-31 18:27
好的,谢谢!
作者: qj_tzy 时间: 2025-8-31 19:04
本帖最后由 qj_tzy 于 2025-8-31 19:06 编辑
在您的提示下,我用chen463发布的bootx64.efi+官方发布的grub.cfg(内容按44#作了修改),引导成功,非常感谢!
作者: ybbao 时间: 2025-8-31 20:47
解决就好
作者: zyy 时间: 2025-9-1 16:22
谢谢分享,学习学习
作者: qj_tzy 时间: 2025-9-2 12:33
本帖最后由 qj_tzy 于 2025-9-2 12:35 编辑
创建的ventoy_vhd能否列显硬盘分区ventoy目录下的iso?
在某硬盘(用DiskGenius查看硬盘编号为hd3)的第2分区(NTFS或fat32分区,分区编号从1起算),建立ventoy目录并拷入ventoy.json、ventoy_grub.cfg、ventoy_vhdboot、ventoy_wimboot及用VentoyVlnk创建的iso等的链接文件。
修改vhd的第二分区即VTOYEFI分区\grub\grub.cfg如下:
第一处:
if [ "$vtoy_dev" = "tftp" ]; then
set vtoy_path=($root)
for vtid in 0 1 2 3; do
if [ -f (hd$vtid,2)/ventoy/ventoy.cpio ]; then
set vtoy_iso_part=(hd$vtid,1)
set vtoy_efi_part=(hd$vtid,2)
set vtoydev=hd$vtid
break
fi
中的一行修改为:
set vtoy_iso_part=(hd3,2)
第二处:
set vtoy_iso_part=($vtoy_dev,1)
set vtoy_efi_part=($vtoy_dev,2)
中的一行修改为:
set vtoy_iso_part=(hd3,2)
其他不修改。
用ventoy_vhd引导能列显该硬盘分区ventoy目录下的iso等的链接文件,并能正常引导各链接文件。
推荐此法,其原因是:
1.ventoy每次升级后,只需在硬盘管理中挂载该vhd,用Ventoy2Disk打开该vhd盘执行升级后,如上修改\grub\grub.cfg,卸载该vhd即可。
2.在ventoy_vhd的第一分区不需建立ventoy目录并拷入相关上述支持文件。
3.在硬盘某分区中的ventoy目录下方便随时创建或删除iso等的链接文件。
作者: chen463 时间: 2025-9-2 15:26
既然使用VHD引导,为何不建立个50MB大小,第一分区放ventoy目录,这样每次更新都不用修正grub.cfg。而又大费周章去建立其他分区。
作者: qj_tzy 时间: 2025-9-2 16:00
我已在vhd的第二分区安装的ventoy,在第一分区建立ventoy及拷入相关iso的链接文件,已引导成功。
我修改vhd中的grub.cfg,是想测试下能否列显硬盘中\ventoy中的iso等的链接文件。
作者: jadrymomo 时间: 2025-9-21 13:02
收藏
欢迎光临 无忧启动论坛 (http://wuyou.net/) |
Powered by Discuz! X3.3 |