私はSurface ProでWindows 8とUbuntu 12.10のデュアルブートをしようとしており、再検索ブートマネージャー用。
Ubuntuのインストール中も含め、GRUBをインストールしたくありません。このデバイスでGRUBをインストールしようとした過去の経験から、Windowsブートローダーが破損し、USBから起動するためにこれらが必要なため、デバイスが実質的に壊れる可能性があるからです。Surface Pro と Ubuntu をデュアルブートできますか?、しかし GRUB からは完全に離れたいと思っています。
これまで、次のことを試しました。
- rEFInd が Windows 8 で問題なく動作することをインストールしてテストします。
- GRUBがインストールされないように、「ubiquity -b」からUbuntu 12.10をインストールします
- 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のオプションを保持するファイルです。最小限の例は次のようになります。drivers
drivers_x64
refind_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 上のディレクトリに配置します。