无忧启动论坛

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

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

    [复制链接]
31#
 楼主| 发表于 2020-4-6 20:38:21 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-7 09:44 编辑
kuer 发表于 2020-4-6 18:46
用UltraISO打开、替换boot.wim 再另存!就不能启动了!打包是用UEFIBIOS双启ISO制作脚本(mkisofs)!
htt ...

这个帖子里的 mkisofs 脚本我看了一下。做出来的ISO文件就是00,这个实际上是不符合Eltorito规范的。脚本里的 -b efi.img 应该用 -e efi.img, 但是
这个mkisofs的版本不支持 -e 这个参数,在Linux上用-e做出来的是对的。我已经和楼主反馈了,希望能找一个新版本的mkisofs程序。

最简单的,你在任何一个原版的Windows ISO镜像,或者一些Ventoy能支持的PE ISO镜像(比如天意PE)中,都能搜索到 91EF010000000000 这一段二进制数据,
但是这个脚本做出来的没有这个数据。虽然能启动,但能符合标准应该会更好吧。

20200407 更新: 楼主已经更新脚本,现在打包出来的ISO是OK的,你可以再试试。

点评

昨天晚上 我也跟着更新了! 没问题了!希望大佬的Ventoy越来越好!  详情 回复 发表于 2020-4-7 14:31
我用hxd搜索了下91EF010000000000,似乎有。  详情 回复 发表于 2020-4-7 10:51
回复

使用道具 举报

32#
 楼主| 发表于 2020-4-6 21:06:23 | 显示全部楼层
江南一根葱 发表于 2020-4-6 20:58
这原理想起以前网吧有盘肆虐的机器狗+鬼影病毒啊
以前在网吧群我说了下用虚拟机用添加本机物理 ...

您是有历史的人,哈哈
回复

使用道具 举报

33#
 楼主| 发表于 2020-4-6 21:51:30 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-7 09:46 编辑
l3429900 发表于 2020-4-6 15:11
兼容性测试中 ,win 10 1903 测试ok,红帽7.7 7.6ok,6.6 6.9 bios是ok的,efi都卡死在 等待硬件初始化 这 ...

凝思系统 我在我的笔记本上测试了一下,Legacy BIOS + UEFI  都是可以的,参考PDF中的截图。不知是否是机器原因(Linx-6.0.80-20191126-amd64-DVD.iso)

Linx.pdf

786.59 KB, 下载次数: 20, 下载积分: 无忧币 -2

截图

回复

使用道具 举报

34#
 楼主| 发表于 2020-4-7 10:22:24 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-7 10:53 编辑
liuzhaoyzz 发表于 2020-4-7 10:08
我对usb启动方案不太感兴趣,能避开usb启动我都是避开,本着好奇的心态尝试了下楼主的方案。
1、在一台 ...

非常感谢你的测试。
新老电脑有差异,有可能是兼容性方面的问题,确实Ventoy很新,测试的不充分,尤其是老电脑上有兼容性问题是我意料之中的,这种也只能遇到问题一个个解决积累了,没有别的捷径。
老电脑的问题,我猜测可能是因为可启动分区是第二个分区导致的。
Ventoy把USB化成2个分区,第一个是exFAT分区用来放ISO文件,第二个分区是F是UEFI规范要求的FAT格式的分区。
之所以把EFI分区放在第二个是因为有一些Windows版本,比如Windows7只能显示第一个分区,放第一个,第二个放ISO文件的分区就显示不出来了。

grub4dos, grub2这种直接分成一个MBR FAT分区的方式肯定更简单,兼容性肯定也更好,
但是 FAT格式无法放下超过4G的大镜像,这是个无解的硬伤。否则Ventoy就不用这么麻烦了,直接一个分区最简单省事。

第一次安装失败,第二次成功的问题貌似比较普遍。 能否提供 一下log.txt文件我分析一下。

