无忧启动论坛

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

国产开源U盘启动工具——Ventoy 【2024/01/24 1.0.97 版本发布】

    [复制链接]
61#
 楼主| 发表于 2020-4-8 12:49:05 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-8 12:19
再来反馈个问题,还是那个优盘,Ventoy1.01版本分区,拷贝SXWIN10PEX64_17763_NET20200312.iso到里面,BI ...

是不是同一个U盘,同一个PE,插新电脑可以,老电脑就不行? 另外,老电脑是不是Legacy和UEFI都不行?

点评

是同一个优盘,同一个PE,插新电脑可以,老电脑不行,老电脑只有legacy模式,没有UEFI。兼容性感觉有问题。 另外这个优盘换个WEPE2.0.ISO,ventoy是可以启动的。 不应该是PE的问题,因为同一个PE,同一  详情 回复 发表于 2020-4-8 13:25
回复

使用道具 举报

62#
 楼主| 发表于 2020-4-8 13:37:10 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-8 13:25
是同一个优盘,同一个PE,插新电脑可以,老电脑不行,老电脑只有legacy模式,没有UEFI。兼容性感觉 ...

那就真的只能解释为兼容性问题了, 什么都不动的情况下插新电脑可以,说明Ventoy的运行机制没出错, 只能说明这套机制在老电脑上有问题,  但是换个PE ISO又可以, 还真是奇怪。
回复

使用道具 举报

63#
 楼主| 发表于 2020-4-8 13:43:34 | 显示全部楼层
adef 发表于 2020-4-8 13:30
是的,那台本本legacy可以,uefi不行。早上换了一台式机测试,legacy和uefi都没问题。有问题的本本,如果 ...

你如果方便的话在UEFI模式下,在启动界面处 按   c  键,进入一个命令行界面,然后敲两条命令:
vtdebug on
vtbreak 1



然后再按 ESC 返回,之后再选择 iso文件启动,然后中间会停下来好几次, 方便的话帮忙截截图,多谢!

点评

