无忧启动论坛

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

[分享] Ventoy也可与你的操作系统和谐共存于同一硬盘,体验不一样的玩法

    [复制链接]
发表于 2022-11-11 10:08:14 | 显示全部楼层
本帖最后由 pda8888 于 2022-11-11 10:45 编辑

谢谢指导,牛人!
我比较了一下原来的grub.cfg,您是修改了两处:
1、原文件改 $vtoy_iso_part为$vtoy_efi_part
  1. 原文件:
  2.     set vt_plugin_path=$vtoy_iso_part
复制代码

改为
  1.     set vt_plugin_path=$vtoy_efi_part
复制代码

2、去掉对ventoy_grub.cfg文件位置的检查
  1. 原文件
  2. for vtTFile in ventoy.json ventoy_grub.cfg; do
复制代码

改为
  1. for vtTFile in ventoy.json; do
复制代码

真是厉害!
不过这个还是治不了根,要逐个对要启动的文件进行配置,很麻烦。
我昨天折腾了一天,总结了方法,今天早上只花了几十分钟就搞定了,做法是:
1、在虚拟机中正常安装PVE7.2到VHD上。
2、删除掉虚拟机的lvm部署,变成只有一个卷,即lvdiskplay命令只看到一个分区。并用blkid命令查看各个分区的UUID、记录。
3、把/etc/fstab文件备份
3、关掉虚拟机,用Diskgenius载入VHD,把它的ESP和root分区分别保存为分区备份文件。
4、把VHD所有分区删除,重新按ESP、EXT4、Swap的顺序重新分区。
5、把第3步保存的ESP和root分区分别还原到ESP和EXT4分区上。
6、用Diskgenius打开VHD,修改ESP分区的/boot/efi/BOOT/BOOTx64.EFI和/boot/efi/promox/grubx64.efi,用二进制编辑器把里面的(/lvmid/xxxxx-xxxxx-xxxxx……)/boot/grub,改成:(hd0,gpt2)/boot/grub
7、改/etc/fstab,分别用uuid表达efi、root和swap分区的挂载(uuid在第2步记录了)
8、用一个linux的救援ISO文件启动,然后:
  1. mount /dev/sda2 /mnt
  2. mount --bind /dev /mnt/dev
  3. mount --bind /proc /mnt/proc
  4. chroot /mnt
  5. mount /dev/sda1 /boot/efi
复制代码

这是建立好重建grub2的环境,然后
  1. grub-install /dev/sda --force
  2. update-grub
复制代码

重建grub2
9、重新启动虚拟机,已经成功的把lvm下的pve转换成ext4单分区的pve了。
10、在虚拟机根目录下建立ventoy目录(这是ventoy要求的,可以在这个目录下建立ventoy.json文件,放置vhd和img启动插件)
10、在虚拟机pve下,安装refind。
11、把楼主的手工部署包按要求解压到efi分区(在Diskgenius下操作)
12、完全正使用pve、refind和ventoy,而且ventoy的使用非常方便,不需要单独建立分区,跟u盘上的使用完全一样,当然,最好是在ventoy.josn文件里面规定搜索的目录只限于/ventoy,不然搜索整个根目录下又不限制深度,你就泡壶茶慢慢等吧……

点评

确实不容易,经过你这么一顿操作下来,不仅能让Ventoy正常加载EXT4分区下的ISO文件,最关键的是,你终于让自己摆脱了LVM的控制了 最终让Ventoy与pve都发挥了各自的作用,  详情 回复 发表于 2022-11-11 12:23
回复

使用道具 举报

 楼主| 发表于 2022-11-11 12:23:41 | 显示全部楼层
pda8888 发表于 2022-11-11 10:08
谢谢指导,牛人!
我比较了一下原来的grub.cfg,您是修改了两处:
1、原文件改 $vtoy_iso_part为$vtoy_ef ...


确实不容易,经过你这么一顿操作下来,不仅能让Ventoy正常加载EXT4分区下的ISO文件,最关键的是,你终于让自己摆脱了LVM的控制了

最终让Ventoy与pve都发挥了各自的作用,不错!不错!
回复

使用道具 举报

发表于 2022-11-11 12:47:22 | 显示全部楼层
您一路的指正非常有助于扩张我的脑洞。
我这样做,是因为一台掌上小电脑,要承担非常多的功能,用PVE打底,在PVE上面安装debian、windows 11、openwrt,其中debian上承载BT下载、http网站、samba服务器、nas、云笔记等功能,windows 11则是日常使用的,openwrt是作科学旁路由。
关键是,这样一台小掌上电脑,平时只有不到20W的功耗,7×24小时开机无压力,嘿嘿。
已经这样玩了N多年了,这次换更大的固态,想一步到位,既能启动pve,也能启动ventoy,才有了这些折腾。

点评

同道中人,属于爱折腾一族  详情 回复 发表于 2022-11-11 12:52
回复

使用道具 举报

 楼主| 发表于 2022-11-11 12:52:21 | 显示全部楼层
本帖最后由 ksjifjui 于 2022-11-11 13:37 编辑
pda8888 发表于 2022-11-11 12:47
您一路的指正非常有助于扩张我的脑洞。
我这样做,是因为一台掌上小电脑,要承担非常多的功能, ...

同道中人,属于爱折腾一族
我本来以为你会选择放弃ventoy的,采用grub2加lvm的组合方式的,没想到你也和我一样的个性,不达目的,就往死里造

原来很长时间没见你回帖,你是在自己潜心憋大招呢

点评

结果折腾了个寂寞:在ext4上的VHD,不能正常启动windows。  详情 回复 发表于 2022-11-11 19:15
回复

使用道具 举报

发表于 2022-11-11 18:08:55 | 显示全部楼层
"将解压后的Ventoy启动文件路径:EFI\VENTOY\grubx64_real.efi添加到启动引导器,如:rEFind、GRUB2启动引导器等"
这个前提是已经改成非Windows原来启动方式了,能在原有启动下共存吗?比如仅修改BCD添加。

点评

你的想法是可以实现的,但这主要取决于你电脑当前的启动模式了,是UEFI方式,还是传统BIOS方式了 如果你是用UEFI模式启动的,在BCD中添加其他的EFI引导文件,由于受到Windows签名验证限制等原因,目前无法实现,  详情 回复 发表于 2022-11-12 14:36
回复

使用道具 举报

发表于 2022-11-11 19:15:30 | 显示全部楼层
ksjifjui 发表于 2022-11-11 12:52
同道中人,属于爱折腾一族
我本来以为你会选择放弃ventoy的,采用grub2加lvm的组合方 ...

结果折腾了个寂寞:在ext4上的VHD,不能正常启动windows。
回复

使用道具 举报

发表于 2022-11-12 04:23:08 | 显示全部楼层
手工部署后,用我的GRUB2引导grubx64_real ,但是启动画面一直停留在 扫描文件中   Ventoy scanning files, please wait... , 想打开 VentoyPlugson.exe 想去配置插件 发现 找不到 。也就是手工部署没成功。已经按照你提供的方案。ESP分区是以前的300M的分区,然后把MSR分区删除,合并到了紧邻的那个区。

360截图20221112042051491.jpg

也放了ventoy
360截图20221112042159927.jpg
兄弟帮忙看看,谢谢了哈。

点评

C盘文件太多导致的,你的C盘是系统盘,可想而知,里面得有多少个文件,自然搜索iso就巨慢了 你需要在ventoy.json中,手工添加一个搜索根目录配置,然后把需要的iso文件都放到这个目录下,这样就好了 参照官方的说  详情 回复 发表于 2022-11-12 05:47
回复

使用道具 举报

 楼主| 发表于 2022-11-12 05:47:42 | 显示全部楼层
bet365 发表于 2022-11-12 04:23
手工部署后,用我的GRUB2引导grubx64_real ,但是启动画面一直停留在 扫描文件中   Ventoy scanning files, ...

C盘文件太多导致的,你的C盘是系统盘,可想而知,里面得有多少个文件,自然搜索iso就巨慢了
你需要在ventoy.json中,手工添加一个搜索根目录配置,然后把需要的iso文件都放到这个目录下,这样就好了
参照官方的说明文档
https://ventoy.net/cn/doc_search_path.html


点评

问题是我要用什么打开这个 ventoy.json 文件,我运行VentoyPlugson.exe 这个软件,它读不出内容来  详情 回复 发表于 2022-11-12 08:57
回复

使用道具 举报

发表于 2022-11-12 08:57:24 | 显示全部楼层
ksjifjui 发表于 2022-11-12 05:47
C盘文件太多导致的,你的C盘是系统盘,可想而知,里面得有多少个文件,自然搜索iso就巨慢了
你需要在ven ...

问题是我要用什么打开这个 ventoy.json 文件,我运行VentoyPlugson.exe 这个软件,它读不出内容来

点评

VentoyPlugson.exe只能识别标准的Ventoy分区格式的硬盘或U盘,现在手工部署的版本,显然这不符合标准的Ventoy分区要求的,自然VentoyPlugson.exe工具就无法使用了 ventoy.json只是一个普通的文本文件而已,随便一个  详情 回复 发表于 2022-11-12 09:30
回复

使用道具 举报

 楼主| 发表于 2022-11-12 09:30:00 | 显示全部楼层
本帖最后由 ksjifjui 于 2022-11-12 09:32 编辑
bet365 发表于 2022-11-12 08:57
问题是我要用什么打开这个 ventoy.json 文件,我运行VentoyPlugson.exe 这个软件,它读不出内容来{:1_185 ...

VentoyPlugson.exe只能识别标准的Ventoy分区格式的硬盘或U盘,现在手工部署的版本,显然这不符合标准的Ventoy分区要求的,自然VentoyPlugson.exe工具就无法使用了
ventoy.json只是一个普通的文本文件而已,随便一个文本编辑工具都能打开后编辑,内容遵循标准的json格式

能够完成ventoy手工部署的,绝大多数都是爱折腾的,只是一个json文本文件而已,手工编辑起来自然也是手到擒来事了,如果没有手动编辑json基础的,在下也是爱莫能助了,只能需要自己再学习了

点评

手动编辑,用文本一直显示语法和配置错误,进不了菜单。后来我弄个虚拟磁盘,调后好复制过去 现在可以进菜单了。 , 不过不能用哪个软件来生成这个文件,就没啥用了。 不过谢谢你的帮助。  详情 回复 发表于 2022-11-12 13:53
回复

使用道具 举报

发表于 2022-11-12 13:53:12 | 显示全部楼层
ksjifjui 发表于 2022-11-12 09:30
VentoyPlugson.exe只能识别标准的Ventoy分区格式的硬盘或U盘,现在手工部署的版本,显然这不符合标准的Ve ...

手动编辑,用文本一直显示语法和配置错误,进不了菜单。后来我弄个虚拟磁盘,调后好复制过去
现在可以进菜单了。 , 不过不能用哪个软件来生成这个文件,就没啥用了。
不过谢谢你的帮助。

点评

我提供我自己的ventoy.json,供参考,注意它位于\ventoy  详情 回复 发表于 2022-11-12 17:43
回复

使用道具 举报

 楼主| 发表于 2022-11-12 14:36:11 | 显示全部楼层
tpod 发表于 2022-11-11 18:08
"将解压后的Ventoy启动文件路径:EFI\VENTOY\grubx64_real.efi添加到启动引导器,如:rEFind、GRUB2启动引 ...

你的想法是可以实现的,但这主要取决于你电脑当前的启动模式了,是UEFI方式,还是传统BIOS方式

如果你是用UEFI模式启动的,在BCD中添加其他的EFI引导文件,由于受到Windows签名验证限制等原因,目前无法实现,论坛中也有人有类似的疑问,http://wuyou.net/forum.php?mod=viewthread&tid=432810&fromuid=869921

如果你是用传统BIOS启动的,那么你的需求是可以实现的,在BCD中添加grub4dos来引导Ventoy

点评

不好意思,看到了,笔记最前面就有说明:grub64_real。翻太快以为只能BIOS部署Vtldr。  详情 回复 发表于 2023-12-20 20:08
请问一下,UEFI模式,添加到UEFI启动序列的话,那个手工部署包中的Ventoy能启动吗,其中哪个是Ventoy的启动EFI?  详情 回复 发表于 2023-12-20 20:02
谢谢。那个也是我问的,是UEFI。 我是希望在尽量少动原启动的情况下,增加第三方启动方式。看来只能先替换Win的EFI才能实现。  详情 回复 发表于 2022-11-13 19:53
回复

使用道具 举报

发表于 2022-11-12 17:43:03 | 显示全部楼层
本帖最后由 pda8888 于 2022-11-12 17:48 编辑
bet365 发表于 2022-11-12 13:53
手动编辑,用文本一直显示语法和配置错误,进不了菜单。后来我弄个虚拟磁盘,调后好复制过去
现在可以进 ...

我提供我自己的ventoy.json,供参考,注意它位于\ventoy ,限制了搜索路径仅 \ventoy,不是整个根目录全搜索,你看到的scanning...一直卡在这里,那是必然的,特别是装了windows的C盘,几万个甚至几十上百万个文件在C盘,那是完全正常的。你泡壶老茶坐那慢慢等,老茶喝完也不一定等到它搜索完成。

  1. {
  2.     "control":[
  3.         { "VTOY_DEFAULT_MENU_MODE": "1" },
  4.         { "VTOY_MAX_SEARCH_LEVEL": "2" },
  5.         { "VTOY_WIN11_BYPASS_CHECK": "1" },
  6.         { "VTOY_DEFAULT_SEARCH_ROOT": "/ventoy" }
  7.     ],
  8.     "menu_tip":{
  9.         "tips":[
  10.             {
  11.                 "dir": "/ventoy/iso",
  12.                 "tip": "ISO启动"
  13.             },
  14.             {
  15.                 "dir": "/ventoy/vhd",
  16.                 "tip": "VHD启动"
  17.             }
  18.         ]
  19.     },
  20.     "menu_class":[
  21.         {
  22.             "key": "VHD",
  23.             "class": "VHD"
  24.         },
  25.         {
  26.             "key": "ISO",
  27.             "class": "ISO"
  28.         }
  29.     ]
  30. }
复制代码

点评

谢谢朋友,已经解决了。  详情 回复 发表于 2022-11-13 03:48
回复

使用道具 举报

发表于 2022-11-12 21:59:47 | 显示全部楼层
719755732322480571.jpg

我测试了下,只有一个问题,麻烦楼主看看,感谢哈,就是Windows的 VHD系统不能启动,报错,但是 我用Linux安装的VHD文件却可以启动, 我用安装在U盘上的Ventoy启动Windows的VHD系统就没有任何问题, Ventoy版本和 VHD启动插件 和 手工部署的Ventoy是一样的

点评

你存放windows VHD的盘,是ntfs吗?我的是ext4的。结果跟你一样。  详情 回复 发表于 2022-11-16 18:44
针对你说的vhd的问题,又重新编译了一次,解压后覆盖之前对应的文件,测试结束以后,记得给我反馈哦  详情 回复 发表于 2022-11-14 22:12
昨天对这个手工版ventoy折腾了一天,也是这个问题。  详情 回复 发表于 2022-11-14 08:38
WINDOWS VHD 好启动啊 menuentry "【2】Windows 10 神州网信政府版 " --class windows --class os{ ntboot -v --gui (hd0,7)/VHD/WIN10_LTSC_2019.vhdx } 当然我用的GURB2 NTBOOT 模块。  详情 回复 发表于 2022-11-13 03:53
回复

使用道具 举报

发表于 2022-11-13 03:48:09 | 显示全部楼层
pda8888 发表于 2022-11-12 17:43
我提供我自己的ventoy.json,供参考,注意它位于\ventoy ,限制了搜索路径仅 \ventoy,不是整个根目录全 ...

谢谢朋友,已经解决了。
回复

使用道具 举报

发表于 2022-11-13 03:53:03 | 显示全部楼层
2011chs 发表于 2022-11-12 21:59
我测试了下,只有一个问题,麻烦楼主看看,感谢哈,就是Windows的 VHD系统不能启动,报错,但是 我用Li ...

WINDOWS VHD 好启动啊

menuentry "【2】Windows 10 神州网信政府版 " --class windows --class os{
ntboot -v --gui (hd0,7)/VHD/WIN10_LTSC_2019.vhdx
}
当然我用的GURB2 NTBOOT 模块。

点评

一样用法。你不需要指定bootmgfw.efi文件路径吗?  详情 回复 发表于 2022-11-14 17:53
留个记号,待以后试试,我原来那个方法,还要把系统默认引导文件在其他位置再放一份,它不能使用vhd文件内置的。  详情 回复 发表于 2022-11-14 08:43
我说的是用 这个Ventoy启动VHD、VHDX系统呀,这样就方便了呀 1. 用原创者的安装版Ventoy在U盘上的Ventoy就可以正常启动任何VHDX系统,没有任何问题, 2. 楼主这个手工部署的Ventoy就有问题 不能正常启动Windows的V  详情 回复 发表于 2022-11-13 10:48
回复

使用道具 举报

发表于 2022-11-13 09:41:46 | 显示全部楼层
ksjifjui 发表于 2022-11-2 16:55
注:手工部署BIOS前,一定首先自行检查电脑硬盘的第1分区的开始扇区号,是否留有足够的空闲空间来安装BIOS ...

请问一下:boot.img和core.img这两个文件是修改过的,还是原文件?如果修改过的,我要备注另外保存,如果原文件就不需要另外保存。
回复

使用道具 举报

发表于 2022-11-13 10:38:47 | 显示全部楼层
ksjifjui 发表于 2022-11-2 16:55
注:手工部署BIOS前,一定首先自行检查电脑硬盘的第1分区的开始扇区号,是否留有足够的空闲空间来安装BIOS ...

查看了mbr里面有VT字样,应该是修改过的,已备注另外保存了。
回复

使用道具 举报

发表于 2022-11-13 10:48:44 | 显示全部楼层
bet365 发表于 2022-11-13 03:53
WINDOWS VHD 好启动啊

menuentry "【2】Windows 10 神州网信政府版 " --class windows --class os{

我说的是用 这个Ventoy启动VHD、VHDX系统呀,这样就方便了呀
1. 用原创者的安装版Ventoy在U盘上的Ventoy就可以正常启动任何VHDX系统,没有任何问题,
2. 楼主这个手工部署的Ventoy就有问题 不能正常启动Windows的VHDX系统,不过Linux的VHD系统倒是可以正常启动
回复

使用道具 举报

 楼主| 发表于 2022-11-13 13:17:10 | 显示全部楼层
goyou 发表于 2022-11-13 10:38
查看了mbr里面有VT字样,应该是修改过的,已备注另外保存了。

嗯,是修改过的,原文件不支持现有的硬盘分区布局
回复

使用道具 举报

发表于 2022-11-13 16:47:28 | 显示全部楼层
本帖最后由 goyou 于 2022-11-13 16:50 编辑

今天趁周日折腾一下,pe可以启动,vdh系统没有一个成功。bios与efi都一样。bios直接用ventoy写入mbr启动,efi用xorboot引导ventoy.efi启动。原来bios用g4d启动ventoy.vhd,efi用grub2启动ventoy.vhd都可以启动成功vhd系统。
回复

使用道具 举报

发表于 2022-11-13 17:45:50 | 显示全部楼层
goyou 发表于 2022-11-13 16:47
今天趁周日折腾一下,pe可以启动,vdh系统没有一个成功。bios与efi都一样。bios直接用ventoy写入mbr启动,e ...

Windows的vhd直接用bootmgr和bcd,用wtg的文件还支持BitLocker加密分区启动
回复

使用道具 举报

发表于 2022-11-13 19:53:55 | 显示全部楼层
ksjifjui 发表于 2022-11-12 14:36
你的想法是可以实现的,但这主要取决于你电脑当前的启动模式了,是UEFI方式,还是传统BIOS方式了

如果 ...

谢谢。那个也是我问的,是UEFI。
我是希望在尽量少动原启动的情况下,增加第三方启动方式。看来只能先替换Win的EFI才能实现。
回复

使用道具 举报

发表于 2022-11-14 08:38:34 | 显示全部楼层
2011chs 发表于 2022-11-12 21:59
我测试了下,只有一个问题,麻烦楼主看看,感谢哈,就是Windows的 VHD系统不能启动,报错,但是 我用Li ...

昨天对这个手工版ventoy折腾了一天,也是这个问题。
回复

使用道具 举报

发表于 2022-11-14 08:43:10 | 显示全部楼层
bet365 发表于 2022-11-13 03:53
WINDOWS VHD 好启动啊

menuentry "【2】Windows 10 神州网信政府版 " --class windows --class os{

留个记号,待以后试试,我原来那个方法,还要把系统默认引导文件在其他位置再放一份,它不能使用vhd文件内置的。
回复

使用道具 举报

发表于 2022-11-14 17:53:04 | 显示全部楼层
bet365 发表于 2022-11-13 03:53
WINDOWS VHD 好启动啊

menuentry "【2】Windows 10 神州网信政府版 " --class windows --class os{

一样用法。你不需要指定bootmgfw.efi文件路径吗?
回复

使用道具 举报

发表于 2022-11-14 18:07:54 | 显示全部楼层
先收藏下来
回复

使用道具 举报

发表于 2022-11-14 20:39:11 | 显示全部楼层
goyou 发表于 2022-11-14 17:53
一样用法。你不需要指定bootmgfw.efi文件路径吗?

直接启动VHD,跟EFI 啥关系。直接用这个NTBOOT 启动模块就好,当然要用W大的GRUB2,官方的没有这个NTboot模块。

点评

search -s -n -f (hd0,2)/VHD/Win10ch.vhd 可能是这句画蛇添足了,下班回去试试。  详情 回复 发表于 2022-11-15 09:22
menuentry "1.启动 Win10 主系统" --class 1 --hotkey=1 { search -s -n -f (hd0,2)/VHD/Win10ch.vhd ntboot --efi (hd0,1)$ms/bootmgfw.efi --vhd (hd0,2)/VHD/Win10ch.vhd } set ms=/EFI/Microsoft/boot #指  详情 回复 发表于 2022-11-15 09:06
回复

使用道具 举报

 楼主| 发表于 2022-11-14 22:12:47 | 显示全部楼层
本帖最后由 ksjifjui 于 2022-11-14 22:24 编辑
2011chs 发表于 2022-11-12 21:59
我测试了下,只有一个问题,麻烦楼主看看,感谢哈,就是Windows的 VHD系统不能启动,报错,但是 我用Li ...

针对你说的vhd的问题,又重新编译了一次,下载最新的压缩包覆盖之前的文件,测试结束以后,记得给我反馈哦

点评

已下载测试,我在我的两天电脑,台式机、笔记本上测试最新编译的Ventoy 可以成功启动Windows的 VHDX系统了, 我测试启动了这些类型 WIM、ISO、Linux系统VHD、Win10的VHDX、Win11的VHDX系统 , 两台电脑全都正常启  详情 回复 发表于 2022-11-15 10:01
回复

使用道具 举报

 楼主| 发表于 2022-11-14 22:14:20 | 显示全部楼层
本帖最后由 ksjifjui 于 2022-11-14 22:24 编辑
goyou 发表于 2022-11-14 08:38
昨天对这个手工版ventoy折腾了一天,也是这个问题。

谢谢你们的反馈,下载最新的压缩包,覆盖后再试试

点评

我来试试你新出炉的。  详情 回复 发表于 2022-11-16 17:59
好的,晚上下班回去试试。  详情 回复 发表于 2022-11-15 09:08
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-28 23:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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