# linux启动挂在不上sysroot问题

**提示信息**

在一次服务器断电后，重新启动服务器，服务器vmware vsphere 上的几台虚拟机同时出现错误：

```bash
Failed to mount sysroot
...
```

同时启动时间大幅度延长，且出现错误信息:

```bash
a job running mount...
```

最后进入紧急模式：

```bash
#:/ 
#:/
```

**找出问题**

百度后发现这个问题出现在CentOS7文件系统xfs错误，可以使用`xfs_repair`工具修复文件系统。

**故障处理**

可以在系统的紧急模式下使用命令：

```bash
xfs_repair -L /dev/dm-1
```

> /dev/dm-1 是虚拟机的系统盘，请视情况而定

但执行过程中速度十分缓慢。

使用另一中方式，将错误虚拟机的系统盘共享到其他正常的虚拟机上（就是在其他虚拟机上添加一块硬盘，硬盘路径指向错误虚拟机的硬盘路径）。重启虚拟机。

在正常的虚拟机上执行：

```bash
#1. vgscan          

#2. vgchanage -ay /dev/<centos>

# 1, 2 两步在系统不能识别LVM格式的分区时使用

# 修复
xfs_repair -L /dev/mapper/centos-root (/dev/dm-1)

# 尝试挂在
mount /dev/mapper/centos-root /mnt

# 检测
xfs_check /dev/mapper/centos-root
```

> xfs\_repair -L 会删除日志和用户数据，请谨慎

之后就可以关闭虚拟机，卸载添加的硬盘，回到错误虚拟机上并启动了。

华为的处理步骤：

![](https://1991726442-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MBRljtk4jZ0r_J_NkTP%2Fsync%2Ff69e73395917677381897e5482e8405f6c831877.png?generation=1593915747932171\&alt=media)
