Btrfs 文件系统工具随着内核版本的进步在逐步成熟,不过难免在使用过程有会有一些意外发生,遇到无法挂载的情况怎么办?

若是在其他文件系统异常的情况下,第一反应当然是 fsck 系列工具咯~不过若是在终端运行它的话,会得到这样的结果:

什么都没有发生……

告诉你若是想修复文件系统,请使用 btrfs check 子命令

慢!在撞墙或果断调用 btrfs check 之前,请注意 btrfs 文件系统不像其他文件系统,大多数情况下是不需要 fsck 的,这个不干活的 fsck 其实是为了兼容在 fstab 中错误的非0 fs_passno 设置而生的。

再慢!btrfs check 是个猛药,草率使用可能会适得其反。那么接下来应该怎么办?

使用最新内核挂载

Btrfs 在磁盘上的文件系统格式已经稳定下来了,但是各种内核态和用户态的工具还在发展。不少错误或问题可以通过使用包含修复的新内核解决。

假设您已经通过无论何种方式引导了包含最新内核的 Live 环境,那么此时可以首先尝试以 recovery,ro 选项挂载 btrfs 文件。

之后观察下 dmesg 或 journalctl -k 的输出,有没有 btrfs 相关的 kernel oops。

没有什么异常的话,可以先检查下最后访问的文件什么的,看是否存在。由于 Btrfs 的 COW 机制,大部分情况应该是都在的。

若有且仅有 kernel oops 的情况下,使用 btrfs-zero-log 去尝试修复下。

重新挂载,检查异常

若是上一步通过只读挂载正常且又没有 kernel oops,那么就可以尝试正常的读写挂载了。

运气好的话,没什么问题,可能意味着之前遇到的挂载异常问题已经在新的内核中修复了。 但尽管如此,依然推荐执行 btrfs scrub start 命令,开始检查全部文件及其校验和。

btrfs scrub 是一个在后台运行的命令,耗时比较长,在下一个普通的 Seagate 500G SATA3 7200rpm 的硬盘完成这个工作需要约 26 分钟。期间可以随时使用 btrfs scrub status 查看进度。

请注意对于非 RAID 环境来讲,btrfs scrub仅能检查出文件错误但无法修复问题(木有未损坏的文件拷贝啊……),对于 RAID 1 等级别,这个过程也可以自动使用来自冗余盘的信息进行修复,除非加上 -r参数。

挽救重要数据

只有下列两种情况需要执行 btrfs rescue 命令,因为它扫描磁盘文件簇的方式真的非常费时,不过相对应的,它不要求分区挂载:

最开始连只读挂载都失败的情形

只读挂载成功,但是读写挂载使用 btrfs scrub 时提示大量错误,而且又是单盘环境

重建文件系统

当你挽救了重要数据之后,最后又回到 btrfs check 这里了,它会尝试修复文件系统。注意为了避免误操作,仅在加上 --repair 选项时才真正执行修复。

个人觉得,若是重要数据不多的话,离线恢复不难的话,还不如重新格式化得了……

总结及提醒

Btrfs 文件系统本身健壮性还是不错的,不过由于工具集还在发展,偶尔出些小状况,通过上述的修复手段也都能应对。

此外,提醒下若是突然遇到挂载异常又排出了硬件问题,可以到 IRC 频道或者 Wiki 的页面看看是不是最近工具集导致的,有时可以节省不少绕弯的精力。

文中所述命令的详情可以通过 man -k btrfs 查阅

参考资料:

Btrfs 的详细介绍:请点这里

Btrfs 的下载地址:请点这里

linux btrfs 格式化,Btrfs 文件系统修复技巧相关推荐

  1. Linux启动故障排查和修复技巧

    一个执着于技术的公众号 我发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,我在这里写了几个应对单用户模式.GRUB命令操作.Linux救援模式的故障修复案例帮助大家了解此类问题的解 ...

  2. Linux磁盘故障和文件系统修复(救援模式Centos7、Centos8)

    文章目录 问题一:文件系统分区变成只读文件系统,无法写入新文件.新数据. 问题二:在Linux运行过程中,有时会因为误操作导致磁盘故障,系统无法启动. Linux救援模式 问题一:文件系统分区变成只读 ...

  3. 新一代 Linux 文件系统 btrfs 简介-btrfs 的特性和使用

    Btrfs 简介 文件系统似乎是内核中比较稳定的部分,多年来,人们一直使用 ext2/3,ext 文件系统以其卓越的稳定性成为了事实上的 Linux 标准文件系统.近年来 ext2/3 暴露出了一些扩 ...

  4. Linux基础之-BTRFS文件系统

    BTRFS: BTRFS(通常念成Butter FS),被称为下一代的LINUX文件系统,由Oracle于2007年宣布并进行中的COW(copy-on-write式)文件系统.目标是取代Linux目 ...

  5. linux错误关机修复工具,Linux_Linux文件系统损坏后的修复技巧详细介绍, Linux不正常关机,有时候再 - phpStudy...

    Linux文件系统损坏后的修复技巧详细介绍 Linux不正常关机,有时候再次启动时会报文件系统损坏,如何修复文件? 首先会让你输入root用户的密码. 1)出错的时候如果告诉你是哪一块硬盘的分区有问题 ...

  6. Linux下的文件系统修复

    Linux下的文件系统修复 一.进行磁盘分区 二.格式成xfs文件系统 1.查看分区 2.格式化分区 三.挂载分区 1.查看分区的uuid 2.将挂载信息写入/etc/fstab 3.挂载分区 四.破 ...

  7. Linux系统故障排查和修复技巧

    (一)单用户模式 Linux系统提供了单用户模式(类似Windows安全模式),可以在最小环境中进行系统维护.在单用户模式(运行级别1)中,Linux引导进入根shell,网络被禁用,只有少数进程运行 ...

  8. linux反复出现文件系统损坏,Linux日常维护之文件系统损坏后的修复

    Linux文件系统损坏后的修复技巧详细介绍 在日常运维中,经常会遇到文件系统损坏的问题,如下图: Linux不正常关机,有时候再次启动时会报文件系统损坏,如何修复文件? 首先会让你输入root用户的密 ...

  9. Linux磁盘格式化(mkfs、mkfs.xfs、mkfs.ext4)、Linux文件系统的校验(xfs_repair、fsck_ext4)

    一.mkfs命令 磁盘分区完毕后自然就是要进行文件系统的格式化 格式化其实就是创建文件系统.命令就是===>mkfs(make fileststem),这个命令只是个综合命令.它会调用正确的文件 ...

  10. 一些 Linux 系统故障修复和修复技巧

    我发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,我在这里写了几个应用单用户模式.GRUB命令操作.Linux救援模式的故障修复案例帮助大家了解此类问题的解决. 一.单用户模式 L ...

最新文章

  1. 在Win 2003中配置ASP.net环境
  2. 这个假发太逼真!GAN 帮你换发型,alignment 步骤去掉生硬感
  3. 六十一、分析Springboot中的项目结构介绍
  4. 深度解密之HDU3826(Square free number)
  5. 手起刀落-一起来写经典的贪吃蛇游戏
  6. gdal数据类型_科学网-gdal数据类型的代码的核心定义文件-林清莹的博文
  7. paip.提升效率---request自动绑定domain object
  8. CAD中如何使用Lisp程序编写坐标标注功能
  9. 6.5 使用快捷键快速调整图表线条的宽度 [原创Excel教程]
  10. matlab_使用dsolve函数求解微分方程(逻辑斯蒂模型)示例
  11. 77 关于 java.util.concurrent.RejectedExecutionException:Thread limit exceeded replacing blocked worker
  12. 先掌握这 19 个 css 技巧,解决一些疑难杂症
  13. 用计算机测试生日,超准生日爱情配对测试
  14. 零失误绕制无线充电线圈
  15. 干货:一文读懂数据仓库设计方案
  16. HashMap扩容改进分析
  17. POJ 1061 青蛙的约会(扩展欧几里德)
  18. 程序员35岁真的会被辞退吗?
  19. 详细图解mongodb下载、安装、配置与使用
  20. 金山办公上市,600亿!WPS求伯君:永远去做你余生中最重要的那件事

热门文章

  1. 二进制、十进制、八进制、十六进制 各代表的英文字母是什么
  2. html动画 箭头线条,html – 悬停时动画的箭头线
  3. webpack打包告警We noticed you‘re using the `useBuiltIns` option without declaring a core-js version.
  4. Facebook上市或造千亿美元航母
  5. Asp.net 简单的站内搜索引擎
  6. Python爬虫 获取雪球网股票讨论内容( 获取json文件的内容)
  7. 『概率知识』伯努利试验及n重伯努利试验+方差协方差理解!
  8. linux deepin 命令行,深度Deepin操作系统中常用命令、系统命令、通用命令
  9. 三角函数之和差化积/积化和差/倍角公式(汇总)
  10. 打开阿里云网页为空白的解决办法