无忧启动论坛

标题: Ventoy 启动 ISO,提高在 BIOS 模式下的的兼容性 [打印本页]

作者: nullren    时间: 2022-6-11 16:17
标题: Ventoy 启动 ISO,提高在 BIOS 模式下的的兼容性
本帖最后由 nullren 于 2022-6-27 21:34 编辑

Ventoy 制作 GPT格式启动U盘
在BIOS模式下,启动 ISO文件,在少部分电脑上存在出一个黑屏卡死的情况。如下图(我没有上传附件的权限,所以从坛友的贴子里盗了一张图):

::

但是这个ISO文件如果用GRUB方式启动正常。

有个变相的解决方法:
启动 grub4dos ,然后再用 grub4dos 以及相关工具 加载 这个IOS文件,可以成功,可用 SISO 加 RUN  启动。经测试全部成功。


那就先在Ventoy,自定义菜单 ,加一条,   

menuentry '【运行 Grub4dos】 ' --class grub {
        ntldr ${vtoy_iso_part}/ventoy/grldr
    }

把 grldr  run siso back.gz hk22.hex 等文件放在U盘可见区的/ventoy目录下
grldr 内置菜单

title [1]以兼容方式启动 Usm_PE_Full_完整版.ISO\n以兼容方式启动Usm_PE_Full_完整版.ISO
find --ignore-floppies --ignore-cd --set-root /ventoy/SISO
command /ventoy/SISO RUN=--loadfont  /ISO/Usm_PE_Full_完整版.ISO
command (fd11)/NTBOOT.CMD/RUNS (hd0,0)/ISO/Usm_PE_Full_完整版.ISO


而且 启动的带菜单的PE-ISO,比如说 U盘魔术师的 USM ,老毛桃大白菜之类,内部的PE都可以启动了。(因为启动变成了GRUB引导而不是Ventoy)




不过这样带来另外一个问题(这个问题与Ventoy无关,而是用GRUB加载这种ISO文件都有这个情况,直接把ISO刻录成光盘启动正常),有些PE进桌面无法加载外置驱动或软件。这个也可以解决,比如说 U盘魔术师的 USM-v5f.iso
它开了接口,只要在U盘根目录下放个
USMSTART.ini 内容如下:
  1. EXEC  \ISO\重新加载外置工具包.bat
复制代码

然后在U盘ISO目录下放一个批处理  重新加载外置工具包.bat 内容如下
ECHO imdisk -a -o ro -f %CD%ISO\Usm_PE_Full_完整版.ISO -m #: >>X:\123.BAT
X:\123.BAT >X:\drvinfo.txt

这样就可以自动加载外置包。



////////////////////////////////////////////////////////////

总的来说:
就是让 Ventoy 在 BIOS 模式下,转用 GRUB 启动(GRUB在BIOS模下式兼容性很高)
在UEFI模式下直接用 Ventoy 加载 ISO
提高了兼容性。

可以做一个  以兼容方式启动.iso 的文件,让 Ventoy 主菜单中可以选择加载 ,进去之后,就是把  Ventoy 列出来的ISO,在GRUB2DOS中列出来:




这样,我们不需要在主界面上按F7,直接就一键用 GRUB4DOS 方式启ISO,以提高兼容性

(自动列表)
find --ignore-floppies --ignore-cd --set-root /ventoy/SISO
command /ventoy/SISO RUN=--loadfont --automenu-all /ISO/
或者可以指定只显示什么类型的文件 automenu show.iso.wim.vhd.vhdx.efi.img /ISO/  
这样选哪个文件,就以GRUB4DOS中的 SISO方式启动哪个文件

(启动所选的文件)

这种兼容性本质上是这样:
利用GRUB4DOS在BIOS/CMS/Legacy 强大的兼容能力。

