一、起因

很久不用了的virtualbox centos7。之前有过扩容操作,重置用户文件夹操作,后直接新建centos虚拟机使用该虚拟硬盘,lvm原因无法启动,报错提示Buffer I/O error on dev dm-2, logical block 17874925,async page read

二、信息

  • 初始报错信息
Generat ing "/run/ in itramf s/rdsosreport. txt"
[ 125.481135] Buffer I/0 error on dev dm-2, logical block 17874928, asymc page read 
[ 125.524847] Buffer I/0 error on dev dm-2, logical block 17874928, asymc page read 
Enter ing emergency mode. Exit the shell to cont inue .
Type " journalct1" to view system logs .
You might want to save " /run/ in itramf s/rdsosreport.txt" to a USB stick or / boot
af ter mounting them and attach it to a bug report .
  • journalctl
    根据提示输入journalctl并(shift+g)跳到最后(与less /run/ initramf s/rdsosreport. txt作用类似)在这里插入图片描述

可以看到错误是dm-2lvm逻辑卷出了问题,dm是lvm逻辑卷的命名方式,dm-2代表第二个。
类比/dev/sda为第一个硬盘,/dev/sda2 为第一个硬盘的第2分区,/dev/sdb1为第二个硬盘第一分区

  • lvm
    输入lvm进入lvm命令行
    在这里插入图片描述
    pvs(physical volumes)命令查看物理卷信息
    在这里插入图片描述

发现有个unknown的物理卷,应该就是影响问题的原因了,即找不到磁盘一第4分区,第一分区sda1不是lvm所以没有列出

lvs(logical volumes)命令查看逻辑卷(虚拟卷)
在这里插入图片描述
vgs(volue groups)查看卷分组
在这里插入图片描述
lvmdiskscan查看设备列表(显示所有卷)
在这里插入图片描述

/dev/centos下有swap和root两个逻辑卷,1个分区sda1,2个lvm管理的物理卷sda2,sda3

我的解决方式

dev下没有sdb4,妥妥的分区表出了问题,就不是lvm挂载问题了,因为在这个sh模式只拥有少量命令,无法使用fdisk等命令
centos7启动流程https://www.cnblogs.com/diantong/p/10745372.html,根据粗粒度不同有些可能不够详细
我划分的根据可操作性的颗粒度分为bios(可以修改主板和引导介质等参数)->grub启动失败进入命名行或者grub菜单(可以用insmod ls set kernel initrd boot root find等引导linux内核)->linux启动失败进入紧急模式(emergency mode,sh命令集和sbin目录下命令)

由于我用虚拟光盘进入救援模式使用fdisk查看过硬盘总共20G3个分区没有50G的lvm盘,确认应该是少了一个50G大小的虚拟硬盘,在系统全局查找*.vdi找到了该磁盘,并重新添加进虚拟系统
在这里插入图片描述
在这里插入图片描述
开机正常

在这里插入图片描述
成功忘记密码,单用户模式改之

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