使用Grub2引导加载程序从ISO文件引导

在本教程中,我将向您展示一个非常巧妙的技巧,它可以帮助您直接从硬盘驱动器启动ISO文件。 通常,您需要创建实时DVD或实时USB才能启动Linux ISO映像。 在大多数情况下都可以。 但是,如果您周围没有光盘或USB驱动器,或者您的计算机不支持将ISO映像刻录到光盘上怎么办?

Grub2引导加载程序可助您一臂之力! 您已经在硬盘驱动器上下载了Linux ISO映像,Grub2可以在硬盘驱动器上引导该ISO映像。 许多Linux发行版可以直接从ISO文件启动。 这就是我如此爱Grub的另一个原因。 因此,让我们开始吧。

使用Grub2从ISO文件启动

第一次编辑 /etc/grub.d/40_custom 使用nano文本编辑器或您喜欢的文本编辑器编辑文件。

sudo nano /etc/grub.d/40_custom

该文件的第一行是 #! / bin / bash 表明它是一个shell脚本。 现在,将以下文本粘贴到该文件的末尾。

menuentry "ubuntu-mate-15.10-desktop-amd64.iso" {
 set isofile="/home/xiao/Downloads/ubuntu-mate-15.10-desktop-amd64.iso"
 loopback loop (hd0,3)/$isofile
 linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile quiet noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}

说明

  • 菜单项:此项将显示在Grub2引导菜单上。 您可以随意命名。
  • 设置isofile:用于指定Linux ISO映像的路径。 在这里,我使用的是Ubuntu Mate版ISO映像,该映像保存在Downloads目录下。
  • hd0、3:hd0表示第一个硬盘驱动器,3表示ISO映像在第三个磁盘分区上。 所以 hd0、3 手段 / dev / sda3
  • capser / vmlinuz.efi 是Ubuntu ISO映像上的linux内核。
  • casper / initrd.lz 是Ubuntu ISO映像上的initrd映像。

进行更改后,保存文件并更新Grub引导菜单。

sudo update-grub

您可能不会立即看到新的菜单项,但是重新启动计算机后会看到它。 现在重新启动计算机。

sudo reboot

您将在Grub引导菜单的底部看到您的自定义条目。 如果grub无法启动您的ISO映像,请检查 /etc/grub.d/40_custom 文件,看看是否有错字或您是否有空格或类似的东西。

您可以根据需要添加许多菜单项。 这是我的截图 /etc/grub.d/40_custom 文件。 第一个菜单项用于Ubuntu Mate版本,第二个菜单项用于Archlinux。

请注意,对于不同的Linux ISO映像,Linux内核和initrd映像文件可以不同。 对于Ubuntu,Linux内核位于 /casper/vmlinuz.efi 并且initrd图片文件位于 /casper/initrd.lz。 如果您不知道它们的位置,只需使用存档管理器打开ISO映像。

使用存档管理器检查ISO文件的内容

从ISO文件启动无需再刻录CD / DVD和创建Live USB。 Grub legacy没有此功能。

Sidebar