Grub変数のデフォルト位置の変更

Grub変数のデフォルト位置の変更

BTRFSパーティションにManjaro Linuxをインストールし、「ブート」用の別のパーティションを作成しませんでした。私はデュアルブートしており、Grubが私の最後の選択を覚えていることを願っています。これを行うためにチュートリアルに従いましたが、起動時に「スパスファイルは許可されていません」というメッセージが表示され始めました。一部の検索の後、パーティションがBTRFSの場合、Grubは設定を保存できないようです。

このフォーラムページ(https://archived.forum.manjaro.org/t/solved-grub-btrfs-error-sparse-file-not-allowed/70031/4)最後の選択項目の保存を無効にする許可された答えがありますが、私はそれをしたいです。 「たとえば、Grub変数のデフォルトの場所を/boot/grub...から/boot/efi/EFI/Manjaro(Grub変更が必要)に変更します」という別の答えがありますが、彼は何も提供しません。追加情報の詳細。場所をにどのように変更できますか/boot/efi/EFI/Manjaro

答え1

このアプローチの結果はよくわかりませんが、ルートbtrfsパーティションを持つUbuntu 22.04で私に効果的でした。システムが機能しない可能性があるため、慎重に進むことをお勧めします。

  1. grubをESPパーティションにコピーします。
sudo cp -r /boot/grub /boot/efi/grub
  1. ESPパスを指すように更新/boot/efi/EFI/ubuntu/grub.cfg(このパスはManjaroとは異なる場合があります。含まれているフォルダを探します)。grub.cfg

既存の構成の使用:

search.fs_uuid 1cc8a1e1-9d10-46e9-8e65-3b27047374a4 root 
set prefix=($root)'/@/boot/grub'
configfile $prefix/grub.cfg

アップデートsearch.fs_uuidprefixsearch.fs_uuidはESPパーティションのIDでなければなりません。

search.fs_uuid 5494-0F80 root 
set prefix=($root)'/grub'
configfile $prefix/grub.cfg
  1. マウントを編集してに/etc/fstabバインドします。マウントする項目がすでに存在している必要があります。/boot/efi/grub/boot/grub/boot/efi
UUID=5494-0F80  /boot/efi   vfat  umask=0077     0  1
/boot/efi/grub  /boot/grub  none  defaults,bind  0  0
  1. (オプション)古い/boot/grubフォルダを削除するか名前を変更します。
sudo mv /boot/grub /boot/grub-old
sudo mkdir /boot/grub
  1. バインディングバインディングは/boot/grub以下に提供されています/boot/efi/grub
sudo mount /boot/grub
  1. グラップ構成を再生成します。このステップでは、Grub Customizerを使用し、以前に実行されたアイテムの使用を有効にしました。

  2. 再起動

関連情報