温馨提示×

Ubuntu分区后如何检查错误

小樊
48
2026-01-08 16:05:00
栏目: 智能运维

Ubuntu 分区后检查错误的实用流程

一、快速自检清单

  • 确认设备与分区是否存在、类型是否正确:
    • 查看块设备与分区:lsblk
    • 查看分区表与类型:sudo fdisk -l
    • 查看文件系统与 UUID/LABELsudo blkid /dev/sdX1
  • 确认文件系统状态(以 ext4 为例):sudo dumpe2fs -h /dev/sdX1 | grep -E “Filesystem state|Errors behavior”
    • 若显示 clean with errorsErrors behavior: Continue,说明存在错误需修复。

二、文件系统一致性检查与修复

  • 卸载目标分区(重要):sudo umount /dev/sdX1
    • 若提示设备忙,定位并结束占用进程:sudo fuser -vm /dev/sdX1,必要时 sudo fuser -vk /dev/sdX1
  • 检查并自动修复(以 ext4 为例):sudo fsck -y /dev/sdX1
    • 强制完整检查:sudo fsck -f /dev/sdX1
    • 检测坏块:sudo fsck -c /dev/sdX1
  • 图形界面方式(适合桌面环境):打开“磁盘”应用 → 选中分区 → 卸载 → 齿轮图标 → “检查文件系统” → 需要时“修复文件系统”。

三、分区表与磁盘结构检查

  • 检查分区表健康与一致性:
    • GPT 磁盘:sudo gdisk /dev/sdX,输入 v 进行验证;如有冲突或“invalid GPT and valid MBR”等提示,按提示处理或备份数据后清理重建分区表。
  • 重要提醒:
    • 对整块磁盘(如 /dev/sdX)运行 fsck 会失败或误报,应针对具体分区(如 /dev/sdX1)执行检查与修复。
    • 若遇到 “Bad magic number in super-block”,说明检查对象错误,改为检查分区设备(例如 /dev/sdX1)。

四、LVM 场景的扩容后检查

  • 识别是否为 LVMlsblk -f,若看到 LVM2_membermapper 名称,则为 LVM。
  • 扩容后检查与同步容量:
    • 物理卷:sudo pvresize /dev/sda3
    • 逻辑卷:sudo lvextend -l +100%FREE /dev/mapper/ubuntu–vg-ubuntu–lv
    • 文件系统:
      • ext4sudo resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv
      • XFSsudo xfs_growfs /
  • 验证:df -h /

五、启动失败与硬件健康排查

  • 启动失败修复(重装 GRUB):
    • 挂载根分区(示例):sudo mount /dev/sdX2 /mnt
    • 绑定系统目录:sudo mount --bind /dev /mnt/dev; sudo mount --bind /proc /mnt/proc; sudo mount --bind /sys /mnt/sys
    • 进入 chroot:sudo chroot /mnt
    • 安装引导:grub-install /dev/sdX;更新配置:update-grub
    • 退出并重启。
  • 检查磁盘健康(SMART):
    • 安装工具:sudo apt install smartmontools
    • 健康检查:sudo smartctl -H /dev/sdX
    • 若显示 FAILED,请尽快备份并更换磁盘。

0