web-dev-qa-db-ja.com

MacBook ProにUbuntuをインストールした後、Windowsブートローダーを修復する

このガイドに従って、Mac OS X Yosemiteを搭載したMacBookPro11,5(Retina)にUbuntu 14.04.2 LTSをインストールしました: https://help.ubuntu.com/community/MacBookPro11-1/Saucy

問題は、Boot Camp経由でWindows 8.1 Proが既にインストールされているため、Mac OSのディスクユーティリティをSSDの再パーティション化に使用できないことです。 TerminalでresizeStackを使用してOS Xパーティションを縮小しました( ガイドはこちら )。これで、SSDは次のように分割されます。

  • /dev/sda1:EFIパーティション
  • /dev/sda2:OS X Yosemite
  • /dev/sda3:OS X Recovery HD
  • /dev/sda4:Boot Camp Windows 8
  • /dev/sda5/にマウントされたUbuntuディスク
  • /dev/sda6:Ubuntu Swap

Ubuntuブートローダーは/dev/sda1にインストールするように選択されていますが、インストーラーはsda1にもWindowsブートローダーが存在することを通知しました。インストール後、UbuntuおよびMac OSはGRUB2から正常に起動しましたが、WindowsはGRUB2またはネイティブAppleブートマネージャー(起動時にoptionを押す)から起動できません。 Parallels Desktopを使用してBoot Campパーティションを仮想マシンとしてロードすると、Windowsは動作します。

解決策#1

UbuntuにBoot Repairをインストールし、Recommended Repairを使用しましたが、運はありません。修復後、Grub2メニューにさらにエントリが追加されます。 GRUBは機能し、Mac OSを起動できました。作成されたブート情報ページは次のとおりです。 http://paste.ubuntu.com/11897269/

解決策2

Windowsインストールフラッシュドライブを接続し、自動スタートアップ修復を試しましたが、動作しませんでした。その後、コマンドプロンプトでマスターブートレコードを修復しようとしました:bootrec /fixmbr

修復後、Mac OSが起動する最初のシステムに設定されたため、コンピューターの起動中にGrubメニューが表示されませんでした。 Ubuntuインストールフラッシュドライブでefibootmgrを使用して、Ubuntuを最初のブートドライブに、Mac OSを2番目のドライブに戻しました。 Windowsはまだ起動できません。

奇妙なことは、今回はAppleブートマネージャが「Windows」ディスクアイコンがクリックされた後にWindowsの起動を試みなかったことです。 「Macintosh HD」アイコンと「Windows」アイコンの両方がMac OSの起動につながります。そのため、修復によってAppleブートマネージャーが変更されている必要があります。

いくつかの質問

  1. /dev/sda1のWindowsブートローダーがGrubによって上書きされているようです。それでは、WindowsブートローダーとLinuxブートローダー(現在はGrubですか?)を共存させる方法はありますか?

  2. 注意すべきことは、MacBook ProでBoot Camp Windows 8がEFIモードで起動することですsetupact.logCallback_BootEnvironmentDetect: Detected boot environment: EFIを示します。 。 ガイド GrubがEFIモードで動作することも確認しました。したがって、WindowsはMBRではなく、Mac OSと同様のGUIDパーティションテーブル(GPT)も使用しますか?その場合、MBRの修復は役に立たないかもしれません。

  3. Appleブートスイッチはどこにあり、Windowsインストールドライブでどのように変更できるのかわかりません。 /dev/sda1にもありますか?

私はこのテーマの初心者です。ご回答ありがとうございます!


更新:

Windowsインストールコマンドプロンプトで次のコマンドを試しました。

  • bootrec /fixmbr:成功
  • bootrec /fixboot:成功
  • bootrec /scanosD:\Windowsで1つのWindowsインストールを識別
  • bootrec /rebuildbcdD:\Windowsで1つのWindowsインストールを識別しました;要求されたシステムデバイスが見つかりません。
  • bcdedit:要求されたシステムデバイスが見つかりません。

エラーコード0xc000000eでWindowsを起動できません。

アップデート#2

Rod Smithの答えに従い、EFIパーティションをMBR: MBR onlyからMBR: protectiveおよびGPT: presentに変換しましたが、[Windows]オプションがAppleブートマネージャーから消え、Grubができません起動します。

また、rebuildbcdに対するTerranceの回答に従いましたが、成功しませんでした。回答に対するコメントをご覧ください。

5
Yingbo Wang

問題は、WindowsインストールがEFIモードであるが、ディスクが hybrid MBR、 で構成されていることです。これにより、Windowsは強制的にディスクをMBRディスクとして扱います。 Macブートローダーは、これをWindowsのBIOSモードブートを試みる信号として受け取っているかもしれませんが、ディスク上にBIOSモードブートローダーがありません。 WindowsはGPTディスクからのみEFIモードで起動するため、この構成では起動に失敗します。他の問題もあるかもしれませんが、これは私が見る最初の問題であり、間違いなく起動に失敗するので、修正する必要がありますこの問題。

幸いなことに、このソリューションは直感的ではありませんが、かなり簡単です。

  1. Ubuntuを起動します。 (OS Xからこれを行うこともできますが、gdiskをインストールし、別のディスクデバイスファイル名を使用する必要があります。)
  2. ターミナルウィンドウを開きます。
  3. Sudo gdisk /dev/sdaと入力します。パスワードの入力を求められたら、gdiskを起動して、とりわけMBR: hybridを起動します。
  4. pと入力して、パーティションテーブルを表示します。パーティションについて十分に知っていると仮定すると、正しいディスクを見ていることを確認できるはずです。そうでない場合は、qと入力して終了し、別のディスクデバイスを試します。
  5. xと入力して、エキスパートのメニューに入ります。
  6. nと入力して、既存のハイブリッドMBRを置き換える新しい保護MBRを作成します。
  7. もう一度pと入力して、パーティションがすべて適切に配置されていることを確認します。これは、誤って間違ったキーを押さないようにするための予防措置です。
  8. wと入力して、パーティションテーブルを保存します。このアクションを確認するように求められます。そうする。

運が良ければ、これで問題が解決するはずです。

3
Rod Smith

Bootrecが「要求されたシステムデバイスが見つかりません」というエラーを表示する場合、次の手順は新しいBCDの構築に役立ちます。

  1. 次のコマンドを入力します。

    bcdedit /export D:\BCDBackup
    
  2. タイプ

    d:
    

    d:は、Windowsがインストールされている場所です

  3. タイプ

    cd boot
    
  4. 次のコマンドを入力します。

    attrib bcd -s -h -r
    
  5. 次のコマンドを入力します。

    ren d:\boot\bcd bcd.old
    
  6. 次のコマンドを入力します。

    bootrec /RebuildBcd
    

お役に立てれば。

クレジット

1
Terrance