WePE_64_V2.0.iso 这个能共享给我测试下吗? 另外,这个问题现象很像之前一个答主给的PE ISO的现象。
那个是使用了坛子里一个大神提供的mkisofs的脚本制作的,但是有一点不符合规范,修改过之后就好了。
不知道是不是同样的原因。可以看看79楼的回复。

SXWIN10PEX64_17763_NET20200312.iso 这个我也会测试下。感觉能启动之后应该就和Ventoy关系不大了。

Secure Boot确实是还没有时间搞,后面版本有规划。
Ventoy制作的U盘,分区其实并不特殊 可以参考这里的示图:
http://www.ventoy.net/doc_disk_layout.html
拔插一次的问题,应该是安装程序没有重新mountvolume导致的,我后面分析下日志。

说实话我对Windows上的底层API确实不熟悉,这个安装程序会有一些问题的,我有心理准备。

对于PE ISO admin登录的问题,我确实之前完全没有想到还会有这种问题。
感谢像您这样热心反馈的坛友,任何一个工具、软件都需要一定的版本稳定时间,Ventoy也不例外。

至于Ventoy的远景,嗯,还是那句话,目标还是要有的哈哈。


点评

楼主请问第二分区(Fat分区)放进微软的MSDOS引导文件能不能启动?  详情 回复 发表于 2020-4-8 10:30
微PE2.0,WePE_64_V2.0.iso https://ws28.cn/f/288qujmrm1z 自己的帖子,在电脑版本可以自己删除的。附加选项→删除本帖。  详情 回复 发表于 2020-4-7 10:29
回复

使用道具 举报

35#
 楼主| 发表于 2020-4-7 10:38:45 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-7 10:29
微PE2.0,WePE_64_V2.0.iso,7天分享不限速:
https://ws28.cn/f/288qujmrm1z
log文件已经上传在楼上了 ...

哈,又学了一招,多谢!  
Windows安装程序首次会失败的问题看来比较普遍,程序还需要优化。
回复

使用道具 举报

36#
 楼主| 发表于 2020-4-7 10:51:58 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-7 10:59 编辑
liuzhaoyzz 发表于 2020-4-7 10:51
我用hxd搜索了下91EF010000000000,似乎有。

嗯,那我下载下来试试。适配的问题,那肯定是这样。 能推动适配Ventoy的当然更好, 已经流行的,变成事实标准的,Ventoy也会去适配。BIOS是由厂商出的,推动肯定是不可能的了。 像这种PE ISO,一般都是我们自己制作的,能100% 符合规范我觉得也是很好的。

双分区,第二个分区为可启动分区的方案,在一些老电脑上肯定会有兼容性问题,但是这个是实现Ventoy总体方案必须的一种选择,也确实有点难以两全。

回复

使用道具 举报

37#
 楼主| 发表于 2020-4-7 11:02:59 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-7 10:57
其实吸引我的不单单是楼主的拷贝ISO即可启动这个简单的部署方法,还有楼主的编程能力,让我感觉到so coo ...

感谢支持!
其实能做一款开源软件并被人接受,是很多做技术的人都有一个情怀。只是现实环境很多时候不允许,有心无力。 这次也是赶上特殊时期在家时间长一些,才能把这个想法付诸实现。
回复

使用道具 举报

38#
 楼主| 发表于 2020-4-7 11:29:54 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-7 11:31 编辑
liuzhaoyzz 发表于 2020-4-7 11:15
双分区也并非完美的启动方案,单分区FAT32的确也有4GB的限制,Ventoy采用第一分区exfat的初衷可能也是 ...

你说的确实也有道理。选项的事情只能一个个版本加进来。
NTFS的启动并不是标准的UEFI规范,只是有些BIOS里面额外加了NTFS的驱动,这种是极少的,尤其是各个厂家的服务器,我测试过很多。

当然Ventoy并不只针对Windows, 70%的精力是放在各种Linux系统的适配上。对于Linux发行版,很多镜像都是超过4GB的。

