CentOS 6或7 启动故障修复及root密码破解
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
- 开机错误提示直接跳入到grub界面去输入内容:
kernel /vmlinuz-2.6.32-2754.e16.x86_64 root=/dev/sda2
initrd /initramfs-2.6.32-275.e16.86_64.img
- 临时进入机器内,修改配置文件,保存:
# 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
- 保存退出,修复完毕。
实验五:删除/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 # 修复此文件
sync sync sync # 同步到磁盘中
exit
reboot
- 修复grub.conf文件
# vim /boot/grub/grub,conf
default=0
timeout=3
kernel /vmlinuz-内核版本 root=/dev/sda2
initrd /initramfs-内核版本.img
- 保存退出,修复完毕。
实验六:删除/boot/下的所有文件,且没有/etc/fstab文件,需要光盘修复
开机按esc进入救援模式:去修复
/etc/fstab文件mkdir /mnt/rootfs新建临时挂载文件将设备分别挂载,确定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分区
最后确定/dev/sda2为根分区进行挂载
mount /dev/sda2 /mnt/rootfs挂载/dev/sda2设备添加文件内容:
# 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
- 重启按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 # 修复此文件
sync sync sync # 同步到磁盘中
exit
reboot
- 修复grub.conf文件
# vim /boot/grub/grub,conf
default=0
timeout=3
kernel /vmlinuz-内核版本 root=/dev/sda2
initrd /initramfs-内核版本.img
- 保存退出,修复完毕。
CentOS 7故障修复流程:
实验一:删除/boot/grub2/下的文件进行修复:
进入救援模式:
然后切换根目录:
chroot /mnt/sysimage
- 生成grub2文件
grub2-install /dev/sda
- 将grub.cfg启动配置文件生成
grub2-mkconfig -o /boot/grub2/grub.cfg
sync sync sync sync 同步写入磁盘中
reboot
实验二:删除/boot/下的所有文件,需要光盘修复
进入救援模式rescue
切换根目录:
chroot /mnt/sysimage
- 进行临时挂载
mount /dev/sr0 /mnt
- 修复内核里边的相关启动文件
rpm -ivh /mnt/Packages/kernel-3.10.0-957.el7.x86_64.rpm --force
- 修复grub2文件内容
grub2-install /dev/sda
- 最后修复grub.cfg启动的相关配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
sync sync sync sync 写入磁盘保存
reboot重启。
实验三:破解CentOS 7密码
- 首先重启,在grub菜单界面,按
↑↓键,选择第一项,同时按下e键进行编辑。

- 在此界面找到
ro替换为rw init=/sysroot/bin/sh,修改完成之后,按下Ctrl+x进入紧急模式
原理:启动一个shell环境,系统并没有真正启动。



- 切换根目录
chroot /sysroot,修改密码。
Linux命令需要在根目录下执行。
chroot,即 change root directory (更改 root 目录),在使用 chroot 之后,系统的目录结构将以指定的位置作为/位置,系统读取到的目录和文件将不在是旧系统根下的而是新根下(即被指定的新的位置)的目录结构和文件。

