虚拟机启动卡死you might want to save “/run/initramfs/rdsosreport.txt

大半夜耍了一下虚拟机,结果手欠,按错键了非正常关机,导致虚拟机起不来了

从报错信息 Corruption detected. Unmount and run xfs_repair 可以看出,XFS 文件系统的元数据(inode)出现了损坏,通常是因为异常断电、强制关机或磁盘 I/O 错误导致的。

因为本机已经损坏无法登录,无法输入命令lsblk, 换了台虚拟机,两个都一样的配置另一台没有配置docker等的新机器,输入命令确认分区如下

从 lsblk 输出可以看到:

  • /dev/mapper/centos_centos7-root 是根分区(/),使用 XFS 文件系统。
  • /dev/sda1 是 /boot 分区,也为 XFS。这两个分区都可能是之前报错的位置,其中根分区的概率更大。

🛠️ 修复步骤

  1. **进入单用户模式(推荐)**直接在运行的系统上无法修复根分区,需要重启并进入单用户模式:

    • 重启时在 GRUB 菜单选择内核,按 e 进入编辑模式。
    • 找到以 linux16 开头的行,在末尾添加 init=/bin/bash。
    • 按 Ctrl+X 启动,进入只读模式的单用户环境。
  2. 重新挂载根分区为可读写

    bash

    运行

    复制代码
    mount -o remount,rw /
  3. 卸载目标分区(如果是 /boot)

    bash

    运行

    复制代码
    umount /dev/sda1
  4. 执行 XFS 修复

    • 修复根分区: bash

      运行

      复制代码
      xfs_repair -L /dev/mapper/centos_centos7-root
    • 修复 /boot 分区:

      bash

      运行

      复制代码
      xfs_repair -L /dev/sda1

    ⚠️ 注意:-L 参数会清除日志,仅在常规修复失败时使用,可能丢失未提交的数据。

  5. 验证并重启

    bash

    运行

    复制代码
    xfs_repair -n /dev/mapper/centos_centos7-root
    exec /sbin/init

输入完,如下,不是:/#开头了 是bash-4.2#

这时候重启虚拟机,输入用户名密码登录

服务恢复正常

相关推荐
王振超wzc5 分钟前
嵌入式开发环境搭建--WM软件安装,Ubuntu操作系统安装
linux·运维·ubuntu
AutumnWind04201 小时前
【Docker Compose 快速入门】
运维·docker·容器
2501_937860941 小时前
中篇:TCP 为什么可靠又高效?滑动窗口、流量控制、拥塞控制与粘包全解析
服务器·网络·tcp/ip
QYRdata1 小时前
2026-2032年图形处理云服务器CAGR预计达18.7%
运维·服务器·服务发现
分布式存储与RustFS2 小时前
图床搬到自己的对象存储:PicGo 加 S3 插件的完整配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
GeW2 小时前
制造强国底座:Linux与数据库驱动的新型工业基础设施
linux
月落汀兰2 小时前
建池后类型不可修改!深度拆解 Ceph PG 放置组,副本 / 纠删码池选型,快照与命名空间避坑
运维·ceph
xiaoye-duck2 小时前
《Linux 网络编程》深入理解 IO 多路复用:select 函数详解与 Echo 服务实战
linux·网络
Tairitsu_H2 小时前
[Linux系统] 命令行参数 | 环境变量 | 程序地址空间
linux·环境变量·命令行参数·程序地址空间
雯宝2 小时前
devices_init / buses_init / classes_init / firmware_init / hypervisor_init 函数
linux