Ventoy 是把ISO文件,加载到一个虚拟光驱里启动,启动之后的系统里仍然有这个虚拟光驱,其内容就是ISO文件本身。
用以上兼容方式处理,Ventoy 先加载 GRUB4DOS 的ISO,然后启动GRUB4DOS,此时Ventoy已退出,其加载的虚拟光驱已消失,
GRUB4DOS 是把ISO文件,模仿成硬盘HD0,以这硬盘启动,启动之后系统里是没有的。





5.png (198.08 KB, 下载次数: 249)

5.png

6.png (196.35 KB, 下载次数: 258)

6.png

作者: 9527sss    时间: 2022-6-11 18:37
多谢分享
作者: 2013lirunext    时间: 2022-6-12 20:34
本帖最后由 2013lirunext 于 2022-6-12 20:35 编辑

“想做一个 grub4dos.iso 包,让 Ventoy 主菜单中可以选择加载 ,而不是按F6转来转去。不知怎么搞”——试试:
1、下载grub4dos,用bootice工具编辑grldr文件,写上你想要的命令,保存。
2、用UltraISO创建个可启动的ISO镜像,把grldr文件拖到iso里根目录,用UltraISO把grldr设置为启动项,保存为iso文件。
3、上一步的iso放到u盘,用ventoy启动试试。


有些启动盘是自带搜索U盘里的iso并显示出来让你启动的功能,我以前研究过,相关文件和命令给提取出来了做成了自己的合盘iso,不过也不知道丢哪里了,你先试试,不行的话我再研究一下,给你做个出来。
作者: gomail    时间: 2022-6-12 21:13
Ventoy在UEFI引导的兼容性好些
作者: nullren    时间: 2022-6-12 22:03
2013lirunext 发表于 2022-6-12 20:34
“想做一个 grub4dos.iso 包,让 Ventoy 主菜单中可以选择加载 ,而不是按F6转来转去。不知怎么搞”——试 ...

谢谢,已搞好。
之前没搞好,主要是直接用别人的ISO改的,启动项忘了导入,总是提示GRLDR版本过低
作者: bmw32567    时间: 2022-6-13 17:14

作者: 15159050498    时间: 2022-6-13 18:30
GPT分区表可以启动Legacy,第一次听说
作者: nullren    时间: 2022-6-13 21:04
本帖最后由 nullren 于 2022-6-15 00:11 编辑
15159050498 发表于 2022-6-13 18:30
GPT分区表可以启动Legacy,第一次听说

Legacy 直译的意思是:过去遗留的,
现在主板中往往是以UEFI为主体,然后模仿出一些中断功能,开启CMS 即 Compatibility Support Module(兼容支持模式),用来支持Legacy (过去的)模式,
所以现在的Legacy模式,直接支持GPT格式启动。同时GPT格式的第一个扇区也有类MBR信息用于支持启动。

INTEL 2005年就在搞UEFI,大约2010年被接受。
所以只要不是十几年前的电脑,一般都可以启动的。

也不排除象工控机,古老的平板电脑,残缺的或人为的BIOS,会启不动。
作者: 诚实谎言    时间: 2022-6-13 22:15
改天认真学习一下
作者: zsy2014    时间: 2022-6-14 19:19
我用的时候有的iso会花屏不知道什么情况
作者: 15159050498    时间: 2022-6-14 20:54
nullren 发表于 2022-6-13 21:04
Legacy 直译的意思是:过去遗留的,
现在主板中往往是以UEFI为主体,然后模仿出一些中断功能,开启CMS  ...

感谢指教
作者: xiaojiejun    时间: 2022-6-18 17:03
谢谢分享
作者: nullren    时间: 2022-6-27 20:42
更新了几张图。之前没有权限上图,见一楼
作者: 2010XwX    时间: 2022-6-28 07:53
    我的做法恰恰和你相反,以 USM v6.0 为基,制作 UD 三分区移动盘,可以适应绝大多数新旧电脑的启动和维护。在 BIOS 启动菜单选项,修改添加了 【5】【6】【7】三项,整合了 G4D_RUN 自定义映像 + Grub2FM 文件管理器 + Ventoy,可择优选择启动加载其它各类映像PE文件 ISO,WIM,IMG,VHD,EFI 等。【7】Ventoy 管理器可以直接启动 Ventoy.vhd 虚拟硬盘映像,以及实体二分区 ventoy U盘。在UEFI 启动界面,也同样满足 BIOS 启动时所整合的功能。
