前言

目前最好的U盘多系统方案就是使用Ventoy实现。U盘安装Ventoy初始化后,可以在不影响U盘使用的情况下同时存放多个系统文件,可以插到不同的电脑上运行。

本文记录安装的过程、参考文档以及遇到的问题和解决方案

关于Ventoy多系统玩法推荐先观看这个视频

【教程】打造2022年个人最强U盘!快闪U盘配ventoy,集成多个PE、wintogo、linuxtogo系统】

虚拟机安装Linux

首先准备好Virtual Box或者其他虚拟机。新建虚拟机,CPU、内存随意,位置选U盘,格式选择VDI、VHD或VHDX,大小只能选择固定大小,Ventoy不支持动态扩展,所以提前想好你需要多大磁盘空间,带图形化的建议直接64GB,这对于大部分Linux镜像安装都够了,小于这个大小某些镜像可能不支持,比如DeepinV23的iso安装盘。不用担心64GB不够,虚拟硬盘文件是可以扩容的。

这部分我就不展开了,参看一下两个文档

第一步参考官方文档创建虚拟机

Ventoy官方Linux vDisk启动说明

第二步参考这篇文章在虚拟机里面安装Archlinux

ArchLinux与Deepin桌面环境安装

安装完成后参考第一步中的【Ventoy官方Linux vDisk启动说明】运行vtoyboot 脚本

如果在运行脚本时出现“Possibly missing firmware for module XXXX”的错误可以参考ArchWiki解决,传送门

 具体就是配置AUR源,然后安装对应缺失的固件就可以了。具体点上方传送门查看原文,我这里缺的比较多,所以安装的包也多。

yay -S aic94xx-firmware ast-firmware linux-firmware-qlogic wd719x-firmware upd72020x-fw

然后把vdi或vhd文件增加.vtoy后缀放到ventoy的U盘中,如果一切顺利就可以重启通过Ventoy的U盘启动系统了。

解决引导问题

如果非常不幸,启动不了,那么大概率是引导问题

1、Grub引导失败

这种情况会进入grub shell的命令行窗口

参考这篇文章抢救:传送门

2、UEFI引导失败

我遇到的情况是出现以下报错

No bootfile found for UEFI!

Maybe the image does not support x64 UEFI!

 这里是因为前面参考文献创建的grub2引导没有UEFI的引导文件

解决方法

因为UEFI引导是访问EFI分区的/EFI/boot/bootx64.efi文件,而我们的EFI分区没有这个文件,但是有一个/EFI/grub/grubx64.efi,直接复制为/EFI/boot/bootx64.efi即可

1、如果虚拟机能进入系统,则进入系统直接执行复制命令

     这里假设你的EFI分区的挂载点为/efi,如果不是请自行替换

sudo cp /efi/EFI/grub/grubx64.efi /efi/EFI/boot/bootx64.efi

2、如果虚拟机不能进入,那么进入UEFI shell的命令行界面

     执行以下命令也能解决

# 注意这个输入的盘符是EFI分区的,一般都是fs0
fs0:
# 修复UEFI引导,直接复制引导文件
cp /EFI/grub/grubx64.efi /EFI/boot/bootx64.efi
# 输入引导文件的路径,进入系统
/EFI/boot/bootx64.efi

参考:通过uefi shell引导linux系统

Logo

更多推荐