ventoy / vtoyboot

Work with ventoy to support boot Linux distros in a vdisk file (vhd/vdi/raw ...)
GNU General Public License v3.0
275 stars 23 forks source link

询问下,EFI stub kernel,是否可以使用 vtoyboot 启动 #5

Closed e6e6 closed 8 months ago

e6e6 commented 3 years ago

系统没有安装grub https://wiki.gentoo.org/wiki/EFI_stub_kernel 内核参数直接 CONFIG_CMDLINE="root=PARTUUID=xxxxx ro init=/usr/lib/systemd/systemd quiet" 真机中使用efibootmgr调整efi来启动的

目前已经将系统通过loop设备移动到raw disk中,也chroot进raw disk中更改了/etc/fstab,也更新了内核CONFIG_CMDLINE参数,并且重新编译了内核。

目前启动内核在路径raw disk中第一个分区的/EFI/Gentoo/gentoo.efi,更新内核的时候才将它挂在到第二分区的/boot目录, vtoyboot插件会自动去寻找efi来尝试启动吗?

还是说又其他的操作?

还有另外一个问题,针对raw disk文件,文档中并没有提出需要固定大小,所以可以通过fallocate -l 60GiB -o 1024 /path/gentoo.imgdd if=/dev/zero of=tmptst.dat bs=1G seek=60 count=0 这种方式创建动态大小的raw disk吗?

谢谢

ventoy commented 3 years ago

Ventoy启动时只会固定寻找 EFI分区中的 EFI/BOOT/BOOTX64.EFI 文件来进行启动。 efibootmgr 设置的东西只对BIOS有用,Ventoy是不管的。 rawdisk文件怎么创建都行,只要在磁盘上实际占用这么大空间就可以。像稀疏文件就不行。

e6e6 commented 3 years ago

Ventoy启动时只会固定寻找 EFI分区中的 EFI/BOOT/BOOTX64.EFI 文件来进行启动。 efibootmgr 设置的东西只对BIOS有用,Ventoy是不管的。 rawdisk文件怎么创建都行,只要在磁盘上实际占用这么大空间就可以。像稀疏文件就不行。

谢谢回复,明白了,就是raw disk也需要固定大小 明天测试下,直接将内核复制到EFI/BOOT/BOOTX64.EFI看看能否启动成功

e6e6 commented 3 years ago

测试了不行,内核起来后,报rootfs不支持,接着崩溃... 大佬能完善下对efi stub kernel的支持么

ventoy commented 3 years ago

这个不是说是个Linux系统都可以这样启动的。

vtoyboot需要Ventoy和系统双方密切配合才可以完成。 配合的意思就是需要在系统安装后执行 vtoyboot.sh ,在系统内插入一些脚本和工具。目的是在启动的时候能够 获取 Ventoy 相关的信息,让启动过程能够正常完成。

vtoyboot.sh 目前只对一些主流的发行版本做了适配,你这个系统估计还不支持。 https://www.ventoy.net/cn/plugin_vtoyboot.html