无忧启动论坛

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

[求助] 有没有可能让ventoy在硬盘上和其它grub2共存?

    [复制链接]
1#
发表于 2022-10-2 20:49:01 | 显示全部楼层
本帖最后由 ksjifjui 于 2022-11-6 16:20 编辑

我的方法可以试试,应该是你想要的效果,可以手工部署到本地电脑上,不用格式化,拷贝复制Ventoy相关的启动文件到现有ESP分区即可。
自己动手重新编译了一份源码得到的,这个是简写的一个手动部署说明文档: http://wuyou.net/forum.php?mod=v ... &fromuid=869921

如果需要最新的 1.0.80 版本,可以重新给你编译一个

重新编译后的版本,屏蔽的检查及修改的功能如下:
  • 不用格式化磁盘,不修改分区表,可保持原有分区结构
  • 取消了开始开始扇区号为2048的检查限制
  • 取消了32M的EFI分区大小限制
  • 调整了EFI分区和ISO分区(插件分区)的位置


希望能帮到你
附上使用rEFInd引导Ventoy的最终效果图,看着还行{:1_186:}




评分

参与人数 1无忧币 +4 收起 理由
wongfaye + 4 很给力!何其吊

查看全部评分

回复

使用道具 举报

2#
发表于 2022-10-3 08:02:13 | 显示全部楼层
plutoshen 发表于 2022-10-3 00:53
试了您的方法,可以启动到ventoy了,但是找不到iso文件。

vlnk路径查找功能没有修改,目前只能识别真实的ISO路径,你将Vlnk路径更改为真实的ISO路径,试试能成功启动吗?

今天我试试把Vlnk功能也调整一下
回复

使用道具 举报

3#
发表于 2022-10-3 08:09:41 | 显示全部楼层
plutoshen 发表于 2022-10-3 00:53
试了您的方法,可以启动到ventoy了,但是找不到iso文件。

还有一个问题,

你目前硬盘的第二个分区(hd0,2)是什么格式的,能发一个完整的磁盘分区结构图给我看下么?
回复

使用道具 举报

4#
发表于 2022-10-3 08:39:11 | 显示全部楼层
plutoshen 发表于 2022-10-3 08:18
刚刚在虚拟机测试成功了,现在重新在真机测试一下。

好的,有其他问题再反馈给我,今天正好一起看一下
回复

使用道具 举报

5#
发表于 2022-10-3 09:01:01 | 显示全部楼层
plutoshen 发表于 2022-10-3 08:58
明白了,我笔记本上实际的第二个分区是微软的保留分区,在Windows里面直接看不见而且也太小,不知道 ...

嗯,是的,看你这个分区结构图是这样的,需要在第3或者第4个分区中搜索ISO,第二个MSR分区识别不了
回复

使用道具 举报

6#
发表于 2022-10-3 09:33:12 | 显示全部楼层
plutoshen 发表于 2022-10-3 09:05
能不能修改一下代码,跳过msr分区呢?最好是通过grub搜索所有分区。

Ventoy的内部实现逻辑是只能自动搜索一个分区下所有ISO文件,不能搜索整个硬盘的所有分区

但是可以针对你这个分区结构,帮你调整成自动搜索第3个分区,也就是你C盘下的所有ISO文件
回复

使用道具 举报

7#
发表于 2022-10-3 10:02:51 | 显示全部楼层
plutoshen 发表于 2022-10-3 09:36
我把msr分区干掉了,这下不提示找不到ISO文件,但是扫描Windows分区找iso没完没了

如果可能 ...

对的,最好添加一个ventoy.json的配置,指定一个搜索目录,分区下文件太多,搜索真的太慢,我自己的电脑也是这样。

我猜这可能也是Ventoy的原作者当初设计的时候没有搜索整个硬盘,而是特别指定搜索一个分区,其中的原因之一吧。

