使用Grub2引导硬盘上的iso文件

这篇教程介绍如何使用Grub2启动管理器引导硬盘上的ISO镜像文件。不刻光盘,不做Live USB,使用Grub2引导保存在硬盘上的iso文件。很多Linux发行版都支持直接从ISO镜像文件引导。

Grub2引导ISO镜像文件的方法

首先编辑/etc/grub.d/40_custom这个文件。

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 nopromt spalsh --
 initrd (loop)/casper/initrd.lz
}

解释

  • menuentry:这个条目将会出现在Grub2的启动菜单。你可以随意命名这个条目。
  • set isofile: 这个是用来指定isofile的值,也就是指定ISO镜像文件的路径。在这里,我的Ubuntu Mate版ISO镜像文件保存在Downloads目录下。
  • hd0, 3: hd0表示第一块硬盘,3表示ISO镜像文件保存在/dev/sda3硬盘分区。
  • casper/vmlinuz.efi: 这是Ubuntu镜像文件中Linux内核文件的路径
  • casper/initrd.lz: 这是ubuntu镜像文件中initrd文件的路径

你需要根据自己的情况修改以上内容。修改完后保存文件。然后更新Grub2菜单。

sudo update-grub

现在你可能不会发现Grub2启动菜单有任何变化。但重启电脑后就能发现。

sudo reboot

你的自定义条目会出现在Grub2启动菜单的最底部。如果Grub2不能引导你的镜像文件,请查看/etc/grub.d/40_custom文件,看看是否有打错字母或漏掉空格等。

你也可以添加多个条目。下面是我的/etc/grub.d/40_custom文件的截图。第一个条目是Ubuntu-Mate,第二个条目是Archlinux.

Grub2引导ISO文件

请注意,不同的Linux镜像文件其Linux内核文件和initrd文件的路径和名称有所不同。在Ubuntu镜像文件里,Linux内核文件的路径是/casper/vmlinuz.efi,initrd文件的路径是/casper/initrd.lz。如果你不清楚这两个文件在ISO镜像文件的路径,请先用文档管理器打开ISO镜像文件查看。

Grub2引导ISO文件

另外,即使是同一个Linux发行版,32位的和64位镜像文件里的Linux内核文件名称和initrd文件名称也有可能不同.例如,ubuntu 15.10 64位镜像的Linux内核文件是/casper/vmlinuz.efi,而我下载的ubuntu 15.10 32位镜像的Linux内核文件则是/casper/vmlinuz

为这篇文章评分
[Total: 11 Average: 3.5]

Leave a Reply

Your email address will not be published.

The maximum upload file size: 2 MB. You can upload: image, audio, video, document, spreadsheet, interactive, text, archive, code, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here