centos7重启reboot后直接进入了dracut,找了许多方法也没解决,有偿求最新解答!

问题遇到的现象和发生背景 一台centos7虚拟机磁盘sdb有个sdb1分区,扩容了100GB后,按往常习惯fdisk /dev/sdb选择n,一路回车选择默认选项,然后partprobe,再去vgextend发现报错(按这样的方式扩容过几十台虚拟机了,就这台报错),折腾一番没有解决,reboot后发现如下图一的报错,直接进入了dracut。并且在dracut下只能read-only,网上找了很多方法都不能进入读写模式,见图二;并且通过bois方式进入系统,也无法到达读写模式,求最新解决方案!基本确认是系统分区出现了问题,同一个磁盘下出现了不同格式的文件系统?求解疑!
问题相关代码,请勿粘贴截图

图一(reboot后直接进入了dracut):

img


图二(dracut下只能read-only):
下图此方法有人恢复过我这样的报错,但是不适用我的问题

img


图三(bois模式进入系统,正常应该选1,然后往下就能进入读写的shell模式,但是我选1就输出一堆等于号):

img

img


无奈,只能选3进入read-only的shell模式了:
以下是bois的read-only模式下,lv以及分区的情况

img

img

我看到你容量都扩展上去了,49+150
但我看到图片报错,是对应的磁盘设备找不到哦

img

那查查这些磁盘设备和fstab挂载文件夹看看是否有问题


是啦,你扩容的流程是?有些地方未明确,
原来sdb1 有50G??也在VG和LV里面噶???你那100G扩容的做法是???

我以前也有这个问题,是用https://blog.csdn.net/weixin_40579389/article/details/121793434?%ra=link这个里面的方法解决的,更新一下dracut文件,希望对你有用

你可以使用急救模式,首先要有一个CD光盘或者一个Centos系统的U盘启动盘。
在 "boot: "提示下输入 "linux rescue",启动后以读写模式挂载所有文件系统。
将硬盘上的root改为真正的root('/'),并制作新的initramfs或initrd。

mount --bind /proc /mnt/sysimage/proc
mount --bind /dev /mnt/sysimage/dev
mount --bind /sys /mnt/sysimage/sys
chroot /mnt/sysimage

对于CentOS 7和多个个root路径的问题,执行以下操作:

mount --bind /run /mnt/sysimage/run
systemctl start multipathd.service

然后重启即可:

cd /
sync telinit 6

通过搜索引擎检索,解决办法结果大同小异。在报错信息下面进行如下操作:

dracut:/# cd dev

dracut:/# ls |grep sdb
这样子你就会看到所有的设备信息。找到sdbx,x为一个数字,是你u盘所在

dracut:/# reboot
重启之后,在install页面按e键修改

vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64.check quiet为 vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdbx(你u盘所在)quiet
然后按Ctrl+x保存就好了。但是在操作过程中,我发现的dev里面的sdb开头的只有sdb,sdb1和sdb2,于是我就把它仨都试了一遍,就过都说找不到img文件。
本来我以为我的电脑不能安装Linux的,后来我发现他们一般都说默认是sdb4,可我的dev里面没有sdb4,不过我的dev有个sdc4,于是我就使用sdc4
修改

vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64.check quiet

vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdc4 quiet
然后按Ctrl+x就出现了centOS的安装界面了。

结束
问题原因有可能是不同硬件厂商的支持不一样吧,因为在安装CentOS7界面选择系统安装路径的时候我才发现sdb1和sdb2不是移动设备,而是我电脑的两块硬盘。

在咨询大佬也有另外一个解决办法,换一个U盘重新写入安装镜像安装。

救援模式查看一下 /etc/fstab 建议使用设备UUID挂载

出现这个是系统引导程序所在的硬盘找不到了,建议不要扩容,直接设定好硬盘空间重新安装试一试

第一步:
在3那里,查看当前卷的映射,可以发现有dm-0 和dm-1,缺少要修复的系统下的分区卷。
然后使用vgs命令查看逻辑卷组分区名为 VolGroup00。
使用vgchang命令激活逻辑分区再次查看当前卷的映射信息可以发现要修复的系统分区已激活

ls -l /dev/mapper

第二步:

然后确认系统卷是否是xfs分区格式

lsblk -f

执行 xfs_repari 系统xfs文件修复命令

xfs_repari -v -L /dev/mapper/VolGroup00-LVroot

将系统root分区卷LVroot挂载到一个目录下

mount /dev/mapper/VolGroup00-LVroot  /mnt

进入到挂载目录下,查看挂载的root系统分区里面的fstab文件是否正确

cat /mnt/etc/fstab

img

如果在无法确认具体哪个卷坏了导致开机失败的话;

有必要的情况下,可以从第2步骤开始依次将每个卷都修复一下

修复完成后进行重启,并将远程卡上挂载的新镜像卸载

/etc/fstab配置文件的问题。我以前也遇到过类似情况,之前通过修改/etc/fstab文件挂载了一个光驱到本地,后来光驱拔掉以后忘了把/etc/fstab配置文件改回来,结果也会出现timeout救援模式,后来修改/etc/fstab把挂载光驱的配置删掉以后就好了。

https://blog.csdn.net/weixin_39758618/article/details/111839108?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-blog-2~default~OPENSEARCH~Rate-5.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-blog-2~default~OPENSEARCH~Rate-5.pc_feed_download_top3ask

把现在的虚机删掉,克隆一个,啥问题都解决了