无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 5516|回复: 37

[求助] 请教大佬们,怎么用refind加 vdiskchain插件启动 vDisk 文件?

  [复制链接]
发表于 2022-10-28 18:19:13 | 显示全部楼层 |阅读模式
按如下官方说明:
使用其他 bootloader 启动 vDisk 文件
通过前面的说明我们知道,Ventoy 可以启动 Ventoy 所在的磁盘上的 vdisk 文件,也可以启动非 Ventoy 盘(本地磁盘)上的 vdisk 文件。 但是这两者都必须要通过 Ventoy 才可以启动。 实际上 vdisk 启动这个功能是可以独立出来的。 可以集成到其他 bootloader 中来启动,比如 grub4dos/grub2/rEFInd/Systemd-boot 等。
唯一的要求是 vdisk 文件所在的分区文件系统只能是 FAT32/NTFS/exFAT/XFS/Ext2/Ext3/Ext4/UDF 中的一种。使用方法如下:

================== i386-pc ======================
GRUB4DOS:
kernel /ipxe.krn vdisk=/MyVdiskDir/Deepin.vdi.vtoy
initrd /vdiskchain

GRUB2:
linux16  (hd0,1)/test123/ipxe.krn vdisk=/MyVdiskDir/Deepin.vdi.vtoy
initrd16 (hd0,1)/test123/vdiskchain


================== x86-64-efi ======================
GRUB2:
chainloader (hd0,1)/test123/vdiskchain vdisk=/MyVdiskDir/Deepin.vdi.vtoy

rEFInd:
loader /vdiskchain vdisk=/MyVdiskDir/Deepin.vdi.vtoy

Systemd-boot:
efi /vdiskchain vdisk=/MyVdiskDir/Deepin.vdi.vtoy
这里的 ipxe.krn 和 vdiskchain 是两个文件,需要从 https://github.com/ventoy/vdiskchain/releases 下载最新版本。 vdisk 参数和上面的 my_vdisk_path 参数是一样的含义和要求。

以上说的不详细啊,我想用refind启动硬盘上的 vdiskchain,上面说的 vdiskchain文件要放到哪个位置?还有refind的启动 vdisk文件的完整代码要怎样写呢,上面示例的只写了一行,没有指定分区号应该不能启动吧,请高手指点,多谢了!
发表于 2022-10-30 18:23:53 | 显示全部楼层
顶  学习一下
回复

使用道具 举报

发表于 2022-10-30 20:38:44 来自手机 | 显示全部楼层
您可能需要更改 volume以匹配文件系统的标签、PARTLABEL 或内核镜像所在分区的 PARTUUID。PARTUUID 必须大写的。

点评

用 volume设定了目标分区的GUID,refind可以加载分区中的efi文件了,但是这个vdiskchain插件还是不能用, 把代码写成loader /vdiskchain vdisk=/MyVdiskDir/Deepin.vdi.vtoy没反应,试验了一下启动efi文件,如果改  详情 回复 发表于 2022-11-2 15:25
回复

使用道具 举报

发表于 2022-10-30 20:39:07 来自手机 | 显示全部楼层
以上内容摘自archlinux的wiki
回复

使用道具 举报

发表于 2022-10-31 08:58:41 | 显示全部楼层
也想知道。
回复

使用道具 举报

 楼主| 发表于 2022-11-2 15:25:25 | 显示全部楼层
my9823 发表于 2022-10-30 20:38
您可能需要更改 volume以匹配文件系统的标签、PARTLABEL 或内核镜像所在分区的 PARTUUID。PARTUUID 必须大 ...

用 volume设定了目标分区的GUID,refind可以加载分区中的efi文件了,但是这个vdiskchain插件还是不能用,
把代码写成loader /vdiskchain vdisk=/MyVdiskDir/Deepin.vdi.vtoy没反应,试验了一下启动efi文件,如果改成loader /MyVdiskDir/grubfm.efi就能启动grub文件管理器,难道refind不支持这个vdiskchain插件?
回复

使用道具 举报

发表于 2022-11-3 11:06:15 | 显示全部楼层
同问,我也想知道啊,看看楼上的牛人解答
回复

使用道具 举报