Ventoy的方案其实不限于U盘,应该是一个Disk启动方案,这个对于需要频繁测试各种操作系统的应该是很有帮助。

另外,我自己还是感觉着眼于未来吧,毕竟老电脑总是会越来越少,越新的电脑兼容性越好,就像现在是2020年,再过几年,我相信用XP的也会越来越少。

点评

弱弱问一句,为什么不用NTFS+ESP的分区方式呢?因为大多数新笔记本都是UEFI,而且也没必要为了适应启动而改BIOS,所以,可以考虑增加多些选项,在更多人加入测试后,很可能会像在传统BIOS引导时期G4D所取得的辉煌!  详情 回复 发表于 2020-5-3 04:02
回复

使用道具 举报

39#
 楼主| 发表于 2020-4-7 12:50:15 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-7 10:29
微PE2.0,WePE_64_V2.0.iso,7天分享不限速:
https://ws28.cn/f/288qujmrm1z
log文件已经上传在楼上了 ...

可能是兼容性问题,这个PE我这边在虚拟机和一台实机上UEFI都是ok的



回复

使用道具 举报

40#
 楼主| 发表于 2020-4-7 12:55:08 | 显示全部楼层
bgin 发表于 2020-4-7 10:17
小白一个,这意思是说用这个软件制作U盘后,只需将iso放到U盘里就行了,然后运行直接安装?

理论上是这样的
回复

使用道具 举报

41#
 楼主| 发表于 2020-4-7 14:27:06 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-7 13:42
真是邪了门了!我这边又重新用Ventoy分区,拷贝这个iso进去,BIOS启动成功,UEFI启动失败。晕了!
哦, ...

这个也有是有可能是Ventoy隐藏的BUG。 Ventoy里面会借助grub2的exfat文件系统解析的能力,找到这个ISO文件所有块的位置,然后以这些信息为基础,虚拟出一个CDROM来。而这个ISO文件的位置,和你每次格式化,每次拷贝之后都可能会有变化。看着都是同一个文件。

Ventoy是虚拟的一个CDROM, 普通方式做的可启动U盘毕竟是一个实实在在的FAT格式的Disk, 在启动的时候在Windows的bootmgr来看还是不一样的。 所以你用Ventoy启动原版的Windows镜像的话,你能看到  Press xxxx to enter CD/DVD ... 这个提示,而普通的可启动U盘肯定是没有这个提示的。
回复

使用道具 举报

42#
 楼主| 发表于 2020-4-7 14:38:51 | 显示全部楼层
kuer 发表于 2020-4-7 14:31
昨天晚上 我也跟着更新了!  没问题了!希望大佬的Ventoy越来越好!

多谢支持! 能更新下您8楼的帖子吗,说明一下

点评

已更新8#楼的帖子!谢谢了  详情 回复 发表于 2020-4-7 15:18
回复

使用道具 举报

43#
 楼主| 发表于 2020-4-7 20:35:20 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-8 11:00 编辑
hilsonma 发表于 2020-4-7 20:28
我觉得大家是不是进了一个误区。

U盘启动不外就是让U盘拥主板接受的格式,存放有相应的启动文件,

Ventoy的目标是引导各类ISO文件,而且是原生引导,所谓原生引导就是不想自己做引导文件,原来用isolinux的就用isolinux, grub的用grub, bootmgr的用bootmgr, lilo的用lilo.  自己做引导器是非常不现实的。

所以Ventoy只是虚拟出一个CDROM设备来,而不管这个ISO里面是什么操作系统,Windows、Linux、Unix、VMWARE、Xen 不管是啥,你只要是个能启动的ISO文件,我就能启动你。

所以Ventoy的精力是放在虚拟这个CDROM设备上,这个已经初步实现目标了。

