OK setelah sedikit mencari-cari saya menemukan cara untuk menyingkirkan masalah ini setidaknya untuk sementara ini cukup sederhana namun saya tidak memiliki sistem saya set-up dengan btrfs jadi saya tidak dapat mengkonfirmasi perbaikan ini.
komentar atau hapus baris ini:
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
atau
if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env \
recordfail; fi; fi
dalam file ini
/etc/grub.d/00_header
lalu lari
update-grub
alasan untuk tidak mengedit /boot/grub/grub.cfg
secara langsung adalah bahwa itu akan lebih ditulis setiap kali grub diperbarui dalam hal ini Anda hanya perlu "melakukan kembali" perbaikan jika paket umum grub diperbarui.
Ini adalah bug di launchpad jika Anda ingin menambahkan sendiri bug # 736743
Mengutip Colin Watson dari laporan bug
Ini sebenarnya adalah pesan kesalahan yang menyesatkan: apa yang terjadi adalah bahwa implementasi btrf GRUB tidak mengimplementasikan antarmuka kait baca file untuk mengembalikan daftar blokir ke kode panggilan. Saya memposting ke grub-devel tentang hal ini dan pengelola hulu menunjukkan bahwa, terlepas dari masalah multi-perangkat, menulis ke btrfs dari GRUB pada dasarnya berisiko karena:
blok yang sama dapat digunakan oleh banyak snapshot setiap pohon yang menggunakan blok tertentu akan mengandung checksumnya, dan seterusnya secara rekursif
Namun, btrfs menyimpan ruang di awal untuk boot loader. Ruang ini lebih dari yang dibutuhkan GRUB untuk disematkan, sehingga kami dapat menggunakan 1KB untuk blok lingkungan.
Bagaimanapun, ini bukan masalah baru yang muncul karena menggunakan subvolume, juga tidak mencegah boot (Anda mendapatkan perintah "Tekan sembarang tombol untuk melanjutkan", tetapi jika Anda abaikan saja itu akan tetap boot). Turunkan peringkat ke daftar harapan.
Semoga ini membantu