CentOS7系统引导顺序以及排障
引导顺序
UEFi或BIOS初始化,运行POST开机自检
选择启动设备
引导装载程序, centos7是grub2
加载装载程序的配置文件:/etc/grub.d/ /etc/default/grub /boot/grub2/grub.cfg
加载initramfs驱动模块
加载内核选项
内核初始化,centos7使用systemd代替init
执行initrd.target所有单元,包括挂载/etc/fstab
从initramfs根文件系统切换到磁盘根目录
systemd执行默认target配置,配置文件/etc/systemd/system/default.target
systemd执行sysinit.target初始化系统及basic.target准备操作系统
systemd启动multi-user.target下的本机与服务器服务
systemd执行multi-user.target下的/etc/rc.d/rc.local
Systemd执行multi-user.target下的getty.target及登录服务
systemd执行graphical需要的服务
设置内核参数
设置内核参数,只影响当次启动
启动时,在linux16行后添加
systemd.unit=desired.target
systemd.unit=emergency.target
systemd.unit=rescue.target
rescue.target 比emergency 支持更多的功能,例如日志等
systemctl default 进入默认target
破解CentOS7的root口令
方法一:
启动时任意键暂停启动
按e键进入编辑模式
将光标移动linux16开始的行,添加内核参数rd.break
按ctrl-x启动
mount –o remount,rw /sysroot 重新挂载根目录为读写
chroot /sysroot 切根
passwd root 修改root密码
touch /.autorelabel 创建文件,为避免selinux报错
exit
reboot
方法二:
启动时任意键暂停启动
按e键进入编辑模式
将光标移动linux16开始的行,改为rw init=/sysroot/bin/sh 挂载为读写模式
按ctrl-x启动
chroot /sysroot 切根
passwd root 修改root密码
touch /.autorelabel 创建文件,避免selinux报错
exit
reboot
故障排除
/boot路径下所有文件丢失
进入救援模式
chroot /mnt/sysimage
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
rpm -ivh /mnt/cdrom/Packages/kernel-3.10.0-693.e17.x86_64.rpm --force --force选项是必须的
grub2-install /dev/sda 为boot所在磁盘修复grub文件
cd /boot/grub2/
grub2-mkconfig -o grub.cfg 如果不在/boot/grub2路径下需要指明路径grub2-mkconfig -o /boot/grub2/grub.cfg
启动默认内核选择
/etc/default/grub文件中GRUB_DEFAULT= (0为第一项,1为第二,以此类推),修改此项即可