图1:USM v6 BIOS 启动菜单
图2:USM v6 BIOS 启动 【7】ventoy 管理器
图3:USM v6 UEFI 启动菜单

以上仅供参考交流

6USM_BIOSm.jpg (324.5 KB, 下载次数: 274)

6USM_BIOSm.jpg

6USM_BIOS_Ventoy.jpg (113.46 KB, 下载次数: 262)

6USM_BIOS_Ventoy.jpg

6USM_UEFI.jpg (177.38 KB, 下载次数: 248)

6USM_UEFI.jpg

作者: nullren    时间: 2022-6-28 10:03
2010XwX 发表于 2022-6-28 07:53
我的做法恰恰和你相反,以 USM v6.0 为基,制作 UD 三分区移动盘,可以适应绝大多数新旧电脑的启动和维 ...

你这个挺好。
我一直用UD方式启动U盘,直到近来经常需要给国产电脑维护,麒麟/飞腾/龙芯 的CPU,ARM64以及MIPS架构的,麒麟或统信的操作系统。
这样UD方式GRUB4DOS是运行不了的。

所以才找到这里的Ventoy,只在它才能一个U盘通吃异构平台。
作者: szyang    时间: 2022-7-2 13:25
多谢分享!
作者: 西瓜太郎123    时间: 2022-7-12 09:21
我在使用过程中  很多电脑要关闭安全启动  好麻烦
作者: 无知    时间: 2022-8-13 19:16
能不能把用到的文件打包分享一下
作者: 9527sss    时间: 2022-8-13 20:10

多谢分享
作者: 2012jesson    时间: 2022-8-15 13:58
多谢分享
作者: wzsx150    时间: 2022-9-21 12:37
感谢分享,NB
作者: 香国妙手    时间: 2022-10-3 16:04
谢谢分享
作者: iwangz    时间: 2022-10-6 16:42
2010XwX 发表于 2022-6-28 07:53
我的做法恰恰和你相反,以 USM v6.0 为基,制作 UD 三分区移动盘,可以适应绝大多数新旧电脑的启动和维 ...

你这方法看起来不错,试试看
作者: 1983    时间: 2022-10-6 21:08
感谢分享
作者: m92sf    时间: 2022-10-12 11:16
感谢楼主分享
作者: iawhong    时间: 2022-10-30 15:44
感谢分享!
作者: dmlt001    时间: 2022-10-31 11:34
看起来很牛,谢谢分享
作者: nanan84563    时间: 2022-10-31 14:48
纯国产pc安装有时候全黑无界面,能启动
作者: aaa1942    时间: 2022-11-9 21:17
nullren 发表于 2022-6-12 22:03
谢谢,已搞好。
之前没搞好,主要是直接用别人的ISO改的,启动项忘了导入,总是提示GRLDR版本过低

grub4dos.iso,兄弟,能否分享一下你做的,谢谢了
作者: 2010RENDQ    时间: 2022-11-26 17:00
我也遇到这样的问题,即使用文本模式也不行,后来发现按F1全内存模式就不会这样了。
作者: 38836369    时间: 2022-11-27 19:51
厉害,我刚接触ventoy做出来后蓝框乱码,然后看来介绍说兼容不好升级一下小文件解决了,然后用起来就好了,现在有个问题就是:如果用gpt格式做的u盘,如果老电脑是传统mbr方式引导可以用吗
作者: 拱猪的小白菜    时间: 2022-11-28 09:25
感谢分享!!!
作者: gaohuagxc    时间: 2022-11-28 11:34
多谢分享
作者: adminyy    时间: 2022-11-28 17:05
谢谢分享




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3