CentOS7.3系统启动故障修复

破解CentOS7的root口令方法一

启动时任意键暂停启动菜单,选择启动内核菜单项

按 e 键进入编辑模式

将光标移动 linux16 开始的行,添加内核参数rd.break

按 ctrl-x 启动

mount –o remount,rw /sysroot

chroot /sysroot

passwd root

touch /.autorelabel

exit

reboot

方法二

启动时任意键暂停启动

按 e 键进入编辑模式

将光标移动 linux16 开始的行,更改ro为rw,在行尾添加init=/sysroot/bin/sh

按 ctrl-x 启动

chroot /sysroot

passwd root

touch /.autorelabel

exit

reboot

CentOS7.3破坏系统启动文件

破坏mbr

dd if=/dev/zero of=/dev/sda bs=1 count=446

进入光盘救援模式修复

chroot /mnt/sysimage

grub2-install /dev/sda

exit

reboot

破坏grub2

mv /boot/grub2 /root

进入光盘救援模式修复

chroot /mnt/sysimage

grub2-install /dev/sda

grub2-mkconfig > /boot/grub2/grub.cfg

exit

reboot  系统会自动重启2次

删除/boot/grub2/grub.cfg文件

在没有光驱或光盘等的情况下,重启进入grub配置界面,支持help和tab键命令补全

ls 列出所有系统分区,显示为(hd0,msdos1)...

ls (hd0,msdos2)/  选择一个分区会显示分区下的文件,用以确定/boot分区

insmod xfs  如果tab键补全显示的分区类型为未知,则需要添加相应的驱动模块

set root=(hd0,msdos2)  设置根为上述确定的/boot分区

linux16 /vmlinuz-xxx root=/dev/sda3 ro   这里指定的是你的真实/分区的磁盘位置

initrd16 /initramfs-xxx.img

boot

启动成功后需要使用grub2-mkconfig命令重新生成配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg

删除/boot下的所有文件,恢复系统启动的方法

注意一定要提前备份/boot文件,这里只是恢复系统启动,并不会恢复之前的参数配置,所以强烈建议系统恢复后重新还原之前的/boot备份。

注意提前备份/boot目录下的文件

cp -a /boot /root

1.重启进入光盘的救援模式,执行

chroot /mnt/sysimage

2.挂载光盘,并复制vmlinuz和initrd.img文件到/boot下,并重命名

mount /dev/sr0 /mnt/cdrom
cd /mnt/cdrom/isolinux
cp vmlinuz initrd.img /boot
cd /boot
mv vmlinuz vmlinuz-`uname -r`
mv initrd.img initrd-`uname -r`.img

或者重新安装内核来自动生成vmlinuz和initramfs文件,安装完成后会自动生成/boot下的vmlinuz和initramfs文件

cd /mnt/cdrom/Packages
rpm -ivh --force kernel-xxx.rpm

3.重新生成grub2文件和grub.cfg配置文件

grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
exit
exit

重启即可正常进入系统

本文出自 “rackie” 博客,请务必保留此出处http://rackie386.blog.51cto.com/11279229/1947998

CentOS7.3系统启动故障修复的更多相关文章

  1. Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例

    Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模拟故障 [root@yinzhe ...

  2. CentOS 6或7 启动故障修复及root密码破解

    CentOS 6或7 启动故障修复及root密码破解 目录 CentOS 6或7 启动故障修复及root密码破解 CentOS 6启动流程修复: 实验一:删除initramfs-2.6.32-754. ...

  3. 模拟MBR Grub故障修复

    1.  MBR故障修复 备份 mkdir /pp mount /dev/sdb1 /pp dd if=/dev/sda of=/pp/mrb.bak bs=512 count=1   破坏mrb dd ...

  4. linux初学者-系统启动故障篇

    linux初学者-系统启动故障篇 在系统的操作中,有时会不小心误删或者操作失误使得系统启动不起来,下文将列举几种常见的系统启动失败的情况及解决的办法. 1.删除或者覆盖mbr的446个字节 mbr的4 ...

  5. Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例

    Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.删除"/sbin/ini ...

  6. Linux操作系统启动故障排错之/boot目录被删除恢复案例

    Linux操作系统启动故障排错之"/boot"目录被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模拟删除/boot分区 1>.查看/b ...

  7. MBR扇区故障修复!

    一:进行分区且格式化硬盘 [root@roomc~]#mkfs -t ext4 /dev/sdb1    //格式化sdb1盘 二:模拟破坏/sda主硬盘破坏再修复! [root@roomc~]#mk ...

  8. CentOS7 Windows双系统 修复引导

    伪前提:先装Windows再装CentOS7(伪前提是因为没试过先装CentOS再装Windows) Windows用U盘安装CentOS7后,开启启动项里面仅有CentOS7的启动项,要修复Wind ...

  9. web-project 故障修复功能 传递所有的event_id数据到后台

    <script language=javascript> function IdentifyRepair(event_id) { var url; url = "/View/fa ...

随机推荐

  1. objective C 内存管理及属性方法具体解释

    oc为每一个对象提供一个内部计数器.这个计数器跟踪对象的引用计数,当对象被创建或拷贝时.引用计数为1.每次保持对象时,调用retain接口.引用计数加1.假设不需要这个对象时调用release,引用计 ...

  2. 【BZOJ2733】[HNOI2012] 永无乡(启发式合并Splay)

    点此看题面 大致题意: 给你一张图,其中每个点有一个权值,有两种操作:在两点之间连一条边,询问一个点所在联通块第\(k\)小的权值. 平衡树 看到第\(k\)小,应该不难想到平衡树. 为了练习\(Sp ...

  3. Linux学习记录(二)

    1.远程连接工具的使用 实际开发中,Linux服务器都在其他的地方,我们要通过远程的方式去连接Linux并操作它,Linux远程的操作工具有很多,企业中常用的有Puttty.secureCRT.SSH ...

  4. AngularJS 对象

    AngularJS对象就像JavaScript对象 <!DOCTYPE html><html><head><meta http-equiv="Con ...

  5. js实现全选,反选,全不选

    思路:1.获取元素.2.用for循环历遍数组,把checkbox的checked设置为true即实现全选,把checkbox的checked设置为false即实现不选.3.通过if判断,如果check ...

  6. GPIO实现I2C协议模拟(2)

    接着上一节继续补充 结合上一节的描述 写Slave的过程如下(BYTE) 读Slave的过程如下(BYTE) 分为两段 第一段 ,写OFFSET,第二段读数据 WORD的方式与BYTE大同异 读行为 ...

  7. 1.在Cisco Packet Tracer里交换机的初始配置

    基本拓扑图: 点进交换机,会先进入交换机的用户模式,这个模式下交换机的名称后方会以‘>’显示 输入enable会进入交换机的特权模式,同样在交换机的名称后方以‘#’显示 在特权模式的环境下输入c ...

  8. AB test学习笔记

    AB Test 介绍: https://vwo.com/ab-testing/ AB Test 的意义: 数据分析告诉我们要不要去做一件事情,ab 实验反馈告诉我们我们做得好不好,哪里有问题,以及衡量 ...

  9. django_数据库操作—增、删、改、查

    增加 增加数据有两种方法 1> sava >>> from datetime import date >>> book = BookInfo( btitle= ...

  10. 通过uboot传参设置mtd分区流程源码分析

    因为公司同事反映他使用的开板无法将根目录下的ip_work目mounth成功,由于本人当时没有去现场查看问题,只是象征性的询问内核是否创建了/dev/mtdblock5设备节点,因为该开发板默认是挂载 ...