2017 09-07 CentOS7的排错和修复
实验一:在centos7中破解root口令
步骤
(1)重启虚拟机,在开机界面按任意键停止启动,然后按e进入编辑界面
image.png
输入完后,注意按ctrl-x保存退出
(2)进入界面后,重新挂载,mount -o remount ,rw /sysroot
(3)切根,chroot /sysroot
(4)修改密码,passwd root,修改一个新的密码
(5)touch /.autorelabel——注意拼写错误,注意格式
(6)exit,退出 /sysroot
(7)reboot,但是重启后,selinux会进行打标签,时间较长,可以重启,在开机界面设置selinux=0,暂时关闭selinux服务
方法二:
(1)启动时任意键暂停启动
(2)按e键进入编辑模式
(3)将光标移动linux16开始的行,改为rw init=/sysroot/bin/sh 按ctrl-x启动
(4)chroot /sysroot
(5)passwd root——修改密码
(6)touch /.autorelabel——创建标签
(7)exit——先退出,后重启
(8)reboot
实验二:
当/boot/grub2/grub.cfg中有两个内核的时候,如何选用内核
image.png
(1)首先进入 vim /etc/defalut/grub
(2)修改完后,不能马上生效,通过grub2-mkconfig -o /boot/grub2/grub.cfg,使修改内容生效
(3)然后重启,会自动进入新的内核
(4)但是修改后由于网卡的设置问题,会导致进入重启后,重新进入原来的内核后无ip地址,所以要在GRUB_CMDLINE_LINUX中加入net.ifname=0
修改方法: sed -r 's/(^GRUB_CMDLINE_LINUX)."/\1 net.ifname=0"/'
image.png
或者: sed -r 's/GRUB_CMDLINE_LINUX.[^"]/ &net.ifname=0/' /etc/default/grub
(5)再通过 grub2-mkconfig -o /boot/grub2/grub.cfg,使修改生效,重启前通过cat /boot/grub2/grub.cfg来确定是否修改成功,最后重启。
实验三:
破坏grub文件进行修复
(3)重启进入救援模式 image.png
(1) dd if=/dev/zero of=/dev/sda bs=1 count=446
(2) 删除 /boot/下的所有和grub相关的文件
(4)根据提示,选择(1)来继续操作
(5)进入后,直接通过,grub2-install --root-directory=/mnt/sysimage /dev/sda进行修复
(6)但是此过程没有修复grub.cfg文件,所以通过 grub-mkconfig -o /mnt/sysimage/boot/grub2/grub.cfg
(7)修复成功后,exit退出,自动重启
实验四:
删除boot,进行修复
(2)在提示界面,按回车键,进入模式 image.png
(1)重启后,进入救援模式,进行修复
(3)此时可以通过切根的方式来修复,如果不切根就要写路径来进行安装
(4)因为删除了boot,所以通过挂载光盘,来下载kernel image.png
(5)grub2-install /dev/sda
(6)ls /boot/
image.png
(7)重启
实验五:
将grub.cfg 移走
(1)重启,进入grub界面
(2)
grub> insmod xfs(7中文件类型为xfs)
grub> set hd(0,1)
grub > kernel /vmlinuz-3.10.0-514.e17.x86_64 root=/dev/sda2 selinux=0
grub> initrd /initramfs-3.10.0-514.e17.x86_64.img
grub > boot
(3)修复成功