OS X 用の grub メニューを追加

OS X 用の grub メニューを追加

MacBook Pro に Ubuntu 16.04 デスクトップをインストールしましたが、OS X を起動できません。ディスクのパーティション テーブルは次のとおりです。

Device         Start       End   Sectors   Size Type
/dev/sda1         40    409639    409600   200M EFI System
/dev/sda2     409640 392401823 391992184 186.9G Apple HFS/HFS+
/dev/sda3  392402944 490233855  97830912  46.7G Linux filesystem

次のように /etc/grub.d/40_custom に menuentry を追加しました。

menuentry "OS X" {
        insmod hfsplus
        set root=(hd0,gpt2)
        multiboot /boot
}

update-grub を実行してから再起動します。

現在、「OS X」のエントリが表示されていますが、それを選択すると、次のように表示されます。

error: disk 'hd0,gpt2' not found.
Press any key to continue...

どうすれば修正できますか?

答え1

/etc/grub.d/40_custom ファイルに次のコードを追加すると、問題なく動作しました。

menuentry "OS X" {
    insmod hfsplus
    search --set=root --file /System/Library/CoreServices/boot.efi
    chainloader /System/Library/CoreServices/boot.efi
}

そして走る

sudo grub-mkconfig -o /boot/grub/grub.cfg

iMac 17,1 (Macbook retina 2015 後期)、Ubuntu 16.04 LTS、Mac OS El Captain でテスト済み

答え2

次のコマンドで /boot/efi パーティションがリストされていることを確認してください: cat /etc/fstab /boot/efi が存在しない場合は、Mac OS X を起動できません。存在する場合は、次のように grub にメニュー エントリを追加する必要があります:

  1. お好みのテキストエディタでrootとして/etc/grub.d/40_customファイルを開きます。ターミナルの例:gksudo gedit /etc/grub.d/40_customまたはsudo vi /etc/grub.d/40_custom
  2. 次に、ファイルの最後に次の行を追加します。

    menuentry "MacOSX" {
      # Search the root device for Mac OS X's loader.
      search --file --no-floppy --set=root /usr/standalone/i386/boot.efi
      # chainload the loader, pass parameters like -v directly
      chainloader (${root})/usr/standalone/i386/boot.efi #-v
    }
    
  3. 保存して終了

  4. 次のように grub 設定を更新します。sudo update-grub

手順ごとに回答したので、この回答を見つけた人は誰でも簡単に手順を再現できます。これは、EFI モードでインストールされた Ubuntu 16.04 でテストされました。Mac OS X: El Capitan、Mac mini。

答え3

この問題に対する一般的な解決策があります。最近、Sierra Mac OS Xを搭載したiMacにUbuntu 16.04LTS Gnomeをインストールしました。理由は、OSが遅くなり、もっと速いものが必要だったからです(そして、17年間Linuxを使ってきたので、解決策は明らかでした)。私は素晴らしいチュートリアルに従いました。iMac 上の Ubuntu

Ubuntu のインストール後に iMac を再起動するまではすべて順調でした。起動できるシステムは Linux のみで、さらに GRUB メニューが表示されませんでした... 起動できるといいのですが) Linux は問題なく動作しています。ワイヤレス ドライバーとグラフィック ドライバーがいくつか不足していました (代わりに Xorg を使用)。ただし、イーサネット ケーブルでモデムに接続した後、すべての更新を行い、ドライバーをインストールしました。Wifi ドライバーのインストールへのリンク: Ubuntu Mac Wi-Fi ドライバー

グラフィックドライバはシステム設定GUIから選択可能

それで、Linux と Mac OS X のデュアル ブートに戻ります。GRUB を試してみましたが、どの方法もうまくいきませんでした。「Option キー」を押しても機能しなくなりました (GRUB が iMac の MBR を上書きしました)。

週末までに作るのをあきらめそうになりましたが、再挑戦してみました。

sudo apt-add-repository ppa:rodsmith/refind
sudo apt-get update
sudo apt-get install refind

Linux と Mac OS X のデュアル ブートを完璧に動作させるために必要なものがすべて揃っていました。これで、ブート rEFInd ブート メニューが表示され、ブート パーティションを簡単に選択できます。

残っている唯一の問題は、GRUB スプラッシュ メニューです。グラフィック メニューが間違っているため、オプションがまったく表示されません。コンソール モードを試しましたが、機能せず、起動時にグラフィック モードに関するエラー メッセージが表示されます。解決したら、できるだけ早くここで報告します。

PS01:

次に、すべての Ubuntu インストールに役立ついくつかの調整を行いました。 Ubuntuを高速化する方法

特にプリロード私にとっては魔法のように効きました。通常起動時に遅い Gimp が、今では 0.5 秒で読み込まれます。

答え4

ただ走れ

os-prober

Linux のフォームと再実行

grub-mkconfig -o /boot/grub/grub.cfg

そして最後にGRUBを再インストールします

grub-install /dev/sda

関連情報