Linux系统安装到U盘
前言
不是把Linux系统刻录到U盘做安装盘, 而是把Linux系统安装到U盘, 类似Windows PE, 即插即用.
U盘保留部分磁盘和Windows共享, Windows可以把文件复制到共享磁盘, Linux可以直接读取.
准备工作
1.一台可运行VMware虚拟机的电脑
2.VMware软件, 我这里使用的是VMware Workstation Pro 17
3.U盘, 这里我使用的是64GB的
4.Linux系统ISO文件, 这里我下载的是ubuntu-22.04.5-live-server-amd64.iso
安装过程
创建虚拟机
首先启动VMware虚拟机, 创建一个新的虚拟机, 配置如下
- 类型配置: 默认的典型
- 安装客户机操作系统: 稍后安装操作系统,创建空白硬盘
- 选择客户机操作系统: 根据自己需求选择,我这里选择的是Linux,版本是: Ubuntu 64位
- 虚拟机名称: 随意,我这里是 install-linux-onto-usb
- 硬件: 全部默认
更改虚拟机配置

-
移除虚拟硬盘

-
修改虚拟光驱, 启动时不连接, 挂载Ubuntu ISO镜像

-
修改USB, USB兼容性选择最新的版本, 显示所有USB输入设备

-
修改固件类型:
选项>高级>固件类型, 设置为UEFI, 禁用安全引导
启动虚拟机
-
开机,启动虚拟机,会进入安装界面
Try or Install Ubuntu Server字样 -
挂载U盘,
选中虚拟机右键>可移动设备>你的U盘>连接. 或者右下角托盘, 将U盘挂载到虚拟机.
-
挂载光盘,如果没有正常挂载ISO安装文件,
选中虚拟机右键>可移动设备>CD/DVD>连接. 或者右下角托盘, 点击光盘图标进行挂载 -
根据需求,配置安装参数,一般默认即可,这里重点说下硬盘的配置
-
禁用LVM,U盘作为了硬盘,不使用LVM

-
修改 / 根目录的磁盘大小,我这里把56G修改为了46G,预留10G作为共享空间,可以和Windows互相传递文件,如果不需要,可以跳过这一步




- 后续根据自己的需求, 配置安装, 一般默认即可. 静待安装成功, 重启.

重新启动客户机
如果需要重启, 电源>重新启动客户机会保留已经挂载的设备, 例如 已经挂载的ISO光盘和U盘, 不会丢失. 关机然后开机, 会丢失挂载的设备, 需要重新挂载
如果重启之后, 又进入了安装流程, 就把光盘卸载, 只挂载U盘, 重新启动客户机.
如果启动还是无法进入GRUB引导界面,就把虚拟机关机,然后开机,重新挂载U盘,重启客户机
GRUB 引导
如果第一个引导 Ubuntu 一直黑屏无法进入,就重启客户机,选择第二个 *Advanced options for Ubuntu

进入系统
安装成功
A start job is running for Wait for Network to be configured 提示, 持续约30秒至2分钟, 这是由于 systemd-networkd-wait-online.service 服务默认等待所有网络接口配置完成并进入"可路由"状态, 若网卡未连接网线、DHCP 响应慢或 WiFi 未连接, 就会超时等待.
vi /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service
在[Service]加入TimeoutStartSec=3sec

虚拟机测试完成之后,把物理机的BIOS中设置为U盘启动,测试启动物理机
Windows磁盘共享
Linux安装到U盘时, 预留了10G空间和Windows磁盘共享, 方便服务器断网时进行维护.
Windows格式化共享磁盘
因为U盘是ext4格式, Windows默认是不显示U盘的, 需要在 磁盘管理 中操作选择U盘未分配的10G硬盘>右键>新建简单卷. 分配一个盘符(例如U),不要格式化,创建完成再格式化为exFAT格式.


Linux挂载共享磁盘
使用虚拟机重新启动U盘系统, 使用blkid命令查看共享磁盘的UUID, 只要共享磁盘不进行格式化, UUID就不会改变, 修改fstab永久挂载到 /mnt/share目录.
## 安装 exFAT 兼容包
apt update
apt install exfatprogs -y
## 创建 /mnt/share 目录
mkdir -p /mnt/share
## 查看共享磁盘的UUID,我这里是 D806-4541
blkid
## 在/etc/fstab 增加一行
#UUID=D806-4541 /mnt/share exfat defaults,nofail 0 0