至于U盘格式, 要支持UEFI,必须有一个FAT格式的分区,这个是UEFI规范的要求,必须有,能直接识别NTFS的毕竟是少数,ESP的FAT格式才是UEFI的规范。而FAT格式又没法放4G+ 的文件,所以Ventoy只能选择两个分区。






点评

哦,是我了解的不够,谢谢解答。感谢你的开发和分享。  发表于 2020-4-7 20:49
回复

使用道具 举报

44#
 楼主| 发表于 2020-4-7 20:42:46 | 显示全部楼层
江南一根葱 发表于 2020-4-7 20:39
因为楼主的制作工具失败率高,所以我把文件提取出来,
手工分第一分区为exfat,第二分区为fat,efi相关文 ...

安装程序首次确实经常失败,貌似第二次再试会好一些。
BIOS的启动文件是藏在缝隙里,你可以参考这个示意图。
http://www.ventoy.net/doc_disk_layout.html

不过Ventoy对分区的大小有固定计算的值,不能随便分成两个区, 所以还是需要用安装程序来。
我后面会尽力完善这个安装程序,Window下确实也有各种特殊情况。
当前第一个分区只支持exFAT,后续版本会支持NTFS格式, 不过选择exFAT也是综合考虑,比如Linux以及Mac上挂载方便等。

点评

其实我想要的是第一个分区是FAT32格式,而不是NTFS格式,以期望被BIOS和windows更好地识别,不过Ventoy1.01分区之后,第一个分区是exfat格式,似乎也能够正常地被老电脑识别,所以第一个分区的格式也就无所谓了  详情 回复 发表于 2020-4-8 08:24
我分好在efi下能正常启啊,不过就是bios下的引导文件提取不出来。。  详情 回复 发表于 2020-4-7 20:44
回复

使用道具 举报

45#
 楼主| 发表于 2020-4-7 20:50:13 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-8 11:01 编辑
江南一根葱 发表于 2020-4-7 20:44
我分好在efi下能正常启啊,不过就是bios下的引导文件提取不出来。。

UEFI有可能,但是你再用安装程序更新就不认了。

各路大神的PE确实兼容有难度,所以我希望 Ventoy Compatible的概念能被接受, 就是希望后面新作的PE里面能兼容Ventoy,当然兼容起来也是非常简单的。

不过也不是一点办法都没有,就像我在前面 77楼  回复中说的,WIM的PE总是要遵循PE的启动流程,也是可以做一些东西的。

话又说回来,Ventoy毕竟不仅仅是考虑Windows系统,还有Linux、Unix等,对于PE我倒是不追求能兼容多少,而且还有很大一部分PE是启动之后不需要挂载ISO的,这类和Linux中的LiveCD类似,Ventoy是能天生支持的。

回复

使用道具 举报

46#
 楼主| 发表于 2020-4-7 20:58:12 | 显示全部楼层
adef 发表于 2020-4-7 20:19
偶这里 ubuntu-18.04.4-desktop-amd64.iso 用 vmware 可以启动,但实机 uefi 启动好像有点问题。如果用 win ...

多谢反馈! 我本地先试一下,另外,这个最终会是什么情况? 卡死或者重启或者是进入了命令行之类的?

点评

开始 [attachimg]415644[/attachimg] 最后[attachimg]415645[/attachimg]  详情 回复 发表于 2020-4-7 21:37
回复

使用道具 举报

47#
 楼主| 发表于 2020-4-7 22:14:04 | 显示全部楼层

这个可能是机器兼容性问题或者其他,我在我自己的笔记本上试了下,UEFI 这个ISO镜像是OK的。
您如果方便的话,可以试试其他版本的Ubuntu镜像或者是换个U盘测试下。

      


点评

试了ubuntu-20.04-beta-desktop-amd64.iso 和 ubuntukylin-14.04.5-desktop-amd64.iso,出现和 ubuntu-18.04.4-desktop-amd64.iso 一样的错误。 搜了一下ubuntu TSC_DEADLINE,好像大多数解决办法是更新intel或amd的  详情 回复 发表于 2020-4-8 00:31
回复