我在自己电脑上直接用的image_list这个配置节点,连VTOY_DEFAULT_SEARCH_ROOT这个都没有配置

  1. "image_list": [
  2.                 "/ventoyiso/wim/EdgelessBoot.wim",
  3.                 "/ventoyiso/LaoMaoTao.iso"
  4.         ]
复制代码


这个配置只会搜索image_list列表中指定的ISO文件路径,其他的文件一概忽略,
这样配置起来可能有点麻烦,因为添加一个ISO文件就需要手工添加一条,但是效率最高
回复

使用道具 举报

8#
发表于 2022-10-3 10:15:09 | 显示全部楼层
plutoshen 发表于 2022-10-3 09:09
还有个问题,我清空esp分区手工复制文件以后,不知道为什么uefi的启动顺序动不动就自动修改,直接进 ...

这个问题我也遇到过,但是很遗憾没找到出现的原因,
每次出现这个问题,我只能重新再调整一下顺序,确实很烦人。

但是只要ESP分区内的内容一直不变,好像再也没出现过顺序变动的问题,
所以自我感觉,这个应该涉及到和UEFI相关的EDK2的内部实现逻辑了,EDK2也是一个庞大复杂的东西,还没有时间深入研究
回复

使用道具 举报

9#
发表于 2022-10-3 11:12:02 | 显示全部楼层
plutoshen 发表于 2022-10-3 10:48
指定文件不如指定搜索分区和搜索目录,请教大佬具体怎么做?

这个Ventoy的官网介绍的比较详细,你可以参考一下:https://www.ventoy.net/cn/doc_search_path.html
回复

使用道具 举报

10#
发表于 2022-10-3 12:05:42 | 显示全部楼层
plutoshen 发表于 2022-10-3 11:51
成功了,但是只能引导winpe的iso,绕了一个大弯又回到原点,只比grub2多了个图形界面和自动搜索。

这个是它官网已经测试过的镜像列表 https://www.ventoy.net/cn/isolist.html ,从这里面看支持的应该算全了啊

你引导哪种ISO失败的?
回复

使用道具 举报

11#
发表于 2022-10-3 17:05:39 | 显示全部楼层
plutoshen 发表于 2022-10-3 13:40
比如引导Ubuntu的ISO,从优盘启动就完全正常,但是从硬盘启动就不行。

我的可以正常启动,等会我在虚拟机中试试看,看下会不会出现你说的情况
回复

使用道具 举报

12#
发表于 2022-10-4 09:05:34 | 显示全部楼层
mamer88 发表于 2022-10-3 20:56
我的情况和plutoshen的差不多:
Deepin-20.6-LiveCD-1.1.iso启动不成功。
ubuntu-22.04-desktop-amd64. ...

我再研究下,很有可能是某个地方没修改到导致的,有结果了,再回复你们
回复

使用道具 举报

13#
发表于 2022-10-24 15:50:35 | 显示全部楼层
本帖最后由 ksjifjui 于 2022-11-6 16:21 编辑
plutoshen 发表于 2022-10-3 13:40
比如引导Ubuntu的ISO,从优盘启动就完全正常,但是从硬盘启动就不行。

最近才有时间研究代码,的确有一个地方修改遗漏了,导致所有的linux镜像都无法启动,已经完全修复了,现在有时间你可以试试,

还是从这里获取:http://wuyou.net/forum.php?mod=v ... &fromuid=869921


用rEFInd引导Ventoy的实际的引导效果图

回复

使用道具 举报

14#
发表于 2022-10-24 15:52:56 | 显示全部楼层
mamer88 发表于 2022-10-3 20:56
我的情况和plutoshen的差不多:
Deepin-20.6-LiveCD-1.1.iso启动不成功。
ubuntu-22.04-desktop-amd64. ...

谢谢你们的反馈,之前的确是没有修改完全,最近才有时间再研究研究,已经测试通过了,现在你可以再试试,下载地址还是原来的地址

点评

试了deepin和ubuntu的livecd,都可以了。不过用F2启动不了这些镜像。这些镜像只能放在efi后的第一个分区吗?其他分区的和其他硬盘都不行?  详情 回复 发表于 2022-10-25 19:58
回复

