Debian と一緒に Ubuntu 16.04 をインストールした後、Ubuntu のブート オプションが表示されません。ブート メニューを修正するにはどうすればよいですか?
答え1
答え2
質問から判断すると、「Ubuntu のブート オプションがない」というのは、Ubuntu のものではなく、Debian によって以前にインストールされた GRUB 2 ブート ローダーを指しているのではないかと思います。
関連して、私のテスト マシンには Debian 8.2 Xfce と Xubuntu 14.04 のデュアル ブート セットアップがあります。私のセットアップでは、インストールは以下に記載されています。
最初にDebianをインストールし、その後にXubuntuをインストールします
ハードディスク自体にインストールされたブートローダー、つまり
/dev/sda
Debianに属しているため、その後にインストールされたXubuntuは検出されません。パーティションにインストールされているブートローダ (つまり、 Xubuntu に属するもの) は、のブートローダからチェーンロードするときに、
/dev/sda3
パーティション で Debian を検出します。/dev/sda2
/dev/sda
これを踏まえると、「Ubuntu のブート オプションがない」という問題は、Debian の GRUB 2 ブート ローダーが、その後にインストールされた他のオペレーティング システムを検出しないために発生すると言えます。しかし、Debian で GRUB 2 構成を再構成して検出できるようにすることはできませんでした。
回避策
回避策としては、 に新しいエントリを手動で追加し/etc/grub.d/40_custom
、update-grub
Debian で実行します。Xubuntu の場合を示していますが、Ubuntu にも同様に適用できます。
menuentry "Chainload to Xubuntu" {
insmod ext2
search --no-floppy --fs-uuid --set <UUID>
chainloader +1
}
<UUID>
は、Debian で root として実行することで確認できるパーティションの UUID 値ですblkid
。次のような対応する行を探し/dev/sda3: UUID="..."
、引用符なしで値をコピーします (Ubuntu は別のパーティションにインストールされている可能性があります)。
chainloader +1
次のパーティションでブートローダを探します。チェーンロードは、Ubuntu がカーネル リリースを更新するたびにユーザーがこれらの行を編集する必要がないため、手動でlinux
指定するよりも便利です。initrd
いずれにしても、メニューを選択すると、GRUB 2 ブートローダーは Xubuntu に属する別の GRUB 2 ブートローダーにリダイレクトされ、Xubuntu のブート オプションが表示されます。
解決策が見つかりました (2016-06-06)
GRUB 2 の設定を再構成する必要はまったくありませんでした。関連する設定ファイルはすでに に存在します/etc/grub.d/30_os-prober
。Ubuntu とそのフレーバーとは異なり、Debian にはデフォルトで と呼ばれるパッケージがありませんos-prober
。
os-prober
したがって、Debian ユーザーはAPT 経由で手動でインストールし、再実行する必要がありますupdate-grub
。Ubuntu のブート オプションは、次回の起動時に表示されます。
参照Unix SEに関するこの回答、この日から最近投稿されました。