在Ubuntu系统下直接运⾏ISO⽂件的⽅法详解
⼤多数 Linux 发⾏版都会提供⼀个可以从 USB 启动的 live 环境,以便⽤户⽆需安装即可测试系统。我们可以⽤它来评测这个发⾏版或仅仅是当成⼀个⼀次性系统,并且很容易将这些⽂件复制到⼀个 U 盘上,在某些情况下,我们可能需要经常运⾏同⼀个或不同的 ISO 镜像。GRUB 2 可以配置成直接从启动菜单运⾏⼀个 live 环境,⽽不需要烧录这些 ISO 到硬盘或 USB 设备。
获取和检查可启动的 ISO 镜像
为了获取 ISO 镜像,我们通常应该访问所需的发⾏版的⽹站下载与我们架构兼容的镜像⽂件。如果这个镜像可以从 U 盘启动,那它也应该可以从 GRUB 菜单启动。
当镜像下载完后,我们应该通过 MD5 校验检查它的完整性。这会输出⼀⼤串数字与字母合成的序列。
将这个序列与下载页提供的 MD5 校验码进⾏⽐较,两者应该完全相同。
配置 GRUB 2
ISO 镜像⽂件包含了整个系统。我们要做的仅仅是告诉 GRUB 2 哪⾥可以到 kernel 和 initramdisk 或 initram ⽂件系统(这取决于我们所使⽤的发⾏版)。
在下⾯的例⼦中,⼀个 Kubuntu 15.04 live 环境将被配置到 Ubuntu 14.04 机器的 Grub 启动菜单项。这应该能在⼤多数新的以Ubuntu 为基础的系统上运⾏。如果你是其它系统并且想实现⼀些其它的东西,你可以从这些⽂件了解更多细节,但这会要求你拥有⼀点 GRUB 使⽤经验。
这个例⼦的⽂件 kubuntu-15.04-desktop-amd64.iso 放在位于 /dev/sda1 的 /home/maketecheasier/TempISOs/ 上。
为了使 GRUB 2 能正确到它,我们应该编辑
/etc/grub.d40-custom
复制代码
代码如下:红帽linux系统下载iso
menuentry "Kubuntu 15.04 ISO" {
set isofile="/home/maketecheasier/TempISOs/kubuntu-15.04-desktop-amd64.iso"
loopback loop (hd0,1)$isofile
echo "Starting $"
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
initrd (loop)/casper/initrd.lz
}
分析上述代码
⾸先设置了⼀个变量名 $menuentry ,这是 ISO ⽂件的所在位置。如果你想换⼀个 ISO ,你应该修改
isofile="/path/to/file/name-of-iso-file-.iso".
下⼀⾏是指定回环设备,且必须给出正确的分区号码。
复制代码
代码如下:
loopback loop (hd0,1)$isofile
注意 hd0,1 这⾥⾮常重要,它的意思是第⼀硬盘,第⼀分区 (/dev/sda1)。
GRUB 的命名在这⾥稍微有点困惑,对于硬盘来说,它从 “0” 开始计数,第⼀块硬盘为 #0 ,第⼆块为 #1 ,第三块为 #2 ,依此类推。但是对于分区来说,它从 “1” 开始计数,第⼀个分区为 #1 ,第⼆个分区为 #2 ,依此类推。也许这⾥有⼀个很好的原因,但肯定不是明智的(明显⽤户体验很糟糕)..
在 Linux 中第⼀块硬盘,第⼀个分区是 /dev/sda1 ,但在 GRUB2 中则是 hd0,1 。第⼆块硬盘,第三个分区则是 hd1,3, 依此类推.
下⼀个重要的⾏是:
复制代码
代码如下:
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
这会载⼊内核镜像,在新的 Ubuntu Live CD 中,内核被存放在 /casper ⽬录,并且命名为 vmlinuz.efi 。如果你使⽤的是其它系统,可能会没有 .efi 扩展名或内核被存放在其它地⽅ (可以使⽤归档管理器打开 ISO ⽂件在 /casper 中查确认)。最后⼀个选项, quiet splash ,是⼀个常规的 GRUB 选项,改不改⽆所谓。
最后
复制代码
代码如下:
initrd (loop)/casper/initrd.lz
这会载⼊ initrd ,它负责载⼊ RAMDisk 到内存⽤于启动。
启动 live 系统
做完上⾯所有的步骤后,需要更新 GRUB2:
复制代码
代码如下:
sudo update-grub
当重启系统后,应该可以看见⼀个新的、并且允许我们启动刚刚配置的 ISO 镜像的 GRUB 条⽬:
选择这个新条⽬就允许我们像从 DVD 或 U 盘中启动⼀个 live 环境⼀样。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。