我已经设置了 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
}