Linux 中怎么排查分区表损坏导致的数据丢失故障

风瑶大大_2169

风瑶大大_2169

2026-10-28

670人浏览

原创

分区表损坏表现为lsblk仅显示sda而无sda1等子分区、fdisk -l输出空白或报错、挂载提示unknown filesystem;需用parted -l和gdisk -l交叉验证类型,cat /proc/partitions确认内核未识别子项,并用testdisk扫描恢复而非手动重建。

linux 中怎么排查分区表损坏导致的数据丢失故障

分区表损坏不会直接报错说“分区表坏了”,而是表现为系统突然认不出分区:lsblk 里只显示 sda,但没有 sda1sda2;fdisk -l /dev/sda 输出空白、报 Unable to open /dev/sda 或只列个空表;mount 失败,提示 unknown filesystem 或 No such device。这时候不是文件系统出问题,是内核压根没读到有效分区条目——得先确认损坏层级,再选对工具。

看内核和工具是否“看见”分区

别只信 fdisk。它对 GPT 磁盘识别能力弱,容易漏判:

  • 运行 sudo parted -l:关注 “Partition Table” 字段。显示 msdos 是 MBR,gpt 是 GPT;若为 unknown 或分区数量为 0,大概率表头损坏
  • 运行 sudo gdisk -l /dev/sdX(替换 X):输出 Found invalid GPT and valid MBR 表示误用 GPT 工具解析 MBR 盘;输出 Found invalid GPT and invalid MBR 基本可判定分区表损毁
  • 查内核视角:cat /proc/partitions:设备名(如 sda)存在,但无 sda1/sda2 等子项,说明内核未解析出任何分区

区分分区表损坏和文件系统损坏

这是最关键的一步,搞反了会越修越糟:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 分区表损坏:设备存在(lsblk 显示 sda),但无任何子分区(sda1 不出现);fdisk -l 列不出分区;file -s /dev/sda1 会报 cannot open 或直接失败(因为路径不存在)
  • 文件系统损坏:lsblk 和 fdisk -l 都能正常列出 sda1;但挂载时报 wrong fs type、bad magic number;此时运行 file -s /dev/sda1 仍可能返回类似 Linux rev 1.0 ext4 filesystem data,说明文件系统结构尚存

用 testdisk 安全恢复分区表

手动用 fdisk 重建分区风险极高——起始扇区差 1 个,整个数据就可能错位。testdisk 是唯一能扫描原始扇区、按文件系统签名反推边界并恢复元数据的工具:

  • 安装后运行:sudo testdisk /dev/sdX
  • 选 Proceed → 根据磁盘历史选 Intel(MBR)或 EFI GPT(GPT)→ 进入 Analyse
  • 先跑 Quick Search:90% 的误删、断电丢失场景能立刻找回原分区
  • 若失败,再选 Deeper Search(耗时但更彻底)
  • 找到分区后,选 Write 写回分区表,再用 partprobe /dev/sdX 让内核重读

修复后验证与后续动作

分区恢复不等于数据完好。写入分区表后务必进一步检查:

  • 运行 lsblk 和 sudo fdisk -l /dev/sdX,确认 sda1 等节点已出现
  • 尝试只读挂载:sudo mount -o ro /dev/sdX1 /mnt,看能否列出目录、读取关键文件
  • 若挂载成功但文件异常(乱码、缺失),说明文件系统层也有损坏,此时再用 e2fsck -n /dev/sdX1(ext4)或 xfs_repair -n /dev/sdX1 扫描,确认后再决定是否修复
  • 若挂载失败或报 I/O 错误,需检查 SMART 状态(smartctl -a /dev/sdX),排除硬件故障

相关文章

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

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

下载

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

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

960

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3212

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1056

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

949

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

494

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2956

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5532

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

867

5

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习