如何直接从硬盘启动Linux ISO映像

Linux的GRUB2引导加载程序可以直接从您的硬盘驱动器引导Linux ISO文件。引导Linux live CD,甚至在另一个硬盘分区上安装Linux,而无需将其刻录到磁盘或从USB驱动器引导。

我们在Ubuntu 14.04上执行了这个过程-Ubuntu和基于Ubuntu的Linux发行版对此有很好的支持。其他Linux发行版的工作方式也应该类似。

获取Linux ISO文件

相关:如何配置GRUB2引导加载程序的设置

这个技巧需要您在硬盘上安装Linux系统。您的计算机必须使用GRUB2引导加载程序,它是大多数Linux系统上的标准引导加载程序。抱歉,您不能使用Windows引导加载程序直接从Windows系统引导Linux ISO文件。

下载您想要使用的ISO文件,并将它们存储在Linux分区上。GRUB2应该支持大多数Linux系统。如果您希望在不将其安装到硬盘驱动器的情况下在实时环境中使用它们,请确保下载每个Linux ISO的“live CD”版本。许多基于Linux的引导实用程序盘也应该可以工作。

检查ISO文件的内容

您可能需要查看ISO文件内部以确定特定文件的确切位置。例如,您可以使用Ubuntu和其他基于GNOME的桌面环境附带的Archive Manager/File Roller图形应用程序打开ISO文件。在Nautilus文件管理器中,右键单击ISO文件,然后选择使用Archive Manager打开。

找到内核文件和initrd映像。如果您使用的是Ubuntu ISO文件,您会在Casper文件夹中找到这些文件-vmlinuz文件是Linux内核,initrd文件是initrd映像。稍后您需要知道它们在ISO文件中的位置。

确定硬盘分区的路径

GRUB使用与Linux不同的“设备名称”方案。在Linux系统上,/dev/sda1是第一个硬盘上的第一个分区-a表示第一个硬盘,1表示它的第一个分区。在GRUB中,(hd0,1)等效于/dev/sda0。0表示第一个硬盘,1表示硬盘上的第一个分区。换句话说,在GRUB设备名中,磁盘号从0开始计数,分区号从1开始计数-是的,这是不必要的混乱。例如,(hd3,6)指的是第四个硬盘上的第六个分区。

您可以使用fdisk-l命令查看此信息。在Ubuntu上,打开终端并运行以下命令:

您将看到Linux设备路径列表,您可以自己将其转换为GRUB设备名称。例如,下面我们可以看到系统分区是/dev/sda1-因此这就是GRUB的(hd0,1)。

创建GRUB2引导条目

添加自定义引导项的最简单方法是编辑/etc/grub.d/40_custom脚本。此文件是为用户添加的自定义引导项设计的。编辑该文件后,您的/etc/deaults/grub.d/脚本的内容将与/etc/grub.d/脚本相结合来创建/boot/grub.cfg文件-您不应该手动编辑该文件。它被设计为根据您在其他文件中指定的设置自动生成。

您需要打开/etc/grub.d/40_custom文件,才能使用root权限进行编辑。在Ubuntu上,您可以通过打开终端窗口并运行以下命令来完成此操作:

您可以随意在您喜欢的文本编辑器中打开该文件。例如,您可以将命令中的“Gedit”替换为“Nano”,以便在Nano文本编辑器中打开该文件。

除非您添加了其他自定义引导项,否则应该会看到一个基本上为空的文件。您需要在注释行下面的文件中添加一个或多个ISO引导部分。

下面介绍如何从ISO文件引导Ubuntu或基于Ubuntu的发行版。我们用Ubuntu 14.04测试了这一点:

自定义引导项以包含所需的菜单项名称、计算机上ISO文件的正确路径以及包含ISO文件的硬盘和分区的设备名。如果vmlinuz和initrd文件具有不同的名称或路径,请确保也为这些文件指定正确的路径。

(如果您有单独的/home/分区,请省略/home位,如下所示:set isofile=“/name/downloads/${isoname}”)。

重要提示:不同的Linux发行版需要具有不同引导选项的不同引导条目。GRUB Live ISO Multiboot项目为不同的Linux发行版提供了各种菜单项。您应该能够根据您想要引导的ISO文件调整这些示例菜单项。您也可以只在Web上搜索您想要引导的Linux发行版的名称和版本号,并加上“boot from ISO in GRUB”来查找更多信息。

如果要添加更多ISO引导选项,请向文件中添加其他部分。

完成后保存文件。返回终端窗口并运行以下命令:

下次引导计算机时,您将看到ISO引导条目,您可以选择它来引导ISO文件。您可能需要在引导时按住Shift键才能看到GRUB菜单。

如果您在尝试引导ISO文件时看到错误消息或黑屏,则说明您以某种方式错误配置了引导条目。即使ISO文件路径和设备名称正确,ISO文件上的vmlinuz和intird文件的路径也可能不正确,或者您正在引导的Linux系统可能需要不同的选项。

相关文章