在已安装Ventoy的移动设备上安装Linux与配置引导

背景介绍

简单来说,Ventoy是一个制作可启动U盘的开源工具。
有了Ventoy你就无需反复地格式化U盘,你只需要把 ISO/WIM/IMG/VHD(x)/EFI 等类型的文件拷贝到U盘里面就可以启动了,无需其他操作。
– Ventoy官方介绍

手头有个512GB的Sandisk固态移动硬盘, 安装Ventoy后一直当系统维护盘和数据交换用, 最近想要在里面再装个Linux做开发用, 逛了一圈没找到啥完整的攻略, 只有官方Github上有个issue给了点提示
https://github.com/ventoy/Ventoy/issues/852
先试了下用vdi虚拟磁盘的方式, 结果光创建120GB大小的vdi文件就需要10来分钟, 想到后面访问vdi里面的文件也不太方便, 就放弃这个方案了, 研究了一下在移动硬盘上单独分区安装Manjaro, 然后再配置Ventoy的GRUB进行引导, 实验成功, 分享一下过程, 人生苦短, 我用Manjaro, 理论上其他Linux发行版也一样适用.

安装Ventoy

https://github.com/ventoy/Ventoy/releases/
官网下载运行Ventoy, 注意在配置选项中设置分区设置, 在磁盘最后保留一段空间, 用来存放要安装的Manjaro系统. 注意首次安装Ventoy会清空移动设备上的所有数据, 务必做好数据备份
在已安装Ventoy的移动设备上安装Linux与配置引导

安装Manjaro

将Manjaro的安装镜像ISO文件直接扔到装好Ventoy的U盘/移动硬盘第一个分区(卷标为Ventoy)里面就可以正常使用Ventoy引导安装程序了, 这里需要注意的是Manjaro安装过程中需要手工选择安装的目标磁盘和分区, 安装过程中忘了截图, 大致描述一下吧, 就是安装目标设备选择U盘/移动硬盘, 在设备末尾未分配的空间上创建一个ext4分区, 并设置挂载点为/, 下一步的时候安装程序会提示没有引导分区什么的, 这里不用管它, 直接装完就行

配置Ventoy引导菜单

上一步安装完Manjaro后重启肯定是无法引导的, Ventoy的菜单里面只会显示ISO文件的启动项, 这时候还正常启动到Windows系统中, 使用DiskGenius访问U盘/移动硬盘中刚才安装Manjaro的ext4分区, 找到/etc/fstab文件复制到桌面并用编辑器打开(直接在DiskGenius中预览的话不能选择内容复制的)
在已安装Ventoy的移动设备上安装Linux与配置引导
fstab文件中根位置挂载设备的UUID内容复制到剪切板备用(主要要包含UUID=)
在已安装Ventoy的移动设备上安装Linux与配置引导
使用Windows的文件资源管理器打开U盘/移动硬盘的Ventoy分区, 在根目录下新建文件夹ventoy, 然后在该文件夹里面创建配置文件ventoy_grub.cfg, 编辑内容如下:

menuentry "Manjaro on Sandisk" --class=custom {
    set root=($vtoydev,gpt3)
    linux /boot/vmlinuz-5.4-x86_64 root=UUID=469b995c-b84e-40d5-ba30-7ce0027ea82a
    initrd /boot/initramfs-5.4-x86_64.img
    boot
}
menuentry '<-- Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
    echo 'Return ...'
}

官方文档参考: https://www.ventoy.net/cn/plugin_grubmenu.html

配置文件里面主要是定义了两个menuentry菜单入口配置, 第二个是返回上一页的作用, 照抄官方文档, 第一个入口是引导U盘/移动硬盘上Manjaro系统的, 其实主要就4行内容, 下面详细解释一下:

set root=($vtoydev,gpt3) 这里使用了Ventoy内置的一个变量$vtoydev用来获取当前移动设备的名称和编号, 实际变量内容通常为hd1之类GRUB里面对存储设备进行编号的规则.

linux /boot/vmlinuz-5.4-x86_64 root=UUID=469b995c-b84e-40d5-ba30-7ce0027ea82a 这一行指定系统root位置的时候就用到了上面我们从fstab中复制过来的UUID内容, 定位移动设备更方便和准确. 另外需要注意一下/boot/vmlinuz-xx这个文件详细的名称可能会随系统更新而不同, 可以在Diskgenius里面对照改一下
在已安装Ventoy的移动设备上安装Linux与配置引导
initrd /boot/initramfs-5.4-x86_64.img 同上, 和实际文件名保持一致

boot 引导系统

从Ventoy中引导Manjaro

做好上面的配置后重启系统, 从移动设备启动到Ventoy菜单后按F6加载自定义菜单, 就可以看到上面我们配置的两个入口: 第一个启动Manjaro, 第二个返回上一级菜单. 直接选择第一个选项启动系统就OK啦!
在已安装Ventoy的移动设备上安装Linux与配置引导
在已安装Ventoy的移动设备上安装Linux与配置引导

上一篇:manjaro kde 安装教程(参考+备忘)


下一篇:[Linux] 双系统下linux自动挂载windows下的逻辑分区