银河麒麟怎么修复磁盘坏道文件系统错误

阿雪同学_5510

阿雪同学_5510

2026-10-29

711人浏览

原创

银河麒麟系统出现I/O错误、文件复制失败、“只读文件系统”提示、initramfs卡死或dmesg持续报I/O错误,表明硬盘存在物理坏道或ext4/xfs元数据损坏,需立即停止写入并备份。

银河麒麟怎么修复磁盘坏道文件系统错误

识别磁盘坏道与文件系统错误的典型症状

银河麒麟系统出现“Input/output error”、文件复制失败、保存文档时弹出“只读文件系统”、启动卡在initramfs界面,或dmesg中持续刷出“end_request: I/O error”,这些都不是偶然报错,而是硬盘存在物理坏道或ext4/xfs元数据损坏的明确信号。此时若强行写入,可能加速数据丢失。

用smartctl快速判断是否为物理坏道

该方法无需卸载磁盘,支持热检测,是排查的第一步。

执行sudo smartctl -a /dev/sda | grep -E "(Reallocated_Sector|Current_Pending|Raw_Read_Error)",重点看三项数值:Reallocated_Sector_Ct超过5、Current_Pending_Sector非零、Raw_Read_Error_Rate持续上升,【说明硬盘已出现不可逆物理损伤,必须立即停止写入并备份】。

若输出为空或提示“SMART support is unavailable”,说明该硬盘不支持S.M.A.R.T.,需跳过此步直接进入badblocks扫描。

使用badblocks定位并屏蔽坏扇区(ext4适用)

这是对已确认存在坏道的硬盘进行数据保全的关键操作,必须在分区未挂载状态下执行。

第一步:运行sudo umount /dev/sda2;若提示“target is busy”,则先执行sudo lsof +D /mount/point查占用进程并kill -9终止。

第二步:执行只读扫描并记录坏块位置:sudo badblocks -v -s /dev/sda2 > /tmp/badsectors.txt 2>&1。该过程耗时较长,-v显示进度,-s实时刷新,切勿中断。

第三步:将坏块列表写入ext4文件系统预留区:sudo e2fsck -l /tmp/badsectors.txt /dev/sda2。这一步会把坏扇区加入内核坏块表,后续分配数据块时自动避开。

虎课网
虎课网

一个覆盖设计、摄影、办公软件和职业技能等领域的在线自学与视频课程学习平台。

下载

第四步:验证屏蔽是否生效:sudo dumpe2fs -h /dev/sda2 | grep -i "bad",确认输出中Bad blocks count大于0。

修复因坏道引发的文件系统结构损坏

当badblocks已发现坏扇区,且系统又报“EXT4-fs error”或无法挂载时,说明关键元数据(如超级块、inode位图)恰好落在坏道上,需组合使用fsck与debugfs。

方法一:强制fsck修复(适用于轻度损坏)
确保分区已卸载后,运行sudo fsck -y -f /dev/sda2。-f参数强制检查,-y自动确认修复,但若报“Group descriptors corrupted”,说明主超级块损坏,需转方法二。

方法二:用debugfs加载备份超级块人工干预
先执行sudo dumpe2fs -h /dev/sda2 | grep -i "superblock backup"获取备份位置(如32768);再运行sudo debugfs -b 4096 -s 32768 /dev/sda2进入交互模式;输入stat /验证根目录inode是否可读;若异常,退出后执行sudo e2fsck -b 32768 -y /dev/sda2指定备份块强制修复。

使用系统修复助手图形化完成坏道隔离与文件系统修复

如果你无法记住命令或担心误操作,银河麒麟官方LiveCD中的“系统修复助手”已集成完整流程,全程中文向导,无需记忆参数。

制作好Kylin LiveCD启动U盘后,重启选择“系统修复助手”→“磁盘修复”→选择目标磁盘→勾选“扫描坏道并标记”和“修复文件系统错误”→点击“开始”。工具会自动执行badblocks扫描、e2fsck修复、xfs_repair(如为XFS)、以及坏块写入文件系统保留区的全部动作。

注意:该工具仅支持ext4和xfs两种文件系统,若为btrfs或其它类型,请勿选择此项。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

20

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

20

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

120

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

60

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

60

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

40

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

60

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

20

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习