Grub 2マルチイメージブートディスクは一部のイメージを起動しますが、他のイメージでは再起動します。

Grub 2マルチイメージブートディスクは一部のイメージを起動しますが、他のイメージでは再起動します。

私が経験している問題は、起動可能なUSBが特定の起動イメージでのみ機能することです。より具体的には、Ubuntuデスクトップisoイメージは起動しますが、Ubuntuサーバーは起動しません。 Ubuntuサーバーisoイメージを起動しようとすると、画面が濃い赤色に変わり、コンピュータが再起動します。私はgrubのメニューを使用しています、そして以下は私のメニュー項目です。

これは私のgrub.cfgの一部です。

#
# Brians options
#
menuentry "Brian - ubuntu 14.04.2 Desktop i386" {
         set isofile="/bootImg/ubuntu-14.04.2-desktop-i386.iso"
         loopback loop (hd0,1)/bootImg/ubuntu-14.04.2-desktop-i386.iso
         linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
         initrd (loop)/casper/initrd.lz
}
menuentry "Brian - ubuntu 15.04 Server x64_32" {
         set isofile="/bootImg/ubuntu-15.04-server-amd64.iso"
         loopback loop (hd0,1)/bootImg/ubuntu-15.04-server-amd64.iso
         linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
         initrd (loop)/casper/initrd.lz
}
menuentry "Brian - ubuntu 14.04.2 Server i386" {
         set isofile="/bootImg/ubuntu-14.04.2-server-i386.iso"
         loopback loop (hd0,1)/bootImg/ubuntu-14.04.2-server-i386.iso
         linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
         initrd (loop)/casper/initrd.lz
}
menuentry "Brian - Ubuntu 14.04.2 Server i386 Test" --class ubuntu {
   set isoname="ubuntu-14.04.2-server-i386.iso"
   set isofile="/bootImg/${isoname}"
   loopback loop (hd0,10)$isofile
   linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
   initrd (loop)/casper/initrd.lz
}

最初のメニュー項目だけが機能し、残りはコンピュータを再起動する必要があります。 2番目のメニュー項目はUbuntu Serverを使ってみましたが、うまくいかないときに32ビット版を試しました。次に、いくつかのフォーラムを確認しましたが、似たような問題を抱えている人が4番目のメニュー項目に似たものを試してみたので、私も試してみました。

Ubuntuデスクトップイメージを起動すると、「Ubuntu試行」モードで起動します。このモードでは、コンピュータにはインストールされませんが、デスクトップにインストールボタンがあり、それ以外の場合はコンピュータにインストールされているようです。

結論として、Ubuntu サーバーの iso イメージを起動できるように grub 構成を変更するには、何をすべきかを知りたいと思います。

ベストアンサー1

Ubuntuサーバーを起動するには、次のメニュー項目を使用します。

menuentry "Ubuntu server installer" {
    set isofile=/isos/ubuntu-15.04-server-amd64.iso
    loopback isoloop $isofile
    set gfxpayload=keep
    linux   (isoloop)/install/vmlinuz file=/cdrom/preseed/ubuntu-server.seed iso-scan/filename=$isofile quiet noeject --
    initrd  (isoloop)/install/initrd.gz
}

行を逃したようですfile=/cdrom ...。ここに渡されるパスはISOをマウントした場所です。

しかし、公正な警告です。私の経験では、UbuntuインストーラはループバックがインストールされているISOでは正しく機能しません。デスクトップインストーラがISOでマウントされていないファイルシステム(この場合はUSBドライブ)が見つかった場合は、混乱してマウントを解除する必要があります。 USB + ISO設定でフルインストールを試みたとき、デスクトップインストーラのディスクパーティション化段階でUSBドライブが混乱して起動できなくなりました(grubを再インストールする必要があります)。また、iso-scan/filenameサーバーインストーラではサポートできないため、losetup & mount手動でインストールする必要があります。

残念ながら、これらの構成のサポートは、過去数回のリリースで低下しているようです。

おすすめ記事