Pan*_*dya 8 iso livecd grub2 bootable
这是一个有点复杂的问题,让我解释一下预期的内容:
我知道我们可以添加menuentry
带有 ISO 文件位置的GRUB并使用 GRUB 条目从 ISO 启动。(即这种方法)
但假设:
/dev/sda3/
/dev/sda4
问题是:使用安装盘,运行实时环境(比如不安装 Ubuntu 14.04 试试),我可以从 ISO(Trisquel 7.0)引导/dev/sda3
并安装该系统/dev/sda4
吗?我如何能?
注意:我同意最好创建/刻录我想从iso安装的系统的实时磁盘/USB,但如果现在没有可用的磁盘/USB,那么我可以执行上述提到的操作吗?
我认为有一种可能的技术:在 HDD 上从(Ubuntu 的)实时环境安装 GRUB,指向我最终想从中启动的 ISO(Trisquel)的路径!如何?
小智 2
在虚拟机上测试。使用此方法能够从 Trisquel Live ISO(驻留在硬盘上)启动。
所需的步骤如下所示:
启动到 Ubuntu Live 磁盘后,开始安装过程。您至少需要对系统进行最少的安装/dev/sda4
才能获得工作且可引导的 GRUB。但完全安装更容易(相当快)。
1.a. 请务必将安装限制为仅更改/dev/sda4
. 为此,当询问硬盘设置时,您需要选择“其他”。
通过引导到已安装的系统来测试您的新 GRUB 是否正常工作。
2.a. 注意:Shift在 Ubuntu 下,要显示 GRUB 菜单,请在系统启动时按住。这个问题包含有关如何在每次启动时显示 GRUB 菜单的说明。
现在您需要添加所需的菜单项,如您提到的此方法中所述。提供适应:
3.a. 我假设 Trisquel ISO 位于/dev/sda3/
.
ISO 映像的菜单项需要添加到/etc/grub.d/40_custom
文件中。通过以下方式编辑文件:
sudo apt-get install gksu
gksudo gedit /etc/grub.d/40_custom
Run Code Online (Sandbox Code Playgroud)
并将该文件中的文本替换为以下文本:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Trisquel ISO" {
set isofile="/trisquel_7.0_amd64.iso"
loopback loop (hd0,3)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd
}
Run Code Online (Sandbox Code Playgroud)
哪里:
Trisquel ISO
= 您想要在 Grub 菜单中显示的名称。/trisquel_7.0_amd64.iso
= 目标分区上 ISO 映像的路径。(hd0,3)
= 包含 ISO 映像的分区(对于 GRUB,它等于/dev/sda3
linux 中的:"sda1" == "(hd0,1)"; "sdb2" == "(hd1,2)"; ...)。tail -n +3
只是“grub 开始从哪一行读取配置”。本例中的第 3 行是第一个注释行,这很好。3.b. 保存并关闭此文件,然后运行此命令(以应用更改):
sudo update-grub
Run Code Online (Sandbox Code Playgroud)现在您应该能够从硬盘上的 ISO 启动。
注意:如果您需要/dev/sda3
在安装过程中使用,请在 Live CD 环境中使用以下命令:
sudo umount -l /isodevice
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
1250 次 |
最近记录: |