使用道具 举报

15#
发表于 2022-10-24 16:27:56 | 显示全部楼层
本帖最后由 ksjifjui 于 2022-11-6 16:22 编辑
brux 发表于 2022-10-5 12:18
可以麻烦你编译下最新版吗
谢谢

已经将1.0.80编译完成

点评

谢谢大佬。  详情 回复 发表于 2022-11-14 09:47
回复

使用道具 举报

16#
发表于 2022-10-25 21:13:38 | 显示全部楼层
本帖最后由 ksjifjui 于 2022-10-25 21:38 编辑
mamer88 发表于 2022-10-25 19:58
试了deepin和ubuntu的livecd,都可以了。不过用F2启动不了这些镜像。这些镜像只能放在efi后的第一个分区 ...

同一个硬盘的话,ISO文件只能放到EFI后的那个分区里面,Ventoy只有一个ISO分区;
如果是2块以上的硬盘的话,可以使用vlnk功能试试,生成一个指向另一个硬盘中ISO对应vlnk文件,然后将vlnk文件拷贝到这个硬盘的ISO分区下;
不过vlnk功能自己还没有时间测试验证,不清楚是不是都完全修改完了

点评

vlnk功能今天自己测试了一下,能正常使用,在原来的地址下载最新的压缩包替换一下就能正常使用了;当前硬盘内的ISO使用vlnk是无效的,需要直接写ISO路径;vlnk是指向的当前硬盘以外其他硬盘内的ISO文件  发表于 2022-10-26 11:16
回复

使用道具 举报

17#
发表于 2022-10-26 15:46:07 | 显示全部楼层
mamer88 发表于 2022-10-25 19:58
试了deepin和ubuntu的livecd,都可以了。不过用F2启动不了这些镜像。这些镜像只能放在efi后的第一个分区 ...

Ventoy的1.0.81最新版已经发布了,顺带也一起编译了
回复

使用道具 举报

18#
发表于 2022-10-27 09:33:06 | 显示全部楼层
本帖最后由 ksjifjui 于 2022-10-27 10:01 编辑

如果你需要的话,可以单独给你编译一个bios的版本,因为自己电脑是x64的,所以也就没编译其他架构的;
但是bios版本的手动部署步骤要相对复杂了,而且操作危险性极高,因为需要手动写硬盘mbr,这个对于不太清楚mbr的来说,可是相当相当危险的操作了,一不小心可能将本地硬盘的分区表都搞丢了,如果再不清楚如何修复分区表的话,那简直是灾难

手动写mbr的话就需要提前给mbr代码预留扇区了,那么最好是ventoy建议的那样,第一个分区从2048号扇区开始,即第1个分区前保留1M的空闲空间;

我看了下ventoy的mbr占用的扇区情况,boot.img占用1了个扇区,core.img正好占用2047个扇区,两者正好是2048个扇区,所以ventoy支持mbr启动的话,磁盘第一分区的起始扇区号必须是2048
回复

使用道具 举报

19#
发表于 2022-10-27 09:41:28 | 显示全部楼层
Syl1us 发表于 2022-10-27 00:14
我比较了你编译的文件,修改\grub\grub.cfg这里的数字就可以了。在第几个分区自己DiskGenius看看. [/back ...

只调整\grub\grub.cfg文件来修改iso分区的话,如果你只是用它来启动winpe镜像的话,是可行的;

但是如果你想启动ubuntu或者其他linux发行版的话,只修改grub.cfg这个一个文件是没法成功启动的,因为ventoy底层c代码逻辑调用了linux内核的device mapper功能,它需要生成一张真实块设备和新的虚拟设备的映射表,才能成功将指定块设备虚拟成新设备,然后才能顺利完成linux根文件系统的挂载;

点评

昨晚试了一下,这样可以启动windows系统iso,如果按F2浏览到第二分区的linux系统iso也可以正常启动。  详情 回复 发表于 2022-11-29 09:42
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-11 08:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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