U盘多系统共存之Arch Linux To GO
目前最好的U盘多系统方案就是使用Ventoy实现。U盘安装Ventoy初始化后,可以在不影响U盘使用的情况下同时存放多个系统文件,可以插到不同的电脑上运行。本文记录安装的过程、参考文档以及遇到的问题和解决方案关于Ventoy多系统玩法推荐先观看这个视频。
前言
目前最好的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不够,虚拟硬盘文件是可以扩容的。
这部分我就不展开了,参看一下两个文档
第一步参考官方文档创建虚拟机
第二步参考这篇文章在虚拟机里面安装Archlinux
安装完成后参考第一步中的【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
更多推荐
所有评论(0)