在 btrfs 文件系统上安装后出现消息“不允许稀疏文件”

在 btrfs 文件系统上安装后出现消息“不允许稀疏文件”

我安装了 Ubuntu,但没有创建交换分区,而是使用/btrfs。现在每次启动时都会收到“不允许使用稀疏文件”的消息。此消息出现在启动画面之前。有没有办法消除这个警告?

答案1

好的,经过一番寻找之后,我找到了一种方法来暂时摆脱这个问题,这很简单,但是我的系统没有安装 btrfs,所以我无法确认这个修复方法。

注释掉或者删除此行:

if [ -n ${have_grubenv} ]; then save_env recordfail; fi

或者

if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env \
recordfail; fi; fi

在这个文件中

/etc/grub.d/00_header

然后运行

update-grub

不直接编辑的原因/boot/grub/grub.cfg是每次更新 grub 时它都会被覆盖,在这种情况下,只有在更新 grub 通用包时才需要“重新执行”修复。

如果你想添加自己,这是启动板上的错误错误 #736743

引用科林·沃森来自错误报告

这实际上是一个误导性错误消息:发生的事情是 GRUB 的 btrfs 实现没有实现用于将阻止列表返回给调用代码的文件读取挂钩接口。我向 grub-devel 发布了此消息,上游维护者指出,即使不考虑多设备问题,从 GRUB 写入 btrfs 从根本上来说也是有风险的,因为:

同一个块可能被多个快照使用每个使用给定块的树都将包含其校验和,依此类推

但是,btrfs 在启动时为引导加载程序保留了空间。这个空间比 GRUB 嵌入自身所需的空间要大,因此我们可以将其中的 1KB 用于环境块。

无论如何,这不是使用子卷引起的新问题,也不会妨碍启动(您会收到虚假的“按任意键继续”提示,但如果您忽略它,它仍然会启动)。降级到愿望清单。

希望这可以帮助

答案2

我正在运行 Raring Ringtail 的开发分支。
我遇到了同样的问题,关于稀疏文件不允许的消息。GRUB 根本不显示,直接启动到 Ubuntu。

我正在阅读一本 Linux 杂志(LXF),其中有几篇关于恢复和修复分区、文件、引导加载程序和其他内容的文章。

其中一位文章作者提到了一种可用的简单工具……启动修复
这个工具对我来说很管用,我认为它应该在 Ubuntu 的存储库中占据显著位置。

将 Boot-Repair 添加到您的系统:

  1. 打开终端窗口并复制/粘贴/输入以下内容:

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  2. 复制/粘贴/输入以下内容来安装并启动 Boot-Repair:

    sudo apt-get install -y boot-repair && boot-repair
    
  3. 现在可以看到 Boot-Repair 的主 GUI。

    Click on a button called 'Recommended repair'.
    

    让该工具发挥它的‘魔力’。

  4. 当魔法结束时,

    create a little note of the url visible. 
    
  5. 重新启动系统并检查您是否可以访问已恢复的操作系统。

  6. 若没有成功,请使用修复末尾显示的 URL 寻求帮助。

相关内容