1. gdisk -l /dev/mmcblk0
作用
- 查看
/dev/mmcblk0
(通常是 SD 卡或 eMMC 存储设备)的分区表。 - 显示:
- 分区布局(如
mmcblk0p1
、mmcblk0p2
…)。 - 分区类型(GPT/MBR)。
- 起始/结束扇区、大小、文件系统类型(如
ext4
、FAT32
)。
关联场景
- 检查分区是否损坏(如分区表丢失)。
- 确认分区是否正确对齐(影响性能)。
- 修复分区表(如误删分区后恢复)。
2. cat /etc/fstab
作用
- 查看系统自动挂载的磁盘配置。
- 确认
/dev/mmcblk0
的分区是否在 fstab
中正确配置(如 /dev/mmcblk0p7
是否挂载到正确目录)。
关联场景
- 系统无法启动(如
fstab
配置错误导致挂载失败)。 - 检查
/dev/mmcblk0p7
是否被正确挂载(如 UUID
或设备名是否匹配)。
3. fsck /dev/mmcblk0p7
作用
- 检查和修复
/dev/mmcblk0p7
的文件系统错误(如 ext4
、FAT32
损坏)。 - 常见错误:
Superblock
损坏 → 需用 fsck -b
恢复备份超级块。- 文件系统不一致 →
fsck
自动修复或手动干预。
关联场景
- 系统提示
/dev/mmcblk0p7
需要 fsck
(如 UNEXPECTED INCONSISTENCY
)。 - 数据无法读写(文件系统损坏)。
fstab
中设置了 fsck
自动检查(pass=2
)但未生效。
三者的典型关联场景
案例:SD 卡(/dev/mmcblk0
)损坏导致系统无法启动
-
gdisk -l /dev/mmcblk0
→ 发现 /dev/mmcblk0p7
(根分区)存在,但文件系统类型异常(如显示 unknown
)。
-
cat /etc/fstab
→ 确认 /dev/mmcblk0p7
应该挂载到 /
,但当前挂载失败。
-
fsck /dev/mmcblk0p7
→ 修复文件系统错误,成功后重新挂载即可恢复。
完整排查流程示例
sudo gdisk -l /dev/mmcblk0
cat /etc/fstab | grep mmcblk0p7
sudo umount /dev/mmcblk0p7
sudo fsck -fy /dev/mmcblk0p7
sudo mount /dev/mmcblk0p7 /mnt
关键总结
命令 | 作用 | 关联问题 |
---|
gdisk -l /dev/mmcblk0 | 检查分区表完整性 | 分区丢失、类型错误 |
cat /etc/fstab | 确认自动挂载配置 | 挂载失败、UUID/设备名不匹配 |
fsck /dev/mmcblk0p7 | 修复文件系统错误 | 数据损坏、系统无法启动 |