linux

grub 引导 ubuntu iso - boot ubuntu iso image from grub

本文主要讲述如何给 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
}

 

full-stack-trip

Share
Published by
full-stack-trip
Tags: grub

Recent Posts

Android 自定义 View 入门

说来惭愧,工作数年,连基本的自…

4 年 ago

retrofit 同时支持 xml 和 json

retrofit 解析 jso…

4 年 ago

mysql - 存储过程 从入门到放弃

最近有个报表的需求,于是乎用了…

4 年 ago

奶嘴战略 - 你不得不知道的扎心真相(一)

一句:英雄枯骨无人问,戏子家事…

4 年 ago

acme.sh 的简单使用

acme.sh 是纯 shel…

4 年 ago

wrk -更现代化的http压测工具

wrk 是一款更现代化的 ht…

4 年 ago