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密码破解的更多相关文章

  1. centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课

    centos  LAMP第四部分mysql操作  忘记root密码  skip-innodb 配置慢查询日志 mysql常用操作  mysql常用操作 mysql备份与恢复   第二十二节课 mysq ...

  2. CentOS 6.5在grub界面下更改root密码

    想要更改CentOS 7 root的密码或者忘记了root的密码的时候可以在grub界面下更改root的密码. 百度了很多内容,更多方法都是适用于centos6及以前版本的,终于找到一个可以的. 1. ...

  3. centos 7 下进入单用户模式修改root密码

    centos7进入单用户模式修改root用户密码 在工作中可能会遇到root密码忘记,那么这里就要进入单用户模式下了. 在重启电脑之后 时间:2015-05-13 10:42来源:blog.51cto ...

  4. [置顶] CentOS release 5.4 (Final)重置root密码(图文)

  5. CentOS单用户模式下修改ROOT密码和grub加密

    Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 Linux 系统启动到多用户模式,并提供正常的网络服务.如果系统管理员需要进行系统维护或系统出现启动异常时 ...

  6. centos单用户模式:修改ROOT密码和grub加密

    centos单用户模式:修改ROOT密码和grub加密 CentOSLinux网络应用配置管理应用服务器  Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 ...

  7. CentOS 单用户模式:修改Root密码和grub加密[转]

    原文出处: http://zhengdl126.iteye.com/blog/430268 Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 Linux 系 ...

  8. Centos 7 忘记密码的情况下,修改root密码

    应用场景 linux管理员忘记root密码,需要进行找回操作. 注意事项:本文基于centos7.4环境进行操作,由于centos的版本是有差异的,继续之前请确定好版本 操作步骤 一.重启系统,在开机 ...

  9. Centos忘记root密码重置

    entos6.5忘记root密码重置 一,启动服务器按e键 二,按e键选择第二项 三,在ro root前输入single回车保存 四,回到前面一个界面按b键启动 不用密码即可启动输入passwd修改r ...

随机推荐

  1. Linux驱动模块00

    一.驱动基础 1.什么是驱动 能够通过软件操作硬件的这份程序就是驱动 2.Linux驱动和ARM裸机驱动的区别 1)Linux设备驱动工作时依赖于Linux内核, ARM裸机驱动不依赖于Linux内核 ...

  2. Python中可迭代对象是什么?

    Python中可迭代对象(Iterable)并不是指某种具体的数据类型,它是指存储了元素的一个容器对象,且容器中的元素可以通过__iter__( )方法或__getitem__( )方法访问. __i ...

  3. 第15.7节 PyQt入门学习:PyQt5应用构建详细过程介绍

    一. 引言 在上节<第15.6节 PyQt5安装与配置>结束了PyQt5的安装和配置过程,本节将编写一个简单的PyQt5应用,介绍基本的PyQt5应用的文件组成及相关工具的使用. 本节的应 ...

  4. 水星路由器自动更换IP工具

    这个工具是本人抢火车票的时候,自己写的换IP工具,仅支持自己的水星,其他水星不知道,请自测!!!! 点击更换IP,他会断开链接,重新拨号!!(达到更换IP的目的) !!开发语言:易语言(源码在下方)使 ...

  5. 120多套各种类别微信小程序模板源码打包下载

    120多套各种类别微信小程序模板源码打包下载,以下是部分截图欢迎下载!120多套各种类别微信小程序模板源码打包下载 下载地址:https://pan.baidu.com/s/1Cfqyc9p2ZDOc ...

  6. .NET Core +Angular 项目 部署到CentOS

    前言: 最近公司需要开发项目能在Linux系统上运行,示例开发项目采用.Net Core + Angular开发:理论上完全支持跨平台. 但是实践才是检验真理的唯一标准:那么还是动手来验证实现下:过程 ...

  7. Docker(三):Docker安装MySQL

    查找MySQL镜像 镜像仓库 https://hub.docker.com/ 下拉镜像 docker pull mysql:5.7 查看镜像 docker images 创建MySQL容器 命令式启动 ...

  8. [日常摸鱼]loj6000「网络流 24 题」搭配飞行员

    题面 应该是二分图匹配,不过我写的是网络最大流. dinic求二分图最大匹配:加个源点和汇点,源点连向二分图的一边所有点,二分图的另一边所有点连向汇点,很明显这样得到的最大流就是这个二分图的最大匹配. ...

  9. 蚁剑AntSword插件:Bypass disable_Functions

    参考文章: https://www.uedbox.com/post/58634/ 参考视频: https://www.bilibili.com/video/BV1Et411G7D7?from=sear ...

  10. windows下python3和python2虚拟环境配置

    Python3 被越来越多的开发者所接受,同时让人尴尬的是很多遗留的老系统依旧运行在 Python2 的环境中,因此有时你不得不同时在两个版本中进行开发,调试. 如何在系统中同时共存 Python2 ...