在 Precise 上安装 BTRFS 卷时出错

在 Precise 上安装 BTRFS 卷时出错

我使用完全更新的 12.04 (Precise)(内核3.2.0-58-generic x86_64)。在其他分区中,我安装了 Ubuntu 14.04 Trusty(Alpha 版本)进行试用。我无法再启动 Trusty 系统。我猜这与我修改的某些 grub 配置或启动根分区 (/) 时的一些错误有关。

我想访问 /home 中的某个文件,它是 luks 上的 BTRFS 分区。我可以在 luks 中打开该设备,但是当我尝试以精确的方式安装它时,我收到一些错误。这是它输出到的内容dmesg

btrfs: disk space caching is enabled
BTRFS: couldn't mount because of unsupported optional features (60).
btrfs: open_ctree failed

我尝试以只读方式安装,但同样没有成功。有人能告诉我如何从 Precise 访问它吗?当我稍后开始从旧的 Precise 更改为 Trusty 安装时,我会非常需要它。

答案1

BTRFS: couldn't mount because of unsupported optional features

这意味着此 btrfs 文件系统是使用旧的 Precise 内核发布时不具备的新的、不向后兼容的功能创建的。这些“功能”对用户不可见,它们是对文件系统磁盘结构的改进。

mkfs.btrfs这些功能是可选的:Trusty 可以根据传递给程序的参数创建可从 Precise 读取的 btrfs(不带这些功能) 。
似乎 Trusty 安装程序启用了这些功能,我认为这应该报告为 Trusty 的一个错误,因为它会阻止互操作性。

该特征的数字代码是60这意味着:扩展的 inode 引用和大元数据。据我所知,没有办法禁用扩展 inode 引用,因此您无法再使该文件系统可被旧内核读取。

要读取文件,

  • 从 Trusty Live DVD(或 Saucy?Saucy 支持扩展 inode 引用,但我不知道其他功能)打开分区
  • 理论上,另一种选择是使用来自 Enablement Stack 的 Saucy 内核更新 Precise 中的内核,但这相当于尝试 Saucy。

要重新安装 Trusty,以便 Precise 可以读取其分区,

  • 或者在 Precise 中重新格式化(将删除所有内容)。然后,当您在 Trusty 安装程序中时,选择该分区/但告诉它不要格式化。
  • 或者在安装程序中选择 ext4 文件系统而不是 btrfs。

相关内容