centos6/7启动故障排错
centos6启动流程修复:
实验一:删除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同步到磁盘中
reboot
实验二:破坏扇区的446字节,进行修复
dd if=/dev/zero of=/dev/sda bs=1 count=446
hexdump -C /dev/sda -n 512 -v 查询出前446字节已被破坏
重启按esc进入救援模式
chroot /mnt/sysimage 切换根
grub-install /dev/sda 修复sda磁盘设备
sync sync sync 同步到磁盘中
exit
reboot
实验三:破解centos6密码
1.启动grub界面
2.输入a 添加1 进入单用户模式
3.按passwd 修改密码
4 reboot
添加centos6单用户模式密码,无法破解:
grub-crypt
[root@centos6~]#grub-crypt 创建密码命令
Password: 输入口令
Retype password: 输入口令
$6$9M4MYaaShQLTXYAU$cIFuNc7SpKZw1NLCBG3/yoi6UHAWiMNxzBtDl3TGYzsmx3lRDjNRoRbNLEN8v8UsWldud2HHFRVqhbSFsqdly0
光盘破解密码:
进入救援模式
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
2.临时进入机器内
然后修改配置文件,永久修复保存:
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下的所有文件,需要光盘修复
1.重启进入按esc救援模式:去修复内核启动相关文件
mkdir /mnt/cdrom 新建临时挂载文件
mount /dev/sr0 /mnt/cdrom 挂载光盘
rpm -ivh /mnt/cdrom/Packages/kernel.... --root=/mnt/sysimage(指定安装路径) --force(强制安装)
2.修复grub文件
chroot /mnt/sysimage
grub-install /dev/sda
sync sync sync
3.修复grub.conf文件
vim /boot/grub/grub,conf
default=0
timeout=3
kernel /vmlinuz-2.版本内核文件 root=/dev/sda2
initrd /initramfs-...img文件
保存退出,修复完毕!
实验六:删除boot下的所有文件,且没有/etc/fstab文件,进行光盘修复
1.重启按esc进入救援模式
2.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 分区
3.最后确定/dev/sda2为根分区进行挂载
mount /dev/sda2 /mnt/rootfs 挂载/dev/sda2设备
4.添加文件内容:
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
5.重启进入按esc救援模式:去修复内核启动相关文件
mkdir /mnt/cdrom 新建临时挂载文件
mount /dev/sr0 /mnt/cdrom 挂载光盘
rpm -ivh /mnt/cdrom/Packages/kernel.... --root=/mnt/sysimage(指定安装路径) --force(强制安装)
6.修复grub文件
chroot /mnt/sysimage
grub-install /dev/sda
sync sync sync
7.修复grub.conf文件
vim /boot/grub/grub,conf
default=0
timeout=3
kernel /vmlinuz-2.版本内核文件 root=/dev/sda2
initrd /initramfs-...img文件
保存退出,修复完毕!
centos7故障修复流程:
第一种情况:
删除rm -rf /boot/grub2以下的文件进行修复:
1)进入救援模式:
2)然后切换根目录:
chroot /mnt/sysimage
3)生成grub2文件
grub2-install /dev/sda
4)将grub.cfg启动配置文件生成
grub2-mkconfig -o /boot/grub2/grub.cfg
5)sync sync sync sync 同步写入磁盘中
6)reboot就会修复。
第二种情况:
删除rm -rf /boot/下的文件进行恢复:
1)进入救援模式rescue
2)切换根目录:
chroot /mnt/sysimage
3)进行临时挂载
mount /dev/sr0 /mnt
4)修复内核里边的相关启动文件
rpm -ivh /mnt/Packages/kernel-3.10.0-957.el7.x86_64.rpm --force
5)修复grub2文件内容
grub2-install /dev/sda
6)最后修复grub.cfg启动的相关配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
sync sync sync sync 写入磁盘保存
reboot重启。
centos7破解root口令方法之一:
1.启动是按任意键
2.按e键进入编辑模式
3.将光标移动到linux16开始的行,再行尾添加内核参数rd.break
4.按ctrl+x启动
5.查询当前挂载的跟:mount,得知当前挂载的在sysroot下
6.由于当前根只有只读,需要重新挂载修改权限:
mount -o remount,rw /sysroot 修改当前根权限
chroot /sysroot 切换根
passwd root 修改当前口令
touch ./autorelabel 开机之后selinux对每个文件重新进行贴标签
exit
reboot
破解CentOS7的root口令方法二
按e键进入编辑模式
将光标移动linux16开始的行尾,改为rw init=/sysroot/bin
按ctrl-x启动
chroot /sysroot
passwd root
touch /.autorelabel
exit
reboot
centos7加密,就无法破解密码:
grub2-setpassword 创建口令密码
[root@centos7grub]#cat /boot/grub2/user.cfg 保存口令位置
GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.978E5C106D6A102F6912FF51C37CE674483C0AAE52B84EC4DBB6C08AF818CE83BCA8A9743F31A72AA0BD0AB644A66D34AA774EEDDF913DE22C71A6C4A2826860.2B0701EF272ADE6E518EAA613F966F3C1F5C1150B2F61A04FCC34D2588A1FAB2F75922AB8A5DC5C02AA1A84F5EEE919F8C3DE5526FBCB46EA85082EE98CD6919
[root@centos7grub]#mv /boot/grub2/user.cfg /data 口令文件移动走之后,口令就会失效。
centos6/7启动故障排错的更多相关文章
- Linux 常见的trouble shooting故障排错
Linux 常见的trouble shooting故障排错 备份开机所必须运行的程序对一个运维人员来说是非常有必要的.在实际生产环境中,系统和数据基本都是安装在不同的硬盘上面,因为企业最关心的还是数据 ...
- centos6服务启动脚本及开机启动过程
centos6服务启动脚本 centos6的服务启动脚本都放在/etc/rc.d/init.d/下,/etc/init.d/是/etc/rc.d/init.d/的软链接: centos6的服务启动脚本 ...
- Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例
Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.删除"/sbin/ini ...
- Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例
Linux操作系统启动故障排错之"/etc/fstab"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模拟故障 [root@yinzhe ...
- Linux操作系统启动故障排错之/boot目录被删除恢复案例
Linux操作系统启动故障排错之"/boot"目录被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模拟删除/boot分区 1>.查看/b ...
- Apache 安装后Error 403的故障排错方法(linux)
Apache 安装后Error 403的故障排错方法 2018年01月07日 14:25:41 个人分类: Linux 一.问题描述 在apache2的httpd配置中,很多情况都会出现403. 刚安 ...
- CentOS 6或7 启动故障修复及root密码破解
CentOS 6或7 启动故障修复及root密码破解 目录 CentOS 6或7 启动故障修复及root密码破解 CentOS 6启动流程修复: 实验一:删除initramfs-2.6.32-754. ...
- [svc]mount命令及解决因/etc/fstab错误导致系统不能启动故障
mount命令-手动挂载设备 格式: mount [options] [-t fstype] [-o option] 设备 挂载点 mount -n -o remount,rw / - Mount t ...
- MariaDB初始化和启动故障
初始化故障排查 1. so依赖缺失 比如报这样的错误: ./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot ...
随机推荐
- (二)UML之类图、接口、包
一.概念 类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系的一种静态模型. 类图的3 ...
- Python netaddr CIDR转换
功能 http://netaddr.readthedocs.io/en/latest/tutorial_03.html 将CIDR地址与IP范围相互转化 Convert CIDR to IP rang ...
- Linux - Linux命令行常用快捷键
Common Shortcut Key 用途 快捷键 说明 光标移动 Ctrl + a 把光标移到行首 Ctrl + e 把光标移到行尾 Ctrl + x 在 EOL 和当前位置移动光标 输入编辑 C ...
- iOS-UIView的layoutSubviews和drawRect方法何时调用(转)
转自:http://jianyu996.blog.163.com/blog/static/112114555201305113018814/ 首先两个方法都是异步执行.layoutSubviews方便 ...
- myeclipse安装activiti-designer
将压缩包中的features和plugins放到dropins下,然后重启myeclipse activiti-designer下载地址: 链接:https://pan.baidu.com/s/19u ...
- python线程互斥锁Lock(29)
在前一篇文章 python线程创建和传参 中我们介绍了关于python线程的一些简单函数使用和线程的参数传递,使用多线程可以同时执行多个任务,提高开发效率,但是在实际开发中往往我们会碰到线程同步问题, ...
- 可能是一篇(抄来的)min25学习笔记
可能是一篇(抄来的)min25学习笔记 一个要求很多的积性函数 我们考虑有一个积性函数,这个函数满足可以快速计算质数处的值 且质数可以写成一个多项式的形式--而且这个多项式如果强行套在合数上,满足积性 ...
- php实现微信小程序登录
以上是官方的流程介绍,已经说的很详细了,现在简单介绍一下流程 前端通过wx.login生成code传递给后端,后端通过提交Appid + appSecret + code 到微信方服务器 获取 ses ...
- 用Python获取计算机网卡信息
目录 0. 前言 1. 测试环境及关键代码解释 1.1 测试环境 1.1.1 系统: 1.1.2 开发工具: 2. 模块介绍及演示 2.1 platform模块使用示例 2.2 netifaces模块 ...
- QCache<key,T> 就定义了一个缓存,其类似于map,好处是QCache自动获得被插入对象的所有权,控制所有对象的costs总和(自动管理对象的生存时间。正经数据是不会用到它的,辅助控制才有可能用到它)
在软件开发中,我们经常需要在内存中存储一些临时数据用于后续相关计算.我们一般把这些数据存储到某个数组里,或者STL中的某个合适的容器中.其实,在Qt中直接为我们提供了一个QCache类专用于这种需求. ...