本文主要讲述如何给 grub 启动菜单添加 linux iso image的启动项,以用于临时救急或者重装系统。主要提供一种通用的方式和针对 manjaro linux的方式,我比较喜欢 manjaro linux,方便又稳定。
下面,我们进入主题,先来说如何修改 grub 启动菜单。
永久的修改 grub 启动菜单
我们知道 grub 启动菜单的配置文件是 /boot/grub/grub.cfg ,那么你修改它就能生效,但是 update-grub2 后又会打回原形,所以如果要修改,请修改 /etc/default/grub 主要可以修改 分辨率、超时、默认启动项等,而如果要添加启动项,请添加到 /etc/grub.d/40_custom 里面,这样才不会打回原形。
添加 grub 启动菜单项 启动 elementary iso image
编辑 /etc/grub.d/40_custom 添加
menuentry "elementary live os" { set isofile="/iso/elementaryos-5.0-beta1.20180703.iso" set dri="free" search --no-floppy -f --set=root $isofile probe -u $root --set=abc set pqr="/dev/disk/by-uuid/$abc" loopback loop $isofile linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile toram initrd (loop)/casper/initrd.lz }
你只需将下载后的 iso 文件放置在 iso 文件夹下面,至于iso文件夹的位置可随意,如果需要安装该iso文件,那么不要放在安装时要占用的分区即可。然后 sudo update-grub2 即可,重启你会发现多出了一个启动项,elementary os 基于 ubuntu 长期支持版,是个很简约的版本,不像 gnome 有很多杂七杂八的没啥用但又不能卸载的软件,比如 manjaro gnome 版本的 打印机管理,还有 qt4 的东西等,卸载后很多软件一起卸载,比如网易云,所以…只能选择建个文件夹隐藏起来。
添加 grub 启动菜单项 启动 manjaro iso image
manjaro 有点不同,它可以在启动前选择语言、时区等,相关的配置如下:
menuentry "Manjaro gnome 18.0.3" { set isofile="/iso/manjaro-gnome-18.0-beta3-testing-x86_64.iso" set dri="free" search --no-floppy -f --set=root $isofile probe -u $root --set=abc set pqr="/dev/disk/by-uuid/$abc" loopback loop $isofile linux (loop)/boot/vmlinuz-x86_64 img_dev=$pqr img_loop=$isofile driver=$dri tz=Asia/Shanghai lang=zh_CN keytable=us initrd (loop)/boot/intel_ucode.img (loop)/boot/initramfs-x86_64.img }
另外,推荐一个 grub 主题 - stylishDark,你可以通过 Grub Customizer 来管理主题,修改 grub 配置等。
19.11.05 更新 :添加 grub 启动 deepin linux 菜单
menuentry "Deepin Live 15.11 i386" { set isofile="/iso/deepin-15.11-amd64.iso" set dri="free" search --no-floppy -f --set=root $isofile probe -u $root --set=abc set pqr="/dev/disk/by-uuid/$abc" loopback loop $isofile linux (loop)/live/vmlinuz findiso=$isofile noprompt quiet splash boot=live ro deepin-installer locales=zh_CN.UTF-8 keyboard-configuration/layoutcode=us keyboard-configuration/variantcode= -- rootflags=sync initrd (loop)/live/initrd.lz }