Linux系统启动过程
通电—>开机自检(加载BIOS)——> BIOS扫描MBR—>MBR引导—>GRUB菜单—>加载内核kernel—>运行/sbin/init进程(系统里其他所以进程的父进程)—>读取/etc/inittab配置文件—>执行/etc/rc.d/rc.sysinit脚本(系统初始化脚本,设置主机名和IP地址等)—>执行/etc/rc.d/rc脚本(根据系统的运行级别,在开机时启动不同软件、0到6级)—>启动mingetty进程。
如果/boot分区被删掉后 (内核也被删了)
模拟问题:
rm -fr /boot/
reboot
问题解决:
进入到挽救模式以后
chroot /mnt/sysiamge ##将系统挂载更改到根目录下
mount /dev/sr0 /westos ##将光盘文件挂载
cd /westos/ ##切换到光盘挂载点
ls ##查看光盘中的文件
cd Packages/ ##切换到安装包目录中(记住,不要ls,有4000多个包)
cp kernel-3.10.-123.e17.x86_64.rpm /mnt/
##将这个文件包拷贝到/mnt/下,因为在光盘目录中不能进行拆包
cd /mnt/ ##切换到/mnt/
ls ##查看/mnt/下拷贝过来的文件包
rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id ##拆包
ls ##查看包中的文件
pwd ##查看当前路径
cd boot/ ##切换到包中的boot/目录下
ls -l ##包中存在内核文件
cp vmlinuz-3.10.0-123.e17.x86_64 /boot/
##将内核文件拷贝到系统的/boot/目录下
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##生成系统初始化镜像
grub2-mkconfig > /boot/grub2/grub.cfg
exit ##退出chroot更改的根目录
exit ##shell窗口
操作如下:
关闭虚拟机,通过光驱模式启动得到shell,按照之前的操作,依次安装mbr、恢复内核文件、初始化镜像和开机自动引导文件后通过硬盘启动即可
退出挽救模式。系统缺少引导文件仍然不能正常登录 —恢复引导文件
此时系统可以临时登录
/boot/grub2/grub.cfg文件只时临时生成的,还需要在系统启动后进行操作
grub2-mkconifg > /boot/grub2/grub.cfg