web-dev-qa-db-ja.com

デュアルブートUEFI Windows 7およびUbuntu 12.04(両方とも64ビット)。 W7エントリがGRUBに表示されません

2日間に両方のOSをインストールしようとした後、混乱して怒っています... SSD 128 GBとHDD 500 GBの両方が空です。私のラップトップはAsus K55VMです。 BIOSはUEFIをサポートします。

私がやった事:

  1. 新しいSSD(Samsung 830 128GB)をインストールします

  2. LiveCDでGPartedを使用して、パーティションの新しいテーブル(GPT)を作成し、さまざまな目的で(SSDに)3つのパーティションを作成します。

    • パーティション1:80 GB(w7);
    • パーティション2:30 GB(Ubuntu 12.04 -Just /-);
    • パーティション3:未使用の10 GB(他のパーティションの将来の拡張用)
  3. パーティション1にWindows 7(UEFIを使用)をインストールします。これにより、

    • / dev/sda1->システム用に100 MB(UEFIブートと思われます)-FAT32
    • / dev/sda2-> 100 MB前後。 MSR用
    • / dev/sda3-> 79.800 MB前後。 Windows7データ用

この時点で、すべてが正常に機能します。 W7があります。次に、次のようにUbuntu 12.04 AMD64(UEFIを使用)をインストールします。

  1. /パーティション2に/>/dev/sda4 30 GB ext4をインストールし、hddに/ homeとswapをインストールします。

  2. / dev/sda1でブートローダーを選択します(UEFIブートになるはずです)。

  3. アップデートをインストールして再起動します。

問題: Windows 7ではなくUbuntuエントリを含むgrubメニューが表示されるようになりました。

代替ソリューションが見つかりました:GRUBをロードする前にラップトップの電源を入れると、ESCキーを押してBIOSブートが表示されるので、Windowsパーティション、Ubuntuパーティション、DVD、 USBなど...しかし、私は異なるOSを起動する最良の方法ではないと思います。

私は試しました:成功しないSudo update-grub2。

私に何ができる??

8
Joe

Efiパーティションをマウントして、Windowsブートローダーが存在する場所を見つけます。

Sudo mount -t vfat /dev/sdx1 /mnt/efi/

そして、bootmgfw.efiを検索します。次に、ドライブのUUIDを見つけます。

Sudo grub-probe --target=fs_uuid /mnt/efi/EFI/Microsoft/Boot/bootmgfw.efi

このUUIDを/etc/grub.d/40_customに追加します。

menuentry "Windows x86_64 UEFI-GPT" {
    search --fs-uuid --no-floppy --set=root UUID
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

最後にupdate-grubを実行します。

6
jarondl

jarondlのソリューションは完全に優れていますが、別の方法は、別のブートマネージャープログラムを使用して、GRUBとWindowsブートローダーを選択することです。インストールできる3つのEFIブートマネージャーを知っています。

  • rEFIt 、Ubuntuのリポジトリで利用可能です。 rEFItのサイトのバージョンは、Mac固有のファイル形式を使用しているため、UEFIベースのPCでは動作しません。 Ubuntuのバージョンでさえ、UEFIベースのPCにいくつかの小さな不具合があります。理想的には、rEFItはかなりのGUIブートメニューを提供します(ただし、テキストモードもあります)。
  • rEFInd 。これは、3.3.0カーネルの組み込みEFIブートローダーで動作するさまざまなUEFIグリッチと拡張機能の修正を含むrEFItの更新バージョンです。 rEFIndを分岐/保守していることに注意してください。
  • テキストのみのブートマネージャであるgummiboot。 (このサイトは私が誰であるかを忘れてしまい、結果として2つ以上のハイパーリンクを投稿することを拒否します。そうしないと、1つ提供することになります。)

REFItとrEFIndはどちらも他のブートローダーを自動検出するため、一度設定すると、OSのブートローダーを検出してメニューを表示します。私はまだgummibootを試したことがないので、セットアップがどれほど簡単かはわかりませんが、概念的にはrEFIt/rEFIndに似ています。これらのプログラムのいずれかを使用すると、ブートプロセスが複雑になります。したがって、GRUBが機能し、満足であれば、これらのプログラムを使用する意味はほとんどありません。私の経験では、GRUBが気まぐれであるか、UEFIシステム上のGRUB 2の場合によくあるように、単純に機能しない場合に最も役立ちます。そのような状況では、GRUB 2を捨ててELILOまたは3.3.0以降のカーネルのEFIスタブローダーを使用できます。これらのブートローダーはブートプロセスをWindowsにリダイレクトできないため、別のブートマネージャーが非常に便利です。 3.3.0以降のカーネルを使用するディストリビューションでは、構成の詳細に応じて、rEFIndの保守が非常に簡単になります。

3
Rod Smith

支払い注意:x64のみ

grub-probe --target=fs_uuid /boot/efi/efi/Microsoft/Boot/bootmgfw.efi

これを/etc/grub.d/40_customに追加します:

menuentry "Boot bootx64.efi, generated by Boot-Repair" {
search --fs-uuid --no-floppy --set=root UUID

**chainloader (${root})/EFI/Boot/bootx64.efi**
}

他のコードは機能しません。

ASUS N56Vでテスト済み

0
Cristiano Zanca