无法启动,任务 btrfs-transacti 阻塞超过 120 秒,如何解决?

AJM*_*eld 7 ubuntu btrfs uefi

我的计算机设置为通过 UEFI 启动 Ubuntu 15.04。我有两个磁盘。我的第一个磁盘/dev/sda是一个 128 GB 的 ssd,格式化为 GPT,包含一个 EFI 分区和一个 btrfs 分区,子卷@挂载为“/”。第二个磁盘是一个 1 TB 硬盘,格式化为 GPT,带有一个 btrfs 分区,子卷@home挂载为/home.

在欢迎程序启动后,我在没有登录的情况下按下了计算机上的硬重置按钮重新启动系统,因为我记得我想检查 grub 菜单中的某些内容。

下次开机我按住shift,但是GRUB启动菜单没有打开,电脑卡在紫屏上。

按压ctrl+ alt+F1切换到这一个空白的终端,然后ctrl+ alt+F7切换到另一个终端中显示:

starting version 219
Scanning for Btrfs filesystems
Run Code Online (Sandbox Code Playgroud)

然后等待大约 2 分钟后,它在此屏幕上添加了一条错误消息:

[  239.845714] INFO: task exe:169 blocked for more than 120 seconds.
[  239.845740]       Not tainted 3.19.9-16-generic #16-Ubuntu
[  239.845757] "echo 0 > /proc/sys/kernek/hung_task_timeout_secs" disables this message.
[  239.845983] INFO: task btrfs-transacti:191 blocked for more than 120 seconds.
[  239.846005]       Not tainted 3.19.9-16-generic #16-Ubuntu
[  239.846021] "echo 0 > /proc/sys/kernek/hung_task_timeout_secs" disables this message.
Run Code Online (Sandbox Code Playgroud)

这些相同的错误消息再次重复后开始时间戳[ 359.658207],[ 479.470702],[ 599.283197],和[ 719.095961]。

按压ctrl+ alt+F1切换到一个空白的终端,和ctrl+ alt+F7再次显示该相同的屏幕,但没有与任何其它F按键的情况发生。

我试图通过拔下我的两个驱动器来解决这个问题(一个 Windows 安装损坏,另一个是 ssd 故障),但问题仍然存在。

我试图启动到 Ubuntu 15.04 的实时 USB。它进入了 ubuntu 启动画面,但是加载需要很长时间(不知道它是否会完成)并且显示的文本屏幕esc保持空白。我以前可以在这台计算机上启动它,而我的笔记本电脑可以很好地启动它,所以我不相信它已损坏。

我尝试重置 BIOS 设置,但这并没有改变上述任何行为。

将所有驱动器与系统断开连接后,我可以成功启动到实时 USB,但在启动后重新连接时无法识别这些磁盘。

我该如何解决这个问题?

Exe*_*n-G 3

感谢/u/cypher_zero:

  1. 从 Ubuntu live-USB 启动。
  2. btrfs使用以下命令识别您的分区sudo blkid
  3. 然后,sudo btrfs check --repair /dev/sda1对每个btrfs分区执行(替换/dev/sda1为您的btrfs分区)
  4. 重启。