web-dev-qa-db-ja.com

MacでUbuntuをEFIから起動できない

古いCAを取得しようとしています。 2006 macbook( 技術仕様はこちら) Ubuntu 14.04.2 LTSを起動します。私は今、この2日目にハードドライブを何度も消去し、約8回ディスクから再インストールしました。私はまだLinuxの世界ではかなり新しいです。

私は ここの指示 に従って、物事を進めていましたが、多くの苦労の末、grub-installhtfs-blessを実行することになりました。これにより、起動時にUbuntuを認識できるようにMacの起動プロセスが有効になります(したがって、GRUBから手動で起動する必要がなくなりました。

次のコマンドを実行します(rootとして)

grub-install --target x86_64-efi --boot-directory=/boot --efi-directory=/boot/efi --bootloader-id="$(lsb_release -ds)"

以下を返します。

Installing for x86_64-efi platform.
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try: 'modprobe efivars' as root.
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try: 'modprobe efivars' as root.
Installation finished.  No error reported.

そのため、致命的なエラー(2回)が報告されますが、エラーなしでインストールが完了します。わからない。

ルートからmodprobe efivarsを試してみることをお勧めしますが、もちろんそれを行います。何も返されません(これは想定されていません)が、再度実行するとまったく同じエラーが生成されます。

私は先に進み、走ります

hfs-bless "/boot/efi/EFI/$(lsb_release -ds)/System/Library/CoreServices/boot.efi"

コメントなしで完了します。それが完了するという事実は、grub-installが私のディストリビューションのフォルダーの下に適切なファイルシステムを作成したことを示唆しています。これは良い兆候です。

指示の次のステップでは、Ubuntuを直接起動するように再起動するように指示されます。これは起こりません。また、Macブートローダー画面の下にUbuntuが表示されるはずですが、表示されないことも示しています。

GRUBから手動で再起動した後、戻って指示を続行しようとすると、ここで壁にぶつかります。私はタイプする

efibootmgr

同じエラーが発生します

Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.

そのため、ルートとしてmodprobe efivarsを試してみます。もう一度実行すると、同じエラーが再度表示されます。

一部の検索では、問題はEFIではなくBIOSで起動していることが示唆されています。明らかに解決策は、代わりにEFIで起動することですが、その方法はわかりません。私のマシンにはBIOSパーティションがありません。 EFIBootパーティションのみがあります。私のマシンにはMac OSXシステムはもうありません。 Ubuntu 14.04.2 LTSのみがあります。

Ubuntuを起動できる場合もあれば、手動で起動する必要がある場合もあります。 Ubuntuのディスクイメージを取得してMacブートローダーに表示できず、EFI変数にアクセスできません。

EFIで起動できるようにするコマンドラインから手動で編集できるファイルがある場合、この問題の解決に役立ちます。

これに関する助けは大歓迎です。

1
user2635606

私は100%ポジティブではありませんが、64ビットCPUを搭載していても、古いMacにはおそらく32ビットEFIが搭載されています。 (最初のIntelベースのMacには32ビットEFIを備えた32ビットCPUがありました。Appleが64ビットCPUに更新されると、EFIはEFIが更新される前に1世代ほど遅れていましたネイティブEFIモードブートの場合、EFIモードでのインストールは、EFIのビット深度に一致するOS、つまり、32ビットEFI上の32ビットOS、または残念ながら、Ubuntuは32ビットバージョンでは32ビットEFIブート機能を提供しないため、Ubuntuでこれを行うには、32ビットEFIブートローダーを追加するためにいくつかの重要なフープをジャンプする必要がありますcanは実行できます(実行しました)が、正確な手順への参照はありません(このようなドキュメントを書き始めました一度ですが、すべての可能性をカバーすることは本当の挑戦であることがわかったので、私はそれを脇に置いて、決してそれに戻りませんでした)

EFIバージョンのGRUB=は、一致しないアーキテクチャのカーネル、つまり、32ビットEFIを搭載したシステム上の64ビットカーネル、またはその逆(もちろん、CPUが64ビットモデルである場合)。このアプローチを使用するには、BIOS/CSM /レガシーモードでインストールしてから、32ビットGRUBインストールが完了している、または64ビットインストーラーをハックして32ビットGRUBを含めるMacでこれを行う方法を説明しているサイトは知りませんが、 this one プロセスをカバーしています64ビットCPUと32ビットEFIを備えたASUSタブレットの場合(これを入力するとそのサイトはダウンします。一時的なものであることを望みます)。

特に、これが64ビットコンピューターの場合、UbuntuでのシングルブートにEFIモードを使用するのは難しい方法です。 [〜#〜] much [〜#〜]としてコンピューターを扱う方が簡単です従来のBIOSを使用するもの。 MBRパーティションを作成し、インストーラーをBIOSモードで起動します。必要に応じて、32ビットまたは64ビットのUbuntuをインストールできます。インストール手順に大きな違いはありません。 MacのファームウェアがMBRパーティションテーブルを検出すると、CSMがアクティブになり、起動可能なEFIブートローダーが見つからない場合、MBRのBIOSバージョンGRUB=を起動します。 BIOSベースのモデルを搭載したコンピューターのように、すべてスムーズに動作するはずです。主な落とし穴は、インストーラーのブートモード(BIOS対EFI)を制御し、MBRを使用することです(GPTを使用する場合、MacのファームウェアはBIOSモードを有効にしません起動)。

主な欠点は、ファームウェアの更新プロセスでEFIモードのブートが必要になるため、ファームウェアの更新が難しくなることです。しかし、そのような古いコンピューターでは、ファームウェアを更新する可能性はどのくらいでしょうか?また、後でOS Xでデュアルブートすることにした場合、MBRからGPTに変換し、何らかの方法でLinuxブートローダーを再インストールする必要があります。

1
Rod Smith