使用道具 举报

48#
 楼主| 发表于 2020-4-7 23:58:47 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-8 00:00 编辑
liuzhaoyzz 发表于 2020-4-7 13:42
真是邪了门了!我这边又重新用Ventoy分区,拷贝这个iso进去,BIOS启动成功,UEFI启动失败。晕了!
哦 ...

SXWIN10PEX64_17763_NET20200312.iso  这个 Administrator无法登录的问题确实是一个BUG,我修改了,出了个 1.0.01版本,
我在自己的笔记本上验证了下Legacy和UEFI都可以了。你这边方便的时候可以测试一下。
http://www.ventoy.net/download.html

点评

下载了1.01版本,用Ventoy分区一次性成功,拷贝WEPE2.0,F12选择优盘,能够看到了,在老电脑上面启动成功,而且在windows中不用重复拔插优盘就能够看到优盘了。 在另外一台新电脑上面,这WEPE2.0.ISO和我  详情 回复 发表于 2020-4-8 07:46
回复

使用道具 举报

49#
 楼主| 发表于 2020-4-8 09:22:10 | 显示全部楼层
本帖最后由 longpanda 于 2020-4-8 09:44 编辑
liuzhaoyzz 发表于 2020-4-8 07:46
下载了1.01版本,用Ventoy分区一次性成功,拷贝WePE_64_V2.0.iso,F12选择优盘,能够看到了,在 ...

感谢反馈!
移动硬盘这个,是因为为了防止误操作,Ventoy默认做了过滤,只列出了Removable并且是USB类型的磁盘,你可以通过命令行执行  Ventoy2Disk.exe -R -U  来启动,看看能不能列出来。 当然这个后面应该做成一个选项的。

增加从本地启动是可行的,也不难,后面版本可以做,可以在界面下方放几个快捷键的图标,硬盘启动、重启啥的。

点评

Ventoy2Disk.exe -R -U还是大小写敏感的,参数必须大写才行啊。我试了可以枚举出移动硬盘,还枚举除了本地硬盘!感觉判断移动硬盘的代码应该可以优化下。  详情 回复 发表于 2020-4-8 09:37
回复

使用道具 举报

50#
 楼主| 发表于 2020-4-8 09:32:40 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-8 08:24
楼主似乎有点误会,其实我想要增加的选项是第一个分区是FAT32格式,而不是NTFS格式,以期望被BIOS和w ...

其实如果FAT32能支持4G+的文件的话,就是完美的。这样Ventoy就不需要两个分区,就只全盘一个FAT32分区就可以了, 安装程序也更简单了,除了写BIOS的启动文件,剩下的就是直接把文件拷贝进去就可以了,升级就是文件覆盖掉就可以了,一切都更方便。无奈事情总没有想象的美好。
对于你说的不需要4G+文件的用户,这种确实更加方便。后续版本可以考虑一下,不过两种分区格式在内部程序兼容判断处理上需要特殊操作,不是很容易做完善。我可能还是会优先把当前这种模式做好之后再考虑,毕竟精力也有限。
回复

使用道具 举报

51#
 楼主| 发表于 2020-4-8 09:35:48 | 显示全部楼层
adef 发表于 2020-4-8 00:31
试了ubuntu-20.04-beta-desktop-amd64.iso 和 ubuntukylin-14.04.5-desktop-amd64.iso,出现和 ubuntu-18 ...

都是Legacy BIOS可以,但是UEFI有问题吗?

点评

是的,那台本本legacy可以,uefi不行。早上换了一台式机测试,legacy和uefi都没问题。有问题的本本,如果量产ubuntu的iso,或者用ultraiso将iso写入U盘,uefi启动都没问题。 下图是ultraiso写入U盘后的启动图,最后  详情 回复 发表于 2020-4-8 13:30
回复

