RHEL引导过程
1.BIOS加电自检,检查并初始化硬件
2.激活MBR
3.MBR中的引导程序(grub)加载到内存,生成一个微系统initramfs
4.grub读取分区表,找到引导分区
5.grub读取自身的配置文件,找到内核文件
6.加载内核文件vmlinuz
7.启动systemd进程
8.systemd进程根据target来选择启动级别,启动文件系统
切换到文本界面
[root@warner ~]# systemctl isolate multi-user.target
切换到图形界面
[root@warner ~]# systemctl isolate graphical.target
设置默认启动方式:
[root@warner ~]# systemctl get-default
graphical.target
[root@warner ~]# systemctl set-default multi-user.target
选择一个不同目标的RHEL7系统使用以下过程:
1.重新启动系统
2.按任何键打断引导加载程序菜单开始倒计时
3.将光标移动到要启动的项
4.按e键编辑当前条目
5.将光标移动到该以linux16开头的行
6.追加systemd.unit=desired.target(内核传导)
7.按ctrl+x来启动这些更改
使用journalctl
显示报错信息:
[root@warner ~]# journalctl -b -l -p err
修复文件系统启动时的问题
MBR记录损坏的修复
模拟损坏:
[root@warner ~]# dd if=/dev/zero of=/dev/sda bs=1 count=446
修复过程:
1.启动选择Troubleshooting
2.进入rescue模式
3.执行chroot /mnt/sysimage
4.执行grub2-install /dev/sda
按两下ctrl+d退出重启
修复引导加载程序问题
故障:内核文件或grub配置文件丢失
模拟故障:
rm -rf /boot/*
修复故障:
1.从光盘启动
2.进入rescue模式
3.执行如下命令:
chroot /mnt/sysimage
mkdir /cdrom
mount /dev/cdrom /cdrom
cd /cdrom/Packages
rpm -ivh --force kernel-3.10.0-123.el7.x86_64.rpm
mkdir /boot/grub2
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sda
因为救援模式下启动的是一个基本的文件系统,就是ramdisk里的文件系统,并没有切换到本机硬盘上的“真正”文件系统,而是把磁盘上的根文件系统以只读的方式挂载在sysimage上,而chroot 则是手动切换到磁盘上的文件系统,只不过正常情况下,这个过程是自动的,而救援模式下就相当于把这一步给你省略了。比如磁盘文件系统损坏了,root密码忘记了需要修改等。