CentOS启动报错dracut Warning: Boot has failed的解决方法

马谦马谦马谦
马谦马谦马谦
马谦马谦马谦
611
文章
12
评论
2018年9月16日11:20:46 4

CentOS无法启动,启动分区无法找到,然后就报了个堆栈信息:

看样子是磁盘找不到了,想想前不久加了个磁盘装了其他的系统,会不会是影响了分区。

然后进去到另外的ubuntu系统,查看分区表:

CentOS启动报错dracut Warning: Boot has failed的解决方法

发现分区全部挂在了sdb,然而实际上最开始装系统的时候磁盘应该是sda:

CentOS启动报错dracut Warning: Boot has failed的解决方法

分析了一下分区信息,其中 sdb1-sdb7 应该就是我的CentOS分区了,50G的sdb4就是根分区,先把它挂载到当前系统。

发现所有的分区都是通过ID来标记的,因此基本定位到问题的原因为:添加新磁盘后,之前的磁盘变成了sdb分区,然而系统里面的磁盘ID还是指向开始的sda分区。就导致了分区找不到,系统无法启动。所以最后解决方法就是把所有的UUID都改成当前的分区号:

保存重启,然后就好了。

马谦马谦马谦
  • 本文由 发表于 2018年9月16日11:20:46
  • 转载请务必保留本文链接:https://www.dyxmq.cn/linux/centos/dracut-warning-boot-has-failed.html
CentOS终端prompt颜色设置 CentOS

CentOS终端prompt颜色设置

以为centos和ubuntu的prompt颜色设置是一样的,设置之后才发现不是一样的,百度了很久都没有找到任何有用的信息,在谷歌上随便一搜就找出来了官方的文档,不由得想吐槽百度啊。 centos的p...
CentOS 6.x 升级内核到4.4 CentOS

CentOS 6.x 升级内核到4.4

准备玩一下docker,但是发现对内核要求比较高,3.1以上,而CentOS 6.x默认内核版本是2.6。 习惯了6也不想换成7,所以最后只能把内核升级了,升级上来也只需要简单的两步操作。 1. 安装...
nginx隐藏版本号及修改软件名 CentOS

nginx隐藏版本号及修改软件名

一、概述 nginx作为当前最流行的开源web服务器之一,被无数公司或个人在使用。正因为开源,所以任何人都可以获取到它的源码,这其中就包含了世界各地的黑客。他们无时无刻不在想着如何找出nginx的漏洞...
CentOS源码编译安装PHP 5.6 CentOS

CentOS源码编译安装PHP 5.6

lnmp环境中,php算是最难安装的一个了,之前各种鼓捣搞了好多次,查阅了无数资料才终于有点经验了,记录下来。 一、安装依赖项 php的依赖项相当多,大部分都是运行环境需要的库环境。有的直接yum 就...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:4   其中:访客  4   博主  0
    • avatar wkh 0

      请问具体操作应该怎么做

        • 马谦马谦马谦 马谦马谦马谦

          @ wkh 进入修复模式(或者随便找个系统盘进入live模式),列出当前所有的磁盘分区。找到原系统中的根分区,挂载到当前系统随便一个分区,修改/etc/fstab中的磁盘和挂载点的对应关系。

        • avatar taolinke 0

          fstab内UUID的作用就是为了防止硬盘增删导致/dev/sda变为/dev/sdb
          没太理解你这为什么出问题?
          而且你改为sdb,如果系统启动时把这块硬盘再次识别为sda,又会发生起不来的现象

            • 马谦马谦马谦 马谦马谦马谦

              @ taolinke 我添加了一块硬盘,同时把这块硬盘的位置移到了另一个接口上。导致启动识别的时候这块盘识别成了sdb,原始安装时候是sda。