Contents

Linux进入emergency模式,并且root被锁怎么解决

起因

因为我的破神舟战神z7m-kp7gt在CPU过热,风扇爆转,然后自动断电保护,导致我两次进入Deepin之后两次异常断电,我很好奇第一次竟然没有陷入如文章名的困境(好像是挽救过程中又重启了超多次,然后出现了如题的状况),可能是我后面重启两次后去windows下面看了一下,进入windows的时候,windows它自动检测了硬盘,然后进入了,电脑发出滴滴滴的警报声,由于之前有在windows上发出警报的经验,我立马切断了电源,然后就没有自动关机,CPU就稳定了下来,然后以为没事了,再去Deepin的时候,故事就开始了

问题依次集合以及解决

开机initramfs半天

其实一开始还提醒了温度过高 https://cdn.jsdelivr.net/gh/wolfdan666/BlogPic/linux/emergencyMode/%E6%B8%A9%E5%BA%A6%E8%BF%87%E9%AB%98.jpg

温度过高后尝试reboot无果,强制重启多次,还是initramfs https://cdn.jsdelivr.net/gh/wolfdan666/BlogPic/linux/emergencyMode/init.jpg

破initramfs

大家注意看上面图中写的提示我使用fsck命令修复磁盘!我在网上找别人的解决方案也找到了类似的说法,所以有了如下操作 注意:initramfs下reboot和fsck命令有时候有用有时候没用,所以没用时就再重启吧,当然有Live CD的话,去live CD盘或者其他盘的live下操作一下命令更佳! (前提是能进去,菜鸡我Live CD和其他盘的linux也没能进去,故我是直接在initramfs下操作的)

blkid+fsck

使用blkid查看磁盘,然后使用fsck对装了linux相对应的磁盘分区进行操作(每个linux分区都要操作,别问我怎么知道的,问就是看下文) blkid

fsck -y /dev/sdb2 上面的分区要自己看啊,一般是ext4类型,虽然说简单暴力对每个分区都操作一遍也是可以的

https://cdn.jsdelivr.net/gh/wolfdan666/BlogPic/linux/emergencyMode/fsck_20191005222645.jpg

root locked

https://cdn.jsdelivr.net/gh/wolfdan666/BlogPic/linux/emergencyMode/rootLocked.jpg

破锁啊

刚刚修复好了磁盘后其他盘的linux和Live CD应改都能进入了吧,只是Deepin被锁了(其实是菜鸡博主没有采用单用户登录模式去操作,显得太麻烦),其实也可以网上搜索如何在grub的时候进入单用户模式(如果你比较悲惨因为/home有问题而进入单用户困难,最好还是用Live CD和其他盘的linux方便点,别问怎么知道,问就是继续看下文),然后去操作下面的步骤 下面的操作都默认你已经进入了命令行了

修改shadow文件

其他地方的linux暂时挂载deepin上的/分区 当然单用户登录了deepin就不用挂载了 注意吧sdb2改成你的deepin /分区位置 mount /dev/sdb2 /media

cd /media/dev/sdb2/etc sudo vim shadow 当然你也可以像下图一样先备份shadow,不过那是我不知道删哪个地方才这样做的 https://cdn.jsdelivr.net/gh/wolfdan666/BlogPic/linux/emergencyMode/%E4%BF%AE%E6%94%B9shadow.png

然后删除root:*:13223:0:99999:7:::那个*就行了,不只有一个*号还有其他字符?反正就是*左右冒号之间的所有东西就行了

有root的emergency mode

以上操作还是进不去啊!!!我疯了,进入了有root的emergency mode https://cdn.jsdelivr.net/gh/wolfdan666/BlogPic/linux/emergencyMode/%E6%9C%89root%E7%9A%84emergency.jpg

继续fsck

找了半天原因,最后发现是自己当时fsck没有对/home分区操作,这就是为什么我让你们对每个分区都fsck一遍…枯了 同上面的fsck操作 注意吧sdb5改成你的deepin /home分区位置 fsck -y /dev/sdb5

reboot 重启复活!

注和后续

其实我还经历了很多其他问题,但是由于都是没有经验,出现在以上大问题中的小问题,所以就不细说了

对了,如果碰巧你们操作过程双显示器中外接显示器不亮了,不用担心,先windows进入设备驱动,然后删除可拔插的监视器,然后重新检测安装驱动,重启,就可以