2017 09-07 CentOS7的排错和修复

实验一:在centos7中破解root口令
步骤

(1)重启虚拟机,在开机界面按任意键停止启动,然后按e进入编辑界面


2017 09-07 CentOS7的排错和修复_第1张图片
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中有两个内核的时候,如何选用内核
(1)首先进入 vim /etc/defalut/grub

2017 09-07 CentOS7的排错和修复_第2张图片
image.png

(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"/'
2017 09-07 CentOS7的排错和修复_第3张图片
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文件进行修复
(1) dd if=/dev/zero of=/dev/sda bs=1 count=446
(2) 删除 /boot/下的所有和grub相关的文件

(3)重启进入救援模式
2017 09-07 CentOS7的排错和修复_第4张图片
image.png

(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,进行修复
(1)重启后,进入救援模式,进行修复

(2)在提示界面,按回车键,进入模式
2017 09-07 CentOS7的排错和修复_第5张图片
image.png

(3)此时可以通过切根的方式来修复,如果不切根就要写路径来进行安装
(4)因为删除了boot,所以通过挂载光盘,来下载kernel
2017 09-07 CentOS7的排错和修复_第6张图片
image.png

(5)grub2-install /dev/sda
(6)ls /boot/


2017 09-07 CentOS7的排错和修复_第7张图片
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)修复成功

你可能感兴趣的:(2017 09-07 CentOS7的排错和修复)