Surface Pro で rEFInd を使用した Ubuntu 12.10/Windows 8 用の EFI スタブ ローダー

Surface Pro で rEFInd を使用した Ubuntu 12.10/Windows 8 用の EFI スタブ ローダー

私はSurface ProでWindows 8とUbuntu 12.10のデュアルブートをしようとしており、再検索ブートマネージャー用。

Ubuntuのインストール中も含め、GRUBをインストールしたくありません。このデバイスでGRUBをインストールしようとした過去の経験から、Windowsブートローダーが破損し、USBから起動するためにこれらが必要なため、デバイスが実質的に壊れる可能性があるからです。Surface Pro と Ubuntu をデュアルブートできますか?、しかし GRUB からは完全に離れたいと思っています。

これまで、次のことを試しました。

  1. rEFInd が Windows 8 で問題なく動作することをインストールしてテストします。
  2. GRUBがインストールされないように、「ubiquity -b」からUbuntu 12.10をインストールします
  3. Windows 8が正常に起動できることを確認する

残念ながら、Ubuntu 用の .efi スタブは生成されないようなので、現時点で何をすべきかわかりません。GRUB や他のブートローダーをインストールせずにこれらを生成するにはどうすればよいですか? この段階では、実際のインストール中に何か他のことをしなければならない場合を除き、Ubuntu を直接起動することはできず、ライブインストールのみであることに留意してください。

繰り返しになりますが、私がやりたいことは、GRUB なしで Ubuntu をインストールし、Ubuntu 用の efi スタブを生成し、efi ファームウェアや Windows ブート ディレクトリには一切触れず、起動時に rEFInd を使用してこれらのスタブを見つけることです。

答え1

まず、「.efi スタブ」とは、EFI システム パーティション (ESP) 上の拡張子を持つファイルのことを意味していると思います.efi。これらは EFI プログラム ファイルです。最も一般的なのはブート ローダーですが、プログラムやユーティリティの場合もあります。

rEFInd経由でWindowsとUbuntuを起動したい場合それなしGRUB を使用する場合、ESP に必要な EFI プログラムは、Windows ブート ローダー (Windows によってインストールされます)、rEFInd ( refind_x64.efi)、および Ubuntu で使用したファイル システム用の EFI ファイル システム ドライバー ( が格納されているディレクトリのまたはサブディレクトリext4_x64.efiにある) だけです。ext4fs ドライバーにより、EFI (したがって rEFInd) がメインの Linux パーティション上の Linux カーネルを読み取ることができるようになります。バージョン 3.3.0 以降の Linux カーネルには、Linux カーネルを独自のブート ローダーに変える方法である EFI スタブ ローダーが含まれています。したがって、rEFInd と ESP 上の ext4fs ドライバーを使用すると、rEFInd は Linux パーティションから直接 Linux カーネルを起動できます。ただし、もう 1 つ必要なものがあります。Linuxのオプションを保持するファイルです。最小限の例は次のようになります。driversdrivers_x64refind_x64.efi/boot/refind_linux.conf

"Boot with normal options"   "ro root=/dev/sda8"
"Boot into single-user mode" "ro root=/dev/sda8 single"

この例では、 でインストールを起動します/dev/sda8。グラフィカルな起動画面を表示したり、その他の理由でオプションを追加することもできますが、上記のオプション (おそらくroot=値を変更したもの) はほとんどのシステムで機能します。

このアプローチのバリエーションとして、カーネルをESP(おそらくESPのEFI/ubuntuディレクトリ)にコピーし、ないLinux ファイルシステム ドライバーをインストールします。これは一部のシステムでは利点がありますが、パッケージ システムが更新されるたびにカーネルをコピーする必要があります。この方法を実行する場合は、refind_linux.confカーネルを保存する ESP 上のディレクトリに配置します。

関連情報