背景
Ubuntu除minimal install外一直有一种在线安装的最小镜像mini.iso
安装完成20.4系统和open ssh服务磁盘占用3.2GB内存开销96M
非常适合功能单一的服务器稳定使用,缺点官方不提供UEFI启动支持
实践
获取官方的mini.iso
地址如下
http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/mini.iso
虚拟机测试legacy安装正常uefi模式没有反应
挂载后证实光盘根目录下没有EFI文件夹
转机
经过搜索发现官方预留了EFI启动镜像位于${image}/boot/grub/efi.img
只需解压到光盘根目录即可,对于制作好的启动盘可以手动复制EFI文件夹
个人更希望EFI写入iso方便Ventoy或esxi使用
探索
搜索了许多linux下打包iso的工具似乎没有提到对bootable iso的支持
此时想起Windows平台有UltraISO可以向镜像内添加文件
镜像大小74M未超免费限制,尝试添加导入保存后果然正常启动
瑕疵
成功修改uefi启动支持开机后卡住按键无反应
/dev/sda2: clean, 66394/622592 files, 671734/24789856 blocks
但ssh可以访问因此断定系统正常启动,应该是分配tty终端问题
果然Ctrl + Alt + F1
切换到tty1即可正常login而报错信息为tty7
虽麻烦了点考虑到服务器基本上依靠ssh不会插显示器,可以忽略
尾声
既知道原因,我们可以修改默认tty正常启动
Ubuntu 默认安装开启图形界面启动splash绑定tty7
因此关闭splash并更新grub启动配置信息即可
sudo vi /etc/default/grub
# 找到并删除splash quiet
GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"
# 修改后内容为
GRUB_CMDLINE_LINUX_DEFAULT=""
# 保存并更新grub重起生效
sudo update-grub2
sudo reboot
参考
Bug #1429030 “netboot mini.iso doesn't support UEFI boot” : Bugs : debian-installer package : Ubuntu
grub2 - How can I permanently remove the boot option "quiet splash"? - Ask Ubuntu