使用道具 举报

52#
 楼主| 发表于 2020-4-8 09:39:20 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-8 08:24
楼主似乎有点误会,其实我想要增加的选项是第一个分区是FAT32格式,而不是NTFS格式,以期望被BIOS和w ...

另外,其实 1.01版本只修改了一个BUG,而且和老电脑识别这块没关系的  你这边这次老电脑能识别了,并不是升级优化的原因哈   是不是换过U盘或者其他什么原因。

点评

1.01版本,不需要拔插优盘在windows中就可以看到盘符了,1.00版本是不行的。重新mountvolume你是不是调整过了?优盘没有更换啊,为什么老电脑BIOS里面有了,好奇怪。  详情 回复 发表于 2020-4-8 09:46
回复

使用道具 举报

53#
 楼主| 发表于 2020-4-8 09:41:19 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-8 09:37
Ventoy2Disk.exe -R -U还是大小写敏感的,参数必须大写才行啊。我试了可以枚举出移动硬盘,还枚 ...

大小写敏感的,你方便的话贴一下你的log.txt ,当前是必须是 Remoable同时是USB类型才列出来。 不过前面也有人反馈的SSD型的USB盘,Remoable是不符合的,但是是USB类型, 后面我可以考虑只按照USB类型来过滤。
回复

使用道具 举报

54#
 楼主| 发表于 2020-4-8 09:48:45 | 显示全部楼层

移动硬盘是这个吗
PhyDrv:3 BusType:USB  Removable:0 Size:60GB(60011642880) Name:HTS54806 0M9AT00

点评

是的!  详情 回复 发表于 2020-4-8 09:49
回复

使用道具 举报

55#
 楼主| 发表于 2020-4-8 09:50:06 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-8 09:46
1.01版本,不需要拔插优盘在windows中就可以看到盘符了,1.00版本是不行的。重新mountvolume你 ...

确实比较奇怪,也有可能是第一次做得有些问题,重新做一遍好了。可能你用1.00版本重新做一次也是能识别的?

点评

1.00版本我用Ventoy分区了4次,似乎还是不行,记不清了,必须要重新拔插一次优盘,电脑里面才能看到盘符。似乎是的。  详情 回复 发表于 2020-4-8 09:52
回复

使用道具 举报

56#
 楼主| 发表于 2020-4-8 09:50:56 | 显示全部楼层

那就是了,看来确实是这样,下一个版本,我 把 Removable的判断去掉,只按照USB类型过滤对移动硬盘这种应该会好很多。
回复

使用道具 举报

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

对的,应该这样。
回复

使用道具 举报

58#
 楼主| 发表于 2020-4-8 10:33:37 | 显示全部楼层
2012kwy 发表于 2020-4-8 10:30
楼主请问第二分区(Fat分区)放进微软的MSDOS引导文件能不能启动?

第二个FAT分区是为UEFI启动准备的,同时也放了Ventoy自己的一些文件。 你说的这个MSDOS的启动文件能说的明确一些吗? 我之前没接触过。
回复

使用道具 举报

59#
 楼主| 发表于 2020-4-8 11:06:04 | 显示全部楼层
2012kwy 发表于 2020-4-8 11:02
一些大佬发的合集里面都有,如maxdos.img、dos.img等,文件好像就是io.sys、command.com。试过只认第一分区 ...

Ventoy目前只针对ISO文件,其他IMG暂时还不支持。
回复

使用道具 举报

60#
 楼主| 发表于 2020-4-8 11:31:04 | 显示全部楼层
江南一根葱 发表于 2020-4-8 11:23
我用wim是为了方便随时随地修改,iso太封闭了,取外置不用共享啊,通过initrd直接把外置“射入”体内,
...

你这个用词也太那啥了。。。

点评

少儿不宜少儿不宜 棺方貌似叫injected ifiles  详情 回复 发表于 2020-4-8 11:37
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-5 00:36

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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