私の現在のESPパーティションは次の場所にあります/boot/efi
(実際にはそこにマウントされておらず、エントリも/etc/fstab
まったくありません。数年前にシステムをインストールしましたが、なぜこれを設定したのか覚えていませんが、これまではうまくいきます)。 inに変更するのと同じです/boot
。私は現在GRUB 2をブートローダーとして使用していますが、それがどのように機能するのかよくわかりません(もう一度言うが、数年前にインストールし、それ以降は触れませんでした)。アーチLinuxです。
これを達成するにはどうすればよいですか?
/boot
すべてをESPにコピーし、/etc/fstab
ESPをインストールする項目を追加しましたが、代わりにEFIがあると思われます。/boot
一部の構成ファイルに変更する必要があるパスがある場合があります。/boot/EFI
/boot/efi/EFI
現在のコンテンツ/boot
:
- 幼虫/
- initramfs-linux.img
- initramfs-linx-fallback.img
- intelucode.img
- vmlinuz-linux
ESP内容:
- EFI
- アーチ
- grubx64.efi
- fwupdx64.efi
- ファームウェア/
- デル/バイオス/回復/
- アーチ
コンテキスト:フルディスク暗号化(LUKS 2でLVMを使用し、現在の暗号化はまったくありません/
)に移動したいと思います/home
。これを行うには、GRUBをロードできるように、暗号化されていないパーティションにカーネルとinitramfsを配置する必要があります(正しい)私が間違っている場合)。最も簡単な方法は、単にESPに入れてESPの/boot
代わりにESPを作成することです/boot/efi
。
代替案の提案を歓迎します(長所と短所を教えてください)。
答え1
簡単に言うと:
/boot
すべてをESPにコピー- ESPをインストールしてください
/boot
/boot/grub/grub.conf
次から再生grub-mkconfig
- 実行
grub-install
(主にEFIブートアップデート) - 新しい起動で再起動
- 前の開始を消去する(
/boot
、、、EFI/arch
)efibootmgr
私がついにやったこと:
- ESPをどこにでもインストールしてください(使用したことがあります
/boot/efi
) - すべて(特にinitramfs、マイクロコード、カーネル、
grub/
フォルダ(最後のフォルダは必要ありません))を/boot
ESPにコピーします。 - ESPの取り外し後の再インストール
/boot
- 実行して
grub-mkconfig
新規作成/boot/grub/grub.conf
その時点で、私はすべてがうまくいっていることを確認したいので、次のようにしました。
- ESPを削除して再インストールします。
/boot/efi
/boot/grub/grub.conf
とを区別する/boot/efi/grub/grub.conf
- (希望的に)両方のオプションを開始できるように、チャンクをある場所から
menuentry
別の場所にコピーします。 - 再起動してESPから起動する新しいオプションを試してください。動作します(つまり、IIUC、ESPにコピーされたファイルはシステムを起動できます)。
その後、ギャップを飛び越えて切り替えました。
- ESPをインストールしてください
/boot
/etc/fstab
起動時にインストールするように編集されました(実際にはgenfstab
適切なfstab行を生成するために使用しました)。- 実行(競合がないように古い
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
名前が付けられている)arch
- 再起動(場合のために以前の「システム」から起動できるように、古いgrub.confのメニュー項目があることに注意してください)
最後に、いくつかのクリーンアップタスクを実行します。
- ESPを削除し、その中のすべてのコンテンツを削除します。古い
/boot
(とにかくここにESPがインストールされ、これらのファイルを隠します。) - grub.confに追加したメニュー項目を削除します。
- 次のコマンドを使用して、EFIから古いGRUBエントリを削除します。
efibootmgr
- ESPから古いGRUBエントリを削除する(
/boot/EFI/arch/
)