grub2 回送启动 ubuntu 服务器 iso

grub2 回送启动 ubuntu 服务器 iso

我已经设置了 usb-keys,以使用 grub2 环回来多重启动不同的 linux 映像。

标准的 ubuntu 版本 isos 启动正常,但是当尝试使用服务器 iso 时,安装失败,并提示“无法检测用于安装的 cd 媒体”。

grub.cfg 条目;

menuentry "ubuntu-12.04-server-amd64" {
    set isofile="/boot/ubuntu-12.04-server-amd64.iso"
    loopback loop $isofile
    linux (loop)/install/vmlinuz file=$isofile/preseed/ubuntu-server.seed ro noprompt noeject --
    initrd (loop)/install/initrd.gz
}

我尝试添加以下参数,因为 fromiso 适用于密钥上的 debian 映像

iso-scan/filename=/boot/ubuntu-12.04-server-amd64.iso
iso-scan/filename=/dev/disk/by-uuid/2859-44B7/boot/ubuntu-12.04-server-amd64.iso
fromiso=/dev/disk/by-uuid/2859-44B7/boot/ubuntu-12.04-server-amd64.iso

答案1

问题的解决方案很简单,今天我想在我的 atom 服务器上安装 ubuntu-12.04 服务器,它显然没有 cdrom,我通过这种方式成功了。使用这个 grub 配置:

menuentry "ubuntu-12.04-server-amd64.iso" {

set isofile="/path/to/ubuntu-12.04-server-amd64.iso"
loopback loop (hdX,Y)$isofile
linux (loop)/install/vmlinuz file=$isofile/preseed/ubuntu-server.seed iso-scan/filename=$isofile quiet noeject noprompt splash --
initrd (loop)/install/initrd.gz
} 

,计算机将进入设置屏幕,到达该屏幕后,按 Alt+F2,然后执行以下操作:

mkdir /media/bla
mount /dev/sdXY /media/bla
mkdir /cdrom
mount -o loop,ro -t iso9660 /media/bla/path/to/ubuntu-12.04-server-amd64.iso /cdrom

然后再次按 Alt+F1,继续正常安装过程,请注意,您不能格式化 /dev/sdXY。安装将顺利进行,直到您到达配置 apt 步骤,它没有返回任何错误,只是不起作用,我只是跳过了所有内容,直到在磁盘上安装引导加载程序。重新启动系统,瞧!一切正常,我注意到的唯一一件事是,/etc/apt/sources.conf 是空的,您必须按照需要的方式填充它。

希望能帮助到你 。

答案2

这对我有用,无需使用提示:

menuentry "Install Ubuntu Server" {
        set isofile="/iso/ubuntu-12.04-server-amd64.iso"
        loopback loop $isofile 
        set gfxpayload=keep
        linux   (loop)/install/vmlinuz  file=/cdrom/preseed/ubuntu-server.seed iso-scan/filename=$isofile quiet --
        initrd  (loop)/install/initrd.gz
}
menuentry "Install in expert mode" {
        set isofile="/iso/ubuntu-12.04-server-amd64.iso"
        loopback loop $isofile 
        set gfxpayload=keep
        linux   (loop)/install/vmlinuz  file=/cdrom/preseed/ubuntu-server.seed iso-scan/filename=$isofile priority=low --
        initrd  (loop)/install/initrd.gz
}
menuentry "Multiple server install with MAAS" {
        set isofile="/iso/ubuntu-12.04-server-amd64.iso"
        loopback loop $isofile 
        set gfxpayload=keep
        linux   (loop)/install/vmlinuz  iso-scan/filename=$isofile modules=maas-enlist-udeb vga=788 initrd=/install/initrd.gz quiet --
        initrd  (loop)/install/initrd.gz
}
menuentry "Check disc for defects" {
        set isofile="/iso/ubuntu-12.04-server-amd64.iso"
        loopback loop $isofile 
        set gfxpayload=keep
        linux   (loop)/install/vmlinuz  iso-scan/filename=$isofile MENU=/bin/cdrom-checker-menu quiet --
        initrd  (loop)/install/initrd.gz
}
menuentry "Rescue a broken system" {
        set isofile="/iso/ubuntu-12.04-server-amd64.iso"
        loopback loop $isofile 
        set gfxpayload=keep
        linux   (loop)/install/vmlinuz  iso-scan/filename=$isofile rescue/enable=true --
        initrd  (loop)/install/initrd.gz
}

相关内容