[attachimg]415732[/attachimg] [attachimg]415733[/attachimg] [attachimg]415734[/attachimg] [attachimg]415735[/attachimg] [attachimg]415736[/attachimg] [attachimg]415737[/attachimg] [a  详情 回复 发表于 2020-4-8 14:14
回复

使用道具 举报

64#
 楼主| 发表于 2020-4-8 14:20:38 | 显示全部楼层

多谢反馈,我分析一下
回复

使用道具 举报

65#
 楼主| 发表于 2020-4-8 14:21:29 | 显示全部楼层
wns 发表于 2020-4-8 14:08
无效的启动iso菜单怎么删除呀?就是复制pe系统后,不需要删除了,但是

启动菜单还有呀!

你是说把U盘里的ISO文件删除了,然后下次插入U盘启动的时候还是会显示出来这个ISO文件吗?

点评

wns
对的!删除pe后,下次启动还有删除pe的启动项  详情 回复 发表于 2020-4-8 14:25
回复

使用道具 举报

66#
 楼主| 发表于 2020-4-8 14:46:22 | 显示全部楼层
wns 发表于 2020-4-8 14:25
对的!删除pe后,下次启动还有删除pe的启动项

那比较奇怪,那再选择它会怎么样?会卡死吗。  另外,你U盘插入电脑后,不要直接拔掉,用弹出、安全移除之类的操作,然后再试试。

点评

wns
会卡死的,报错!  详情 回复 发表于 2020-4-8 21:16
回复

使用道具 举报

67#
 楼主| 发表于 2020-4-8 16:52:14 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-8 16:53 编辑
星星一般般8 发表于 2020-4-8 16:06
厉害厉害,制作优盘速度极快,然后我测试了微pe工具箱、优启通、微pe带网络修改版、2003pe和我自制的win10p ...

多谢反馈!
跳出命令框能否截个图看看。 另外,你自制的PE能否共享调试下。还有原版的Win7你用的是哪个ISO文件,我下来试试。 闪迪盘的问题,Ventoy默认有做过滤,应该被过滤掉了, 你可以用cmd命令行执行  Ventoy2Disk.exe -R -U (参数大小写敏感) 启动试试。
回复

使用道具 举报

68#
 楼主| 发表于 2020-4-8 22:23:50 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-8 22:39 编辑
星星一般般8 发表于 2020-4-8 16:06
厉害厉害,制作优盘速度极快,我只有win7加载后不能显示安装界面,是命令框,还有一个问题我的一个闪迪2.0 ...

更新了 1.0.02 版本,可以试试闪迪U盘是否能识别。另外,也可以用新版本再试试Windows7那个。
http://www.ventoy.net/download.html
回复

使用道具 举报

69#
 楼主| 发表于 2020-4-8 22:24:47 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-8 09:52
1.00版本我用Ventoy分区了4次,似乎还是不行,记不清了,必须要重新拔插一次优盘,电脑里面才能看到盘符 ...

更新了1.0.02版本,有空可以试试移动硬盘的识别。
http://www.ventoy.net/download.html

点评

试过了,1.02版本,列表框里面能够看到移动硬盘,但我没有用ventoy分区尝试启动,硬盘里面有东西,等待其他人尝试吧。  详情 回复 发表于 2020-4-9 07:25
回复

使用道具 举报

70#
 楼主| 发表于 2020-4-8 22:36:54 | 显示全部楼层
adef 发表于 2020-4-8 22:33
貌似木有log文件。

我指的是ubuntu那个,它不是起不来,最后进入一个 initramfs的命令行了,想让你帮我在那个里面看一下。

点评

[attachimg]415789[/attachimg]  详情 回复 发表于 2020-4-8 23:00
回复

使用道具 举报

71#
 楼主| 发表于 2020-4-8 23:09:25 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-8 23:10 编辑
hook已经生效了,感觉是udev的规则没有触发。在这个环境里,你可以看看U盘对应的那个设备文件生成了吗?  比如 如果U盘对应的是   /dev/sdb,那么应该会有  /dev/sdb /dev/sdb1 /dev/sdb2 这三个文件(Ventoy会把U盘分成2个区)

点评

是看dev目录下面的内容吗? [attachimg]415791[/attachimg]  详情 回复 发表于 2020-4-8 23:55
回复

使用道具 举报

72#
 楼主| 发表于 2020-4-9 08:41:03 | 显示全部楼层
adef 发表于 2020-4-9 00:09
貌似U盘对应的sdc

对的,那也有了,那可真是有点奇怪

点评

1.0.08b1 ok了  详情 回复 发表于 2020-4-30 14:21
回复

使用道具 举报

73#
 楼主| 发表于 2020-4-9 08:51:19 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-9 08:52 编辑
liuzhaoyzz 发表于 2020-4-9 07:25
试过了,1.02版本,列表框里面能够看到移动硬盘,但我没有用ventoy分区尝试启动,硬盘里面有东西,等待 ...

我记得你说过, 同样的Ventoy,U盘,你这个老电脑是能启动WePE那个ISO的,但是启动不了 SXWIN10PEX64_17763_NET20200312.iso 对不对?

点评

是的啊。我感觉就是grub2的exfat文件解析模块有问题。  详情 回复 发表于 2020-4-9 09:00
回复

使用道具 举报

74#
 楼主| 发表于 2020-4-9 09:02:27 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-9 09:03 编辑
liuzhaoyzz 发表于 2020-4-9 09:00
是的啊。我感觉就是grub2的exfat文件解析模块有问题。

还有一个可能, 我分析了一下, WePE那个ISO文件是 ISO9660和UDF双格式的, 你那个ISO文件是纯UDF格式的。一般来说ISO9660是最标准的光盘启动格式,尤其是对老电脑。你可以试试重新打包一下那个ISO,做成ISO9660文件格式,试试,这个只是猜测。

点评

一个ISO还能够是 ISO9660和UDF双格式吗?不懂。ISO9660是最标准的光盘启动格式,是否适用于新电脑呢? 我晚点试下。 ventoy不能对于这种udf格式做个适配吗?  详情 回复 发表于 2020-4-9 09:10
回复

使用道具 举报

75#
 楼主| 发表于 2020-4-9 09:07:05 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-9 09:00
是的啊。我感觉就是grub2的exfat文件解析模块有问题。感觉楼主的方案对于新电脑支持要比老电脑支持好点。 ...

Win7以上,是因为当前只支持WIM格式的hook。其实如果是启动后不需要挂载ISO的,理论上XP也可以。因为Ventoy就是模拟一个CDROM嘛, 你只要光驱能启动,是不管里面的系统是什么的。
回复

使用道具 举报

76#
 楼主| 发表于 2020-4-9 09:30:47 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-9 09:10
一个ISO还能够是 ISO9660和UDF双格式吗?不懂。ISO9660是最标准的光盘启动格式,是否适用于新电脑呢?
...

适配是可以的,现在不是还不确定嘛,这个只是猜测,不一定就是这个原因。 而且原版的Windows也是UDF格式,我也测过没问题的。对了,你可以拷贝个原版的Windows安装镜像在老电脑上试试。

至于格式,如果改起来麻烦,还有两种简单点的方法,选哪种都可以,你有空可以试试。
1. 做好备份后,直接用 010Editor修改你这个ISO文件, 把从 0x8260 (33376) 偏移开始的 17个字节的数据改成 56 45 4E 54 4F 59 20 43 4F 4D 50 41 54 49 42 4C 45

2.重新打包这个ISO文件,什么都不改,就是在根目录下放上这个文件 (不要改名)http://www.ventoy.net/download/ventoy.dat

这两种效果和改成ISO9660格式一样。

点评

用了这个方法,用ultraiso注册版打开这个iso,拖入entoy.dat,保存,然后老电脑BIOS下面可以启动了!  详情 回复 发表于 2020-4-9 12:40
回复

使用道具 举报

77#
 楼主| 发表于 2020-4-9 09:33:33 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-9 09:10
一个ISO还能够是 ISO9660和UDF双格式吗?不懂。ISO9660是最标准的光盘启动格式,是否适用于新电脑呢?
...

OSCdimg这个工具我没用过,不是很懂。 我是看用UltraISO打开的时候,在 文件——属性里面, WePE ISO9660 和 UDF两个都是勾上的, 你这个只有UDF是勾上的。所以才有这么一猜。

点评

你说错了吧, wepe是勾上了Joliet和udf,我的pe是勾上了udf,直接上图吧。都没有勾上ISO9660。 wepe [attachimg]415810[/attachimg] 我的pe [attachimg]415811[/attachimg]  详情 回复 发表于 2020-4-9 09:44
回复

使用道具 举报

78#
 楼主| 发表于 2020-4-9 09:49:51 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-9 09:44
你说错了吧,

wepe是勾上了Joliet和udf,我的pe是勾上了udf,直接上图吧。都没有勾上ISO9660。

他那个ISO9660虽然是灰的,但是也是有勾的,下面这个没有。

点评

wepe应该是没有启用ISO9660. http://wuyou.net/forum.php?mod=viewthread&tid=419724 Oscdimg工具支持三种文件系统格式:ISO 9660、Joliet和UDF。其中ISO 9660选项不能与Joliet或UDF选项组合,Joliet选项不能与ISO  详情 回复 发表于 2020-4-9 09:53
回复

使用道具 举报

79#
 楼主| 发表于 2020-4-9 10:04:46 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-9 09:53
wepe应该是没有启用ISO9660.
http://wuyou.net/forum.php?mod=viewthread&tid=419724
Oscdimg工具支持 ...

那怎么解释他那个有勾呢? 而且按照ISO9660的格式解析,WePE的确实能解析出目录树来,SXWIN这个确实解析不出来。
回复

使用道具 举报

80#
 楼主| 发表于 2020-4-9 13:13:43 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-9 12:40
用了这个方法,用ultraiso注册版打开这个iso,拖入ventoy.dat,保存,然后老电脑BIOS下面可以启动了!
...

你这个保存之后应该也是UDF格式吧,可能ISO9660也没有勾。我知道问题在哪了,不在格式,在于hook,老机器对应hook过的ISO文件不认。其实你这个PE不需要hook,启动之后不需要挂载ISO的,都不需要。只不过Ventoy当前版本把你的ISO认成标准Windows镜像了,做了hook.  加这个文件就是告诉Ventoy不要去hook.

点评

应该还是udf格式的。没细看。 这个问题,ventoy能否在代码层面解决,使之适配,而不是让我们去修改ISO?  详情 回复 发表于 2020-4-9 13:36
回复

使用道具 举报

81#
 楼主| 发表于 2020-4-9 15:52:34 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-9 13:36
应该还是udf格式的。

不做hook对Ventoy更简单,就是怎么判断的问题了。 各路大神的PE真的是五花八门,很难判断。对于像原版镜像这种,如果不hook,是没法安装的,对于需要有外置程序的PE,也是不行的,除非它里面兼容Ventoy。而对于全内置的PE,是不需要hook的。确实不太好办。我初步的想法有两个:一个是一刀切,比如对于1G一下的Windows镜像,全部当成全内置的PE对待,全部不hook; 还有一种是我在界面上做一个模式,你选择镜像之前按个快捷键,这一次就按照不 hook来启动。

点评

这个判断逻辑感觉太暴力了,不科学啊! 按快捷键启动,这样子也是太麻烦了。 还是要想个更好的办法,全自动才好。  详情 回复 发表于 2020-4-9 15:58
回复

使用道具 举报

82#
 楼主| 发表于 2020-4-9 16:06:45 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-9 15:58
这个判断逻辑感觉太暴力了,不科学啊!

不好想啊,比如你这个PE,我怎么知道你里面是全内置的还是需要挂载外置工具的呢?
另外,单独针对你这个PE的话,其实hook了在新电脑上也是没问题的, 那要判断电脑的BIOS的兼容性的话就更难了。
其实,我最初的想法,就是只支持原版Windows镜像的,对于PE全部不做hook, 对于需要外置应用的PE,只能它在里面兼容Ventoy了,Ventoy不再去主动兼容了。 我并不追求能兼容每一个PE。 Ventoy Compatible能被接受才是我的最终目标。

点评

世上没有绝对的,只有相对的。  详情 回复 发表于 2020-4-14 22:10
回复

使用道具 举报

83#
 楼主| 发表于 2020-4-9 16:54:03 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-9 16:56 编辑
liuzhaoyzz 发表于 2020-4-9 16:20
我不太理解ventoy的hook是什么机制。

用我通俗的理解,对于BIOS下用grub4dos map --mem pe.iso来说,map ...

实际上是Ventoy在启动的时候是虚拟了一个CDROM,这个CDROM是BIOS层面的,只在启动过程中存在。但是起来之后这个虚拟CDROM就没有了。如果是正常的通过真实的CDROM或者是普通制作的可启动U盘启动的话,那很容易找到这个CDROM或者U盘对应的盘符,然后去那里加载外置应用就可以了。
但是Ventoy是虚拟的CDROM嘛, 系统起来之后,这个就不存在了,然后PE里面我们自己的脚本起来之后,去找盘符的时候发现找不到,没有CDROM,只有一个U盘,但是U盘里咋都是一个个的ISO文件呀, PE1.iso  PE2.iso ...

我是从哪里来的呀。。。
我是咋启动起来的呀。。。
我的外置程序去哪里找呀。。。。
完事就懵逼了嘛。。

其实Ventoy的hook就是在安装程序(原版镜像)或者是我们自己的PE的程序(winpeshl.exe或者PECMD.exe) 启动之前,悄悄地把U盘里面对应的那个ISO给挂载起来了。 然后等后面程序跑起来之后,一下找到一个盘符,然后就认为自己是从这个光驱启动的,然后就很愉快地走下去了。。。。

点评

如果 pe 内置了 firadisk 驱动,可以通过创建一个小内存盘,里面包含正确的 Firadisk 配置文件及 ISO 路径,就可以让 firadisk 驱动自动找到 ISO 并挂载。 https://github.com/a1ive/grub/issues/24 当然 只适用于  详情 回复 发表于 2020-4-9 17:36
大概明白了ventoy的hook的意思,跟grub4dos的hook还是有区别的。 grub4dos的map --mem pe.iso (0xff),在实模式下虚拟出一个光驱(0xff)出来,并从上面启动,如果有firadisk这一类的驱动加持的话,这个光驱在实模  详情 回复 发表于 2020-4-9 17:15
回复

使用道具 举报

84#
 楼主| 发表于 2020-4-9 17:49:39 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-9 17:15
大概明白了ventoy的hook的意思,跟grub4dos的hook还是有区别的。

grub4dos的map --mem pe.iso (0xff) ...

你这个老电脑不能启动我觉得还没到winpeshl.exe执行这一步可能就挂死了。
Ventoy的hook是在ISO文件层面的,也就是说,Ventoy虚拟出来的这个CDROM和原始的ISO文件是有差异的,大小也不一样,注入了一些东西。然后这个“新的” ISO文件结构,可能有些老机器的BIOS不认。
回复

使用道具 举报

85#
 楼主| 发表于 2020-4-9 17:51:51 | 显示全部楼层
wintoflash 发表于 2020-4-9 17:36
如果 pe 内置了 firadisk 驱动,可以通过创建一个小内存盘,里面包含正确的 Firadisk 配置文件及 ISO 路 ...

嗯,这个我还真不知道。
其实我是真心不想做这些hook呀, Ventoy只想安心做好把ISO文件虚拟成CDROM这一步。 这套机制能应用在原版的Windows安装镜像上我就已经满意了,不强求更多的。
回复

使用道具 举报

86#
 楼主| 发表于 2020-4-9 20:34:29 | 显示全部楼层
my9823 发表于 2020-4-9 20:16
新作品支持楼主!请问这东西只对iso有用吗?其他如img如何?iso文件名有什么限制,能用中文吗?

当前只支持ISO文件,其他不支持,文件名不能有中文或空格
回复

使用道具 举报

87#
 楼主| 发表于 2020-4-9 21:16:56 | 显示全部楼层
my9823 发表于 2020-4-9 21:14
先谢谢回复。如果支持中文就好了!这样就分区根目录放个txt,里边是文件名 对应菜单中文,启动时根据文件名 ...

你别说,你这个想法我是之前就准备做成一个插件的, 就是实际ISO文件名不能有中文、空格, 但是界面显示名称可以随意, 在 插件统一的  json 配置文件里设置。
回复

使用道具 举报

88#
 楼主| 发表于 2020-4-9 22:35:17 | 显示全部楼层
江南一根葱 发表于 2020-4-9 22:09
楼主安装原版的原理跟grubfm有点类似,就是注入文件到"pe环境" 但方式不同,代码层面的原理我猜也差不多
...

是这样的,你猜的八九不离十。 Win7挂不上估计是挂载过程执行的时候,没找到ISO文件,可能是U盘盘符还没生成。
回复

使用道具 举报

89#
 楼主| 发表于 2020-4-10 09:01:35 | 显示全部楼层
星星一般般8 发表于 2020-4-9 19:28
我从网站 i tell you 下载的cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso和cn_windows_7_professi ...

感谢测试!
这两个镜像我会下载来测试一下。 另外,你的环境是虚拟机还是实体机? UEFI还是Legacy?
闪迪盘的那个, 你之前删除文件之后,是直接拔的吗? 有试试按照谨慎点的,安全移除U盘之类的操作之后,看看还会出这种情况吗?
回复

使用道具 举报

90#
 楼主| 发表于 2020-4-10 09:04:48 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-10 07:57
用最新的1.03全新分区,点的install按钮,结果老电脑按F12启动的时候看不到优盘启动项,在BIOS中,USB-HDD ...

这几个版本修改的地方其实都没有涉及到和BIOS识别U盘启动项相关的地方。在你这个老电脑上一个版本一个样,还真是奇怪。

点评

我猜测可能是我过程中,用diskgenius重新分区成为了MBR-FAT32单分区格式,然后再用ventoy分区,bios里面就能够看到优盘了,我不确定是不是这个原因。 问题是diskgenius分区之后,我又用ventoy进行分区了的啊,搞不  详情 回复 发表于 2020-4-10 09:12
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-5 03:11

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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