修改密码后,如果开启了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密码破解的更多相关文章
- centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课
centos LAMP第四部分mysql操作 忘记root密码 skip-innodb 配置慢查询日志 mysql常用操作 mysql常用操作 mysql备份与恢复 第二十二节课 mysq ...
- CentOS 6.5在grub界面下更改root密码
想要更改CentOS 7 root的密码或者忘记了root的密码的时候可以在grub界面下更改root的密码. 百度了很多内容,更多方法都是适用于centos6及以前版本的,终于找到一个可以的. 1. ...
- centos 7 下进入单用户模式修改root密码
centos7进入单用户模式修改root用户密码 在工作中可能会遇到root密码忘记,那么这里就要进入单用户模式下了. 在重启电脑之后 时间:2015-05-13 10:42来源:blog.51cto ...
- [置顶] CentOS release 5.4 (Final)重置root密码(图文)
- CentOS单用户模式下修改ROOT密码和grub加密
Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 Linux 系统启动到多用户模式,并提供正常的网络服务.如果系统管理员需要进行系统维护或系统出现启动异常时 ...
- centos单用户模式:修改ROOT密码和grub加密
centos单用户模式:修改ROOT密码和grub加密 CentOSLinux网络应用配置管理应用服务器 Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 ...
- CentOS 单用户模式:修改Root密码和grub加密[转]
原文出处: http://zhengdl126.iteye.com/blog/430268 Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 Linux 系 ...
- Centos 7 忘记密码的情况下,修改root密码
应用场景 linux管理员忘记root密码,需要进行找回操作. 注意事项:本文基于centos7.4环境进行操作,由于centos的版本是有差异的,继续之前请确定好版本 操作步骤 一.重启系统,在开机 ...
- Centos忘记root密码重置
entos6.5忘记root密码重置 一,启动服务器按e键 二,按e键选择第二项 三,在ro root前输入single回车保存 四,回到前面一个界面按b键启动 不用密码即可启动输入passwd修改r ...
随机推荐
- OpenCV-Python setMouseCallback回调函数中图像变量img的传递方法解析
☞ ░ 前往老猿Python博文目录 ░ 一.使用全局变量进行变量传递 OpenCV-Python中可以使用setMouseCallback来设置鼠标事件的回调函数,我们来看个样例. 1.1.案例1代 ...
- Python中splitlines方法判断文本中一行结束除了回车换行符是否还有其他字符?
Python中splitlines([keepends])方法用于返回由原字符串中各行组成的列表,在行边界的位置拆分. 如果keepends=True,结果列表中包含行边界,否则不包含 行边界的字符. ...
- windows cmd 链接远程mysql服务器
我要链接的mysql 所在ip:192.168.0.110 用户名:root 密码:123 那么: 打开cmd 输入: mysql -h192.168.0.110 -uroot -p123 即 ...
- GBK宽字节注入SQL
SQL注入:宽字节注入(GBK双字节绕过) 2015-06-09lyiang 宽字节注入的作用是非常大的,实际上在代码层的防御一般不外乎两种,一是反斜杠转义,而就是replace替换成空字节,之前的替 ...
- python安装Scrapy框架
看到自己写的惨不忍睹的爬虫,觉得还是学一下Scrapy框架,停止一直造轮子的行为 我这里是windows10平台,python2和python3共存,这里就写python2.7安装配置Scrapy框架 ...
- Scrum 冲刺第三天
一.每日站立式会议 1.会议内容 1)进行每日工作汇报 张博愉: 昨天已完成的工作:博客编写.spring boot学习 今日工作计划:将项目代码更新到最新版本 工作中遇到的困难:各成员的环境不一样, ...
- MySQL事务(二)事务隔离的实现原理:一致性读
今天我们来学习一下MySQL的事务隔离是如何实现的.如果你对事务以及事务隔离级别还不太了解的话,这里左转. 好的,下面正式进入主题.事务隔离级别有4种:读未提交.读提交.可重复读和串行化.首先我们来说 ...
- nginx 静态化合集(去掉index.php目录)
访问某域名时,去掉index.php目录时达到效果一样 如:www.test1/index.php/test2跟www.test1/test2效果一致 在vhosts.conf中加重写就可以了 loc ...
- Python 学习笔记 之 01 - 基础总结
数据类型 整数 十六进制和八进制使用0开头,0x12f, 010 浮点数 可以用科学记数法,如1.23x10^9 可以写成 12.3e8 ,0.000012可以写成 1.2e-5 空值 用None表示 ...
- centos 7 安装MySQL 5.7.23
centos 7 安装MySQL 5.7.23 1. 上传MySQL安装包到服务器 mysql-5.7.23-linux-glibc2.5-x86_64.tar.gz 2. 解压MySQL安装 ...