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で私に効果的でした。システムが機能しない可能性があるため、慎重に進むことをお勧めします。
- grubをESPパーティションにコピーします。
sudo cp -r /boot/grub /boot/efi/grub
- 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_uuid
とprefix
。search.fs_uuid
はESPパーティションのIDでなければなりません。
search.fs_uuid 5494-0F80 root
set prefix=($root)'/grub'
configfile $prefix/grub.cfg
- マウントを編集してに
/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
- (オプション)古い
/boot/grub
フォルダを削除するか名前を変更します。
sudo mv /boot/grub /boot/grub-old
sudo mkdir /boot/grub
- バインディングバインディングは
/boot/grub
以下に提供されています/boot/efi/grub
。
sudo mount /boot/grub
グラップ構成を再生成します。このステップでは、Grub Customizerを使用し、以前に実行されたアイテムの使用を有効にしました。
再起動