系统排错
一、MBR主导分区损坏
1.可覆盖掉虚拟机的主导分区
dd if=/dev/zero of=/dev/vda bs=446 count=1
此时系统将无法正常开机
2.根据虚拟机版本添加光驱(如7.0的系统光驱为7.0版本的镜像)
3.开机模式中选择修复选项 ##注意:光驱启动
进入系统后,打开 shell chroot /mnt/sysimage
查看boot程序所在分区 df
安装主导分区的程序 grub2-install /dev/xda
安装完成后,以虚拟硬盘驱动开机即可
二、文件引导损坏
1.boot分区的引导文件 vim /boot/grub2/grub.cfg
引导文件指定了boot分区的位置;加载内核;启动系统初始化进程
2.若不小心删除,可通过命令自动创建
grub2-mkconfig > /boot/grub2/grub.cfg
3.若系统没有该文件,启动时须手动引导
误删 grub.cfg
4. 正常启动后,需要创建引导文件
三、内核引导软件损坏 vmlinuz
1. 内核引导文件 vmlinuz
检测硬件设备;设备驱动初始化;将/只读挂载;载入初始进程 systemd
2.内核文件损坏,则无法正常开机,须重新安装内核软件
## 误删 vmlinuz-3.10.0-123.el7.x86_64
3.开机模式中选择修复选项 ##注意:光驱启动
进入系统后,打开shell chroot /mnt/sysimage
挂载光驱 mount /dev/sr0 /mnt
将光驱中内核软件拷贝至指定目录下
mkdir /kernel
cp /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm /kernel
解开kernel,得到所需的内核引导软件
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id
cp ./boot/vmlinuz-3.10.0-123.el7.x86_64 /boot
查看/boot分区文件是否完整,ok后以虚拟硬盘驱动开机即可
四、img文件损坏
1. 若不小心删除,可通过命令自动创建
mkinitrd /boot/initramfs-`uname -r`.img `uname -r`
##uname -r 系统内核版本:3.10.0-123.el7.x86_64
2.img文件损坏后,无法正常开机,须重新建立img文件
误删 initramfs-3.10.0-123.el7.x86_64.img ,无法正常开机
3.开机模式中选择修复选项 ##注意:光驱启动
进入系统后,打开shell chroot /mnt/sysimage
在/boot目录下自动建立文件
查看/boot分区文件是否完整,若完整以虚拟硬盘驱动开机即可
五、 systemd初始化
1.systemd初始化目录 /etc/systemd/system/multi-user.target.wants/
开启selinux和systemd-tools;加载内核参数;加载系统时钟,键盘,主机名称
读写挂载/文件系统;**raid,lvm设备;**系统配额;
启动/etc/systemd/system/multi-user.target.wants/中所有脚本
启用虚拟控制台;启动图形;
2.若系统故障,开机自动关机
重启时按上下键,停止系统引导
开机时按e,在内核引导时设置图形化界面开启(5)
正常开启后,修改systemd初始化默认参数,即可修复
systemctl set-default graphical.target
六、root用户密码修改
root用户密码被更改或忘记
1.重启时按上下键,停止系统引导
2.按e,在内核引导时找到指定行linux16,从最后往前删除至ro
在其后加 rw rd.break
3.ctrl + x 启动修改设定后的系统引导
4.进入系统后切换到真实系统环境,修改root密码
chroot /sysroot
passwd
5.建立文件 /.autorelabl
##当selinux关闭时,可不建立该文件;但当selinux开启时,必须建立该文件
建议:重启时默认执行此命令
6.输入2次exit退出、重新启动