私はそれを起動可能にするためにUSBスティックにgrubをインストールしようとしています。 1つのUSB(rescatuxとtails)で複数のディストリビューションを実行するために、USBマルチブートを作成するためにブート可能にしたいです。私はこれをやった:
Sudo mkdir -p /media/MULTIBOOT/boot
その後:
Sudo grub-install --target=x86_64-efi --boot-directory=/media/MULTIBOOT/boot /dev/sdc1
そして、私はこのエラーを受け取ります:
X86_64-efiプラットフォーム用のインストール。 grub-install:エラー:EFIディレクトリが見つかりません。
Ubuntu 14.04 LTSがあり、それは64ビットです。
これを試すのはこれが初めてで、ここで少し迷っています。/dev/sdc1
または/dev/sdc
を使用する必要がありますか?
私は(同様の結果で)この他の選択肢を試しました:
Sudo grub-install --target=x86_64-efi --boot-directory=/media/victoria/MULTIBOOT/boot /dev/sdc
問題はどこにありますか?
ご協力いただきありがとうございます!
GRUBの設定とインストールのいくつかの側面が私のスキルレベルを超えており、あなたがしたいことについてのあいまいさのために(質問に対するsudodusで指定されているように)あなたの質問)。そうは言っても、役立つと思われるいくつかの観察と提案を行うことができます。
EFI/ubuntu/grubx64.efi
になりますその場所を指すNVRAMエントリ。EFI/BOOT/bootx64.efi
と呼ばれるブートローダーから起動します。通常、このファイル名はfallback filename、と呼ばれ、NVRAMエントリが有効なブートローダーをポイントしていない場合、EFIは最後の手段としてそのファイル名を探すことになっています、またはユーザーが組み込みのブートマネージャーメニューからブートメディアを選択した場合。したがって、この場所にインストールするには、grub-install
コマンドを調整するか(これをサポートしていることを100%も確信していません)、手動でファイルをコピーする必要があります。shimx64.efi
)と呼ばれるプログラムをインストールし、 grubx64.efi
ではなく。同様に、外部メディアを起動するには、元のshimx64.efi
にEFI/BOOT/bootx64.efi
という名前を付ける必要があります。どちらの場合でも、ShimはShimと同じディレクトリでgrubx64.efi
を起動します。grub.cfg
ディレクトリで/boot/grub
ファイルを探します。これはESPではないでしょう。ただし、セキュアブートをアクティブにして起動すると、grubx64.efi
はgrub.cfg
と同じディレクトリでgrubx64.efi
を探します。ただし、そのgrub.cfg
は/boot/grub/grub.cfg
を探してロードするため、効果は同じですが、パスはより複雑です。どちらの場合でも、ESPと/boot/grub
を保持するパーティションの両方に依存しています。一部のディストリビューションでは、設定が異なります。たとえば、Fedoraは、最終的なgrub.cfg
および関連するすべてのファイルをESPに配置します。/boot/grub/grub.cfg
ファイルは、新しいカーネルまたはGRUBバイナリをインストールするたびに実行される構成スクリプトによって構築(または再構築)されます。これはシングルブートシステムでは正常に機能しますが、別のLinuxディストリビューションでマルチブートしている場合は、面倒なことになります。特に、Distribution AのGRUBがブートプロセスを制御し、Distribution Bのカーネルを更新した場合、update-grub
を実行するまで、GRUBは新しいDistribution Bカーネルを表示しません。 (または同様の)ディストリビューションAで.これらの要素の間で、GRUBで必要なことを行うには、標準のファイル名ではなく、代替のファイル名にインストールする必要があります。シムを写真に詰め込む必要があるかもしれません。また、2つのディストリビューションのセットアップのためにgrub.cfg
を微調整する必要があるかもしれません。それはやるべきことがたくさんあります。これらすべてをGRUBで行う必要がある場合、私のアプローチは、両方のディストリビューションをUSBドライブに内蔵ハードディスクのようにインストールし、GRUB(またはShim)をフォールバックファイル名に移動/名前変更することです。 。これには、grub.cfg
ファイルを使用する必要がないという利点があります。大きな注意点の1つは、UbuntuのUbiquityインストーラーではなくUNetbootinやRufusなど、通常とは異なる方法でインストールするものを使用する場合、完全に異なるアプローチを必要とする方法で式が変更される可能性があることです。ハードディスクでUbuntuを使用してGRUBをUSBドライブにインストールし、USBドライブからの起動に使用しようとしているようです。このアプローチは、あなたがGRUBエキスパートよりもはるかに熟練している場合に機能するかもしれませんが、十分なあいまいな変数があり、あなたのアプローチは複雑な鉱山の分野である可能性があります。
別の方法は、my rEFInd boot manager。 を使用することです。フォールバックファイル名にインストールする必要がありますが、rEFIndはブート時にカーネルをスキャンするため、新しいカーネルをインストールすることで混乱する可能性は低くなります。あるディストリビューションで、他のディストリビューションを使用してGRUBまたはrEFIndをインストールした場合。 OTOH、セキュアブートを使用する場合は、余分なフープ( rEFIndのセキュアブートページ に記載)を使用して、おそらくUSBのブートに使用するすべてのコンピューターで機能するようにジャンプする必要があります。ドライブ。また、ディストリビューション固有のカーネルオプションを処理するために、ディストリビューション用のboth/boot/refind_linux.conf
ファイルを作成する必要があるかもしれません。 (詳細については、 rEFInd Linuxのドキュメント 、特にそのページの下半分を参照してください。)