linux大神必会之系统恢复(文末有彩蛋-教你如何破解开机密码)
系统恢复
1.硬盘引导阶段 mbr主引导记录的恢复
模拟问题:dd if=/dev/zero of=/dev/vda bs=446 count=1
电脑无法正常启动
解决方案:
进入挽救模式:首先强制关机,在灯泡处,修改启动的优先读取
就是这里,将光驱调上去,意思就是,开机时从光驱启动
选择挽救模式
在这输入1,然后继续
根据提示,输入chroot /mnt/sysimage/获得shell
df查看分区情况
grub2-install 启动分区所在硬盘 grub2-install /dev/vda
输入完成后,两次输入exit退出
再强制关机,将启动设置的该过来,改为从硬盘开机
然后,开机
搞定!
下文还会用到进入挽救模式的操作,下文就不在赘述
2.文件引导阶段
1)引导文件丢失
/boot/grub2/grub.cfg
模拟问题: rm -fr /boot/grub2/grub.cfg
当系统没有从新启动时
grub2-mkconfig > /boot/grub2/grub.cfg
#当系统被重新启动
grub > set root='hd0,msdos1' ##此位置是不固定的,位置指定/boot所在分区 grub > linux16 /vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1 #跟分区的设备名称 grub > initrd16 /initramfs-3.10.0-123.el7.x86_64.img grub > boot
!!!作为一名运维攻城狮必须要知道自己的根分区,boot分区在哪
以上操作可以使系统正常启动,但是是临时的,所以进入系统后还是需要执行:
grub2-mkconfig > /boot/grub2/grub.cfg
#2)内核文件丢失
#模拟问题: rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64
重启它就会出现这种情况
解决方案:
思路:进入挽救模式,将镜像挂载到一个目录下,将镜像中的内核文件复制到主机
进入到挽救模式
chroot /mnt/sysimage mkdir /rhel7 mount /dev/sr0 /rhel7 cd /rhel7/Packages cp kernel-3.10.0-123.el7.x86_64.rpm /mnt cd /mnt rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id cd boot cp vmlinuz-3.10.0-123.el7.x86_64 /boot exit exit
记得将灯泡那块设置的开机启动改为从硬盘启动,在开启主机
3)系统初始化镜像文件丢失
模拟问题: rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img
当系统没有重启时
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
uname -r ##显示系统的发行编号
$() 的作用
当系统重启后
进入挽救模式
chroot /mnt/sysimage mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
完成后两次exit退出,再将从光驱启动改为从硬盘启动
当/boot分区被删掉后
进入到挽救模式
chroot /mnt/sysimage mkdir /boot grub2-install /dev/vda mount /dev/cdrom /mnt rpm -ivh /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm --force grub2-mkconifg > /boot/grub2/grub.cfg
#4)当开机启动级别被篡改
初始化进程目录
开机启动,会读取这里的文件
示例:
使firewalld开机不启动
可见设置后,会在这个目录中横生成一个文件,开机时来读取
#错误形成
systemctl set-default reboot.target
Default.target 本来指向了图形登陆界面,我们将它改为了指向重启
重启之后,它会陷入无限重启的情况,因为我们将图形界面登陆改成了重启
#解决
1.开机按上下键停止读秒
2.按“e”进入编辑模式
3.选择内核启动行
linux16 /vmlinuz-xxxxxx ro xxxxxxxxxxxxxx 改变为: linux16 /vmlinuz-xxxxxx ro xxxxxxxxx 3ff7 xxxxx 5
4.启动系统
ctrl + x
5.重新设定启动
systemctl set-default graphical.target
!!!装逼必会!!!
破解密码
在你不知道密码的情况下,看看怎么操作呢
1开机按上下键停止读秒
2.按“e”进入编辑模式
3.选择内核启动行
linux16 /vmlinuz-xxxxxx ro xxxxxxxxxxxxxx 改变为: linux16 /vmlinuz-xxxxxx rw rd.break
ctrl+x 重启系统,写入以下命令 chroot /sysroot echo redhat | passwd --stdin root touch /.autoreable1 exit exit
- Debian Linux系统如何进入单用户模式恢复密码
- linux 若开机系统启动级别被篡改,如何恢复
- Windows、Linux系统开机密码破解
- Linux 系统如何在开机时修改root密码
- 【Linux系统】教您如何破解密码及防护
- mac os系统忘记开机密码后如何恢复
- 如何破解Linux开机密码
- 教你如何破解xp开机密码
- Linux系统密码、GRUB密码破解
- Linux的内存管理,硬盘数据恢复的相关知识,SQL恢复技术,如何让多个系统共享资源
- Linux系统密码忘记后的五种恢复方法
- 先安装win7再安装linux相关系统如 fedora 14 ubuntu 等 如何修改开机系统启动顺序
- Linux系统密码忘记后的五种恢复方法
- 如何破解win7 系统密码
- Linux系统各版本本地root密码破解方法整理
- 如何破解linux登陆密码
- 如何破解Win7用户开机密码
- linux如何破解root密码
- 在Linux系统如何让程序开机时自动启动
- 如何破解电脑开机密码