[已解决]grub2 message: 'sparse file not allowed'

反映一个 BUG,最近使用 BRTFS 文件系统后,开机启动后 grub2 总是出现 sparse file not allowed,并且其它启动项无法启动,只能启动最后一次的系统,

现在我只能在 WIN 下,因为最后一次重新启动,我选择重新启动到 WIN。虽然出现多次, 我只能通过加载 yast 启动项才能修复它,不过今天我给忘记了,

选择从 WIN 启动,我 google 了一遍,Ubuntu 上也反应这个 BUG

:sweat: ,opensuse 上也有这个 BUG

lists.opensuse.org/opensuse-bugs/2013-11/msg01447.html

换 grub 呗~前几天刚折腾完,新加了个系统然后一直”elf smaller xxx" 啥的,折腾的实在烦了,换了 grub,世界清静了~

从 LiveCD 启动,挂载 / 所在的硬盘分区。

修改 /etc/grub.d/00_header:

cat << EOF
if  -s $prefix/grubenv ]; then
  load_env
fi
EOF

注释掉

#cat << EOF
#if  -s $prefix/grubenv ]; then
#  load_env
#fi
#EOF

接着是常规的更新 grub 的过程。你那 bug report 里自带修复方法的。

都是 BTRFS 的错呀

有几万篇教学说 /boot 要用 ext4 的。

好吧,我今天也遇到了。两块硬盘,一块 windows 系统,一块 opensuse(优先启动)。重启时,选择了选项重启到 windows,结果进不去系统。

本想 windows 下改文件的,结果没有支持 btrfs 的系统。后来用 kali 的 livecd,chroot 后删去 grub.cfg,运行 grub2-install 和 grub2-mkconfig 才解决这个问题。

唉,当初就该试 btrfs 的。。。

我只是奇怪这个 bug 这么长时间竟然没人修复 :sweat: