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

摘要:
实验五:删除/boot/下的所有文件,需要光盘修复开机按esc进入救援模式:去修复内核启动相关文件mkdir/mnt/cdrom#新建临时挂载文件mount/dev/sr0/mnt/cdrom#挂载光盘rpm-ivh/mnt/cdrom/Packages/kernel....--root=/mnt/sysimage--force修复grub文件chroot/mnt/sysimage#切换根grub-install/dev/sda#修复此文件syncsyncsync#同步到磁盘中exitreboot修复grub.conf文件#vim/boot/grub/grub,confdefault=0timeout=3kernel/vmlinuz-内核版本root=/dev/sda2initrd/initramfs-内核版本.img保存退出,修复完毕。
CentOS 6或7 启动故障修复及root密码破解
目录

CentOS 6启动流程修复:

实验一:删除initramfs-2.6.32-754.el6.x86_64.img进行恢复

该文件很重要initramfs-2.6.32-754.el6.x86_64.img,作为启动系统的重要文件,加载文件系统的驱动。

开机按esc进入救援模式

chroot /mnt/sysimage                               # 切换根

mkinitrd /boot/ininramfs-`uname -r`.img `uname -r` # 修复此文件

sync sync sync                                     # 同步到磁盘中
exit
reboot

实验二:破坏扇区的446字节,进行修复

准备

dd if=/dev/zero of=/dev/sda bs=1 count=446   # 破坏扇区的446字节
hexdump -C /dev/sda -n 512 -v                # 查询出前446字节已被破坏

开机按esc进入救援模式

chroot /mnt/sysimage     # 切换根

grub-install /dev/sda    # 修复sda磁盘设备

sync sync sync           # 同步到磁盘中
exit
reboot

实验三:破解CentOS 6密码

1.启动grub界面
2.输入e 添加1 进入单用户模式
3.输入passwd根据提示修改密码
4 reboot

CentOS 6添加单用户模式密码,无法破解:

[root@centos6 ~]# grub-crypt   #创建单用户模式密码
Password:                     #输入口令
Retype password:              #输入口令
$6$9M4MYaaShQLTXYAU$cIFuNc7SpKZw1NLCBG3/yoi6UHAWiMNxzBtDl3TGYzsmx3lRDjNRoRbNLEN8v8UsWldud2HHFRVqhbSFsqdly0

光盘破解CentOS 6密码:

进入救援模式
chroot /mnt/sysimage
vim /boot/gub/grub.conf   # 注释掉passwd行即可
reboot

实验四:删除grub.conf

  1. 开机错误提示直接跳入到grub界面去输入内容:
kernel /vmlinuz-2.6.32-2754.e16.x86_64  root=/dev/sda2
 
initrd /initramfs-2.6.32-275.e16.86_64.img
  1. 临时进入机器内,修改配置文件,保存:
# vim /boot/grub/grub.conf
default=0
timeout=3
kernel /vmlinuz-2.6.32-2754.e16.x86_64  root=/dev/sda2
initrd /initramfs-2.6.32-275.e16.86_64.img
  1. 保存退出,修复完毕。

实验五:删除/boot/下的所有文件,需要光盘修复

  1. 开机按esc进入救援模式:去修复内核启动相关文件
mkdir /mnt/cdrom            # 新建临时挂载文件
mount /dev/sr0  /mnt/cdrom  # 挂载光盘
rpm -ivh /mnt/cdrom/Packages/kernel....  --root=/mnt/sysimage(指定安装路径)  --force(强制安装)
  1. 修复grub文件
chroot /mnt/sysimage      # 切换根

grub-install /dev/sda     # 修复此文件

sync sync sync            # 同步到磁盘中
exit
reboot
  1. 修复grub.conf文件
# vim /boot/grub/grub,conf
default=0
timeout=3
kernel /vmlinuz-内核版本   root=/dev/sda2
initrd /initramfs-内核版本.img
  1. 保存退出,修复完毕。

实验六:删除/boot/下的所有文件,且没有/etc/fstab文件,需要光盘修复

  1. 开机按esc进入救援模式:去修复/etc/fstab文件

  2. mkdir /mnt/rootfs 新建临时挂载文件

  3. 将设备分别挂载,确定root根分区:

mount  /dev/sda1  /mnt/rootfs   # 确定/dev/sda1为boot分区
mount  /dev/sda2  /mnt/rootfs   # 确定/dev/sda2为/分区
mount  /dev/sda3  /mnt/rootfs   # 确定/dev/sda3为data分区
mount  /dev/sda5  /mnt/rootfs   # 确定/dev/sda5为swap分区
  1. 最后确定/dev/sda2为根分区进行挂载

  2. mount /dev/sda2 /mnt/rootfs 挂载/dev/sda2设备

  3. 添加文件内容:

# vim /mnt/rootfs/etc/fstab
/dev/sda1  /boot  ext4  defaults  0  0
/dev/sda2  /      ext4  defaults  0  0
/dev/sda3  /data  ext4  defaults  0  0
/dev/sda5  swap   swap  defaults  0  0
  1. 重启按esc进入救援模式:去修复内核启动相关文件
mkdir /mnt/cdrom            # 新建临时挂载文件
mount /dev/sr0  /mnt/cdrom  # 挂载光盘
rpm -ivh /mnt/cdrom/Packages/kernel....  --root=/mnt/sysimage(指定安装路径)  --force(强制安装)
  1. 修复grub文件
chroot /mnt/sysimage      # 切换根

grub-install /dev/sda     # 修复此文件

sync sync sync            # 同步到磁盘中
exit
reboot
  1. 修复grub.conf文件
# vim /boot/grub/grub,conf
default=0
timeout=3
kernel /vmlinuz-内核版本   root=/dev/sda2
initrd /initramfs-内核版本.img
  1. 保存退出,修复完毕。

CentOS 7故障修复流程:

实验一:删除/boot/grub2/下的文件进行修复:

  1. 进入救援模式:

  2. 然后切换根目录:

chroot /mnt/sysimage
  1. 生成grub2文件
grub2-install /dev/sda
  1. 将grub.cfg启动配置文件生成
grub2-mkconfig  -o /boot/grub2/grub.cfg
  1. sync sync sync sync 同步写入磁盘中

  2. reboot

实验二:删除/boot/下的所有文件,需要光盘修复

  1. 进入救援模式rescue

  2. 切换根目录:

chroot /mnt/sysimage
  1. 进行临时挂载
mount /dev/sr0 /mnt 
  1. 修复内核里边的相关启动文件
rpm -ivh /mnt/Packages/kernel-3.10.0-957.el7.x86_64.rpm --force
  1. 修复grub2文件内容
grub2-install /dev/sda
  1. 最后修复grub.cfg启动的相关配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
  1. sync sync sync sync 写入磁盘保存

  2. reboot重启。

实验三:破解CentOS 7密码

  1. 首先重启,在grub菜单界面,按↑↓键,选择第一项,同时按下e键进行编辑。

![说明: 在这里插入图片描述](CentOS 6或7 启动故障修复及root密码破解.assets/2108785-20200902194953303-1733919886.png)

  1. 在此界面找到ro替换为rw init=/sysroot/bin/sh,修改完成之后,按下Ctrl+x进入紧急模式

原理:启动一个shell环境,系统并没有真正启动。

![说明: 在这里插入图片描述](CentOS 6或7 启动故障修复及root密码破解.assets/2108785-20200902195000701-1520706883.png)

![说明: 在这里插入图片描述](CentOS 6或7 启动故障修复及root密码破解.assets/2108785-20200902195003665-1263756386.png)

![说明: 在这里插入图片描述](CentOS 6或7 启动故障修复及root密码破解.assets/2108785-20200902195006550-760033116.png)

  1. 切换根目录chroot /sysroot,修改密码。

Linux命令需要在根目录下执行。

chroot,即 change root directory (更改 root 目录),在使用 chroot 之后,系统的目录结构将以指定的位置作为/位置,系统读取到的目录和文件将不在是旧系统根下的而是新根下(即被指定的新的位置)的目录结构和文件。

![说明: 在这里插入图片描述](CentOS 6或7 启动故障修复及root密码破解.assets/2108785-20200902195009877-546585661.png)

修改密码后,如果开启了selinux服务,需要在根下创建文件/.autorelabel,最后退出跟系统,重启。

chroot /sysroot
passwd
touch /.autorelabel
exit
reboot

CentOS 7添加grub引导加载程序密码,无法破解:

[root@centos7 ~]# grub2-setpassword              # 创建密码命令
[root@centos7 ~]# cat /boot/grub2/user.cfg       # 保存密码的文件位置
GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.978E5C106D6A102F6912FF51C37CE674483C0AAE52B84EC4DBB6C08AF818CE83BCA8A9743F31A72AA0BD0AB644A66D34AA774EEDDF913DE22C71A6C4A2826860.2B0701EF272ADE6E518EAA613F966F3C1F5C1150B2F61A04FCC34D2588A1FAB2F75922AB8A5DC5C02AA1A84F5EEE919F8C3DE5526FBCB46EA85082EE98CD6919
[root@centos7 ~]# mv /boot/grub2/user.cfg /root  # 移走密码文件,密码即失效。

免责声明:文章转载自《CentOS 6或7 启动故障修复及root密码破解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用Mybatis执行sql脚本scrapydweb----高效地部署和监控分布式爬虫项目下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux(Centos)全自动异地备份数据(WEB+Mysql)

文章开始之前,先问下各位站长一个问题:什么东西对于站长是十分重要的?其实对于站长而言,很多东西都是很重要的。但我们现在排除外在因素,把范围缩小到网站系统本身,哪些是非常重要的呢?网站数据就是其中之一了。 网站数据包括程序文件本身、网站运行过程中不断产生的附件数据(图片、文档、视频等)以及数据库文件,三大块总括为网站数据。 以 自己为例,在这两年多的站长经历...

在三台Centos或Windows中部署三台Zookeeper集群配置

一、安装包 1、下载最新版(3.4.13):https://archive.apache.org/dist/zookeeper/ 下载https://archive.apache.org/dist/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz解压开即可。本文中解压到/opt目录下。 二、环境 1、三台...

linux系统redhat7.9安装R

1、查看系统信息 [root@localhost home]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.9 (Maipo) [root@localhost home]# lsb_release -a LSB Version: :core-4.1-amd64:c...

linux应用之nginx的源码安装及配置(centos)

1、准备工作选首先安装这几个软件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL。Nginx是C写的,需要用GCC编译;Nginx的Rewrite和HTTP模块会用到PCRE;Nginx中的Gzip用到zlib;用命令“# gcc”,查看gcc是否安装;如果出现“gcc: no input...

Linux下C连接MySql数据库

目录: 一、解决小的问题; 二、大问题,如果你不小心把/usr/lib的所属用户改了导致sudo命令用不了: 三、C连接MySql编程本身: 其实写这个程序真的很简单,十多分钟的事情,只是以前没在Linux下用纯C连过Mysql,想试一下,竟然搞了一整天,而且不是由于编码本身,是因为其他的一些周边问题,所以很有必要做一下笔记。 一、解决小的问题: 1、...

DEV控件之ChartControl用法

DEV控件之ChartControl用法一、总体概述 这个控件包含3层,最外面的chartControl层、中间的XYDiagram层、最里面的Series层。功能非常强大,但同时使用起来也相对复杂,需要各个层之间相互协调设置才能达到自己想要的效果。 二、chartControl层 像DEV的其它控件一样,这一层之相当于是一个壳子,我们平时在这里面设置的属...