虚拟机启动卡死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#

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

服务恢复正常

相关推荐
2301_777998349 分钟前
ARP协议进阶:ARP缓存、RARP与ARP欺骗原理解析
linux·服务器·网络·网络协议·缓存
运维行者_1 小时前
应用性能监控怎么选?从调用链到用户体验的五个能力维度
运维·服务器·数据库·人工智能·mysql·性能优化·应用性能监控
考虑考虑5 小时前
nginx路由重写
运维·后端·自动化运维
Zenova EdgeOS7 小时前
Linux 内核日志 dmesg 进阶实战:从现场过滤到持久化闭环
linux·运维·服务器
郝亚军8 小时前
ec_private.pem的生成方法
linux·运维·服务器
NendoZen8 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
Elastic 中国社区官方博客9 小时前
Elasticsearch:安装自行管理的 Elastic Stack 集群
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
忆挽篱笙歌9 小时前
进程控制管理
linux·运维·服务器
Escalating_xu9 小时前
【Linux 网络编程】connect 的断线重连:用状态机写一个能恢复连接的 TCP 客户端
linux·网络·tcp/ip
Zucker n11 小时前
英语“论文”语法检查工具
linux·windows