发表于 2022-11-4 00:21:08 | 显示全部楼层
vdisk 就放在你的 rEFInd 所在的分区,根目录或其它目录均可,我的是放在 EFI 目录下,但在使用如下书写格式时,启动不成功
loader /EFI/vdiskchain vdisk=/MyVdiskDir/Deepin.vdi.vtoy

改写为如下格式后,启动成功

loader /EFI/vdiskchain
options "vdisk=/VHD/deepin/deepin.vhd.vtoy"

注意:第1行中 vdiskchain 以及第2行中的 .vtoy 文件要根据具体的存放路径书写
screenshot_018.jpg

点评

谢谢老师,有时间试试看  详情 回复 发表于 2022-11-6 20:10
回复

使用道具 举报

 楼主| 发表于 2022-11-6 20:10:22 | 显示全部楼层
xiaojbojj 发表于 2022-11-4 00:21
vdisk 就放在你的 rEFInd 所在的分区,根目录或其它目录均可,我的是放在 EFI 目录下,但在使用如下书写格 ...

谢谢老师,有时间试试看
回复

使用道具 举报

发表于 2022-12-9 13:43:58 | 显示全部楼层
请问有大佬知道grub2 那个引导菜单怎么写吗?
上面写的也很简陋,我写到grub2引导失败了。
GRUB2:
chainloader (hd0,1)/test123/vdiskchain vdisk=/MyVdiskDir/Deepin.vdi.vtoy
回复

使用道具 举报

发表于 2022-12-9 15:21:43 | 显示全部楼层
xiaojbojj 发表于 2022-11-4 00:21
vdisk 就放在你的 rEFInd 所在的分区,根目录或其它目录均可,我的是放在 EFI 目录下,但在使用如下书写格 ...

你好,我按照了你的方法,将vdiskchain 放在refind所在分区,vdisk文件放在了根目录。菜单照着你的写的。启动的时候报错了:!error:not found while loading vdiskchain 请问这个是什么原因呢?

点评

你把菜单贴出来看看  详情 回复 发表于 2022-12-9 15:48
回复

使用道具 举报

发表于 2022-12-9 15:48:27 | 显示全部楼层
517769154 发表于 2022-12-9 15:21
你好,我按照了你的方法,将vdiskchain 放在refind所在分区,vdisk文件放在了根目录。菜单照着你的写的。 ...

你把菜单贴出来看看
回复

使用道具 举报

发表于 2022-12-9 16:26:35 | 显示全部楼层
xiaojbojj 发表于 2022-12-9 15:48
你把菜单贴出来看看

#
# refind.conf
# Configuration file for the rEFInd boot menu
#

timeout 60

dont_scan_dirs /EFI/Microsoft/Boot,/EFI/Boot,/EFI/ubuntu,/EFI/UOS,/EFI/PhoenixOS,/EFI/PhoenixOS/boot,/EFI/fydeos,/EFI/CLOVER,/EFI/kylin,/EFI/opensuse,/EFI/centos,/EFI/redflag,/EFI/RedFlag_Linux_Desktop_V11.0

#dont_scan_files

scan_all_linux_kernels false

#fold_linux_kernels false

default_selection 1

include themes/rEFInd-minimal/theme.conf

menuentry "CentOS(grub)" {
        icon /EFI/refind/icons/os_centos.png
        loader /EFI/centos/grubx64.efi
}

menuentry "vdisk" {
        icon /EFI/refind/icons/os_linux.png
        loader /EFI/vdiskchain
        options="vdisk=/myvdisk/centos7.vdi.vtoy"


vdiskchain 文件我是放在/boot/efi/EFI/
centos7.vdi.vtoy 放在/目录下的。

点评

既然你的 vdiskchain 放在 /boot/efi/EFI/ 那么应该写成: loader /boot/efi/EFI/vdiskchain 你再试试  详情 回复 发表于 2022-12-9 16:33
回复

使用道具 举报

发表于 2022-12-9 16:28:20 | 显示全部楼层
517769154 发表于 2022-12-9 16:26
#
# refind.conf
# Configuration file for the rEFInd boot menu

options="vdisk=/myvdisk/centos7.vdi.vtoy"  这里粘错了应该是这样的
options "vdisk=/myvdisk/centos7.vdi.vtoy"

点评

这一句没问题,这两种写法都可以,是等效的  详情 回复 发表于 2022-12-9 16:49
回复

使用道具 举报

发表于 2022-12-9 16:33:54 | 显示全部楼层
517769154 发表于 2022-12-9 16:26
#
# refind.conf
# Configuration file for the rEFInd boot menu

既然你的 vdiskchain 放在 /boot/efi/EFI/
那么应该写成:
loader /boot/efi/EFI/vdiskchain
你再试试
回复

使用道具 举报

发表于 2022-12-9 16:49:28 | 显示全部楼层
517769154 发表于 2022-12-9 16:28
options="vdisk=/myvdisk/centos7.vdi.vtoy"  这里粘错了应该是这样的
options "vdisk=/myvdisk/centos7 ...

这一句没问题,这两种写法都可以,是等效的
回复

使用道具 举报

发表于 2022-12-9 17:32:38 | 显示全部楼层
本帖最后由 517769154 于 2022-12-9 17:43 编辑
xiaojbojj 发表于 2022-12-9 16:49
这一句没问题,这两种写法都可以,是等效的

我修改我的引导菜单为如下:
menuentry "vdisk" {
        icon /EFI/refind/icons/os_linux.png
        loader /boot/efi/EFI/vdiskchain
        options "vdisk=/myvdisk/centos.vdi.vtoy"
}
启动还是不行,具体报错是:
starting vdiskchain
using load  options 'vdisk=/myvdisk/centos.vdi.vtoy'
invalid loader file!
error:not fonud while loading vdiskchain

点评

error:not fonud while loading vdiskchain 是没有找到vdiskchain,如果你接解压出来的是个目录,那么应该是vdiskchain/vdiskchain  详情 回复 发表于 2022-12-12 11:39
从报错信息来分析,现在 vdiskchain 已正常启动,错误有可能是你的 .vtoy 文件本身有错,或者是路径书写时有误  详情 回复 发表于 2022-12-9 17:43
回复

使用道具 举报

发表于 2022-12-9 17:43:21 | 显示全部楼层
517769154 发表于 2022-12-9 17:32
我修改我的引导菜单为如下:
menuentry "vdisk" {
        icon /EFI/refind/icons/os_linux.png

从报错信息来分析,现在 vdiskchain 已正常启动,错误有可能是你的 .vtoy 文件本身有错,或者是路径书写时有误
回复

使用道具 举报

发表于 2022-12-9 17:44:08 | 显示全部楼层
xiaojbojj 发表于 2022-12-9 17:43
从报错信息来分析,现在 vdiskchain 已正常启动,错误有可能是你的 .vtoy 文件本身有错,或者是路径书写 ...

好的,谢谢了。请问你是这样启动成功过的对吧

点评

刚才又试了一下,严格按照 Ventoy 官网教程装了一个 CentOS7,使用 rEFInd 引导成功。 镜像文件是:CentOS-7-x86_64-Minimal-2009.iso  详情 回复 发表于 2022-12-9 20:52
我装的是 deepin,启动正常。 再者,ventoy 的作者也提醒过,虚拟磁盘必须是固定大小的,不能使用动态扩展的格式。 希望你能成功  详情 回复 发表于 2022-12-9 18:12
回复

使用道具 举报

发表于 2022-12-9 18:12:04 | 显示全部楼层
517769154 发表于 2022-12-9 17:44
好的,谢谢了。请问你是这样启动成功过的对吧

我装的是 deepin,启动正常。
再者,ventoy 的作者也提醒过,虚拟磁盘必须是固定大小的,不能使用动态扩展的格式。
希望你能成功
回复

使用道具 举报

发表于 2022-12-9 20:52:12 | 显示全部楼层
517769154 发表于 2022-12-9 17:44
好的,谢谢了。请问你是这样启动成功过的对吧

刚才又试了一下,严格按照 Ventoy 官网教程装了一个 CentOS7,使用 rEFInd 引导成功。
镜像文件是:CentOS-7-x86_64-Minimal-2009.iso
回复

使用道具 举报

发表于 2022-12-12 09:35:34 | 显示全部楼层
xiaojbojj 发表于 2022-12-9 20:52
刚才又试了一下,严格按照 Ventoy 官网教程装了一个 CentOS7,使用 rEFInd 引导成功。
镜像文件是:Cent ...

谢谢,麻烦了,我也是用的这个版本,我做好镜像之后,用U盘引导了一遍。是可行的。然后用refind引导就不行。我再试试呢。
回复

使用道具 举报

发表于 2022-12-12 11:39:11 来自手机 | 显示全部楼层
517769154 发表于 2022-12-9 17:32
我修改我的引导菜单为如下:
menuentry "vdisk" {
        icon /EFI/refind/icons/os_linux.png

error:not fonud while loading vdiskchain
是没有找到vdiskchain,如果你接解压出来的是个目录,那么应该是vdiskchain/vdiskchain

点评

loader /boot/efi/EFI/vdiskchain/vdiskchain 具体看文件在哪里  详情 回复 发表于 2022-12-12 11:40
回复

使用道具 举报

发表于 2022-12-12 11:40:59 来自手机 | 显示全部楼层
abovo484 发表于 2022-12-12 11:39
error:not fonud while loading vdiskchain
是没有找到vdiskchain,如果你接解压出来的是个目录,那么应 ...

loader /boot/efi/EFI/vdiskchain/vdiskchain
具体看文件在哪里
回复

使用道具 举报

发表于 2022-12-12 11:42:25 | 显示全部楼层
本帖最后由 517769154 于 2022-12-12 11:43 编辑
abovo484 发表于 2022-12-12 11:39
error:not fonud while loading vdiskchain
是没有找到vdiskchain,如果你接解压出来的是个目录,那么应 ...

vdiskchain解压出来是一个二进制文件。我刚刚又做了一遍镜像。还是相同的报错。不知道什么原因,制作镜像的流程是安装ventoy官网走的。难道是因为我在windows下面解压的vdiskchain,再传到linux下面的。需要我直接在linux下面解压?
回复

使用道具 举报

发表于 2022-12-12 11:49:52 | 显示全部楼层
abovo484 发表于 2022-12-12 11:40
loader /boot/efi/EFI/vdiskchain/vdiskchain
具体看文件在哪里

我把镜像文件和vdiskchain都放在centos的根目录下面的

点评

直接解压成一个目录,目录里有个vdiskchain文件,路径就是这个文件的路径 比如 vdiskchain文件夹放在efi目录 loader /EFI/vdiskchain/vdiskchain  详情 回复 发表于 2022-12-12 12:14
回复

使用道具 举报

发表于 2022-12-12 12:14:36 | 显示全部楼层
517769154 发表于 2022-12-12 11:49
我把镜像文件和vdiskchain都放在centos的根目录下面的

直接解压成一个目录,目录里有个vdiskchain文件,路径就是这个文件的路径
比如
vdiskchain文件夹放在efi目录
loader /EFI/vdiskchain/vdiskchain
回复

使用道具 举报

发表于 2022-12-12 13:53:18 | 显示全部楼层
xiaojbojj 发表于 2022-12-9 20:52
刚才又试了一下,严格按照 Ventoy 官网教程装了一个 CentOS7,使用 rEFInd 引导成功。
镜像文件是:Cent ...

哥,方便贴一下引导菜单吗,我搞得没思路了。感觉自己没有错的,镜像从U盘是可以启动的。唯一怀疑就是centos的文件系统格式不支持ventoy启动。我是在一个已经装好的centos7上面把引导器改为refind,然后把镜像放在centos的文件系统上。
回复

使用道具 举报

发表于 2022-12-12 14:18:44 | 显示全部楼层
abovo484 发表于 2022-12-12 12:14
直接解压成一个目录,目录里有个vdiskchain文件,路径就是这个文件的路径
比如
vdiskchain文件夹放在ef ...

我试了一下,还是之前的那种报错呢
回复

使用道具 举报

发表于 2022-12-12 16:17:10 | 显示全部楼层
    loader /EFI/vdiskchain/vdiskchain
    options "vdisk=/backup/vhdx/ubuntu.vhd.vtoy"

文件位置


回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-2-22 01:11

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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