Ubuntu 16.04 と Debian 8.4 のデュアルブート

Ubuntu 16.04 と Debian 8.4 のデュアルブート

Debian と一緒に Ubuntu 16.04 をインストールした後、Ubuntu のブート オプションが表示されません。ブート メニューを修正するにはどうすればよいですか?

答え1

押し続けるとGrubメニューが表示されます

シフト

Grub の読み込み中に、起動するディストリビューションを選択します。

より詳しい情報ここ

答え2

質問から判断すると、「Ubuntu のブート オプションがない」というのは、Ubuntu のものではなく、Debian によって以前にインストールされた GRUB 2 ブート ローダーを指しているのではないかと思います。

関連して、私のテスト マシンには Debian 8.2 Xfce と Xubuntu 14.04 のデュアル ブート セットアップがあります。私のセットアップでは、インストールは以下に記載されています。

  • 最初にDebianをインストールし、その後にXubuntuをインストールします

  • ハードディスク自体にインストールされたブートローダー、つまり/dev/sdaDebianに属しているため、その後にインストールされたXubuntuは検出されません。

  • パーティションにインストールされているブートローダ (つまり、 Xubuntu に属するもの) は、のブートローダからチェーンロードするときに、/dev/sda3パーティション で Debian を検出します。/dev/sda2/dev/sda

これを踏まえると、「Ubuntu のブート オプションがない」という問題は、Debian の GRUB 2 ブート ローダーが、その後にインストールされた他のオペレーティング システムを検出しないために発生すると言えます。しかし、Debian で GRUB 2 構成を再構成して検出できるようにすることはできませんでした。

回避策

回避策としては、 に新しいエントリを手動で追加し/etc/grub.d/40_customupdate-grubDebian で実行します。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に関するこの回答、この日から最近投稿されました。

関連情報