centos7启动流程详解

异构平台迁移虚拟机总结:

1、上电后UEFI或bios进行硬件诊断
此步骤出现异常基本上是硬件故障、设置错误或不兼容

2、读取可启动标识硬盘的第一扇区,获取disk label类型(mbr或gpt)
此步骤出现异常需要修复mbr或gpt

3、bootloader(例如grub)初始化硬件设备、建立内存空间,调出启动菜单
此步骤出现异常屏幕会报“grub>”,修复:安装grub到启动盘上

4、读取分区表,查找boot分区,读取/boot目录下的initramfs-$(uname -r).img,形成临时文件系统(虚拟文件系统)
5、将调用权限移交给系统内核vmlinuz-$(uname -r)

此两步出现异常,可能会报“dracut#”、“emergency mode”、“xxxx does not exist”。/boot目录下影响因素众多,一般需要注意initramfs-$(uname -r).img、vmlinuz-$(uname -r)、/boot/grub2/grub.cfg、/boot/grub/grub.conf,后两者可通过grub2命令生成对应的配置文件

6、systemd参照/etc/inittab(init 5、init 3)运行级别启动系统

 # 0-停机  1-单用户  2-多用户,无NFS  3-完全多用户模式   4–系统保留的   5-GUI   6-重启
 systemctl set-default multi-user.target

7、/etc/rc.d/rc.sysinit初始化系统
初始化包括:主机名、欢迎信息、激活seliux、挂载/etc/fstab文件中定义的所有文件系统、检测根文件系统、设置系统时钟、根据/etc/sysctl.conf文件来设置内核参数、激活LVM及软RAID设备、激活swap设备、加载额外设备的驱动程序。

8、加载kernel_module
按照/etc/sysconfig/modules/下的目录装载内核模块,lsmod查看驱动

9、/etc/rc.d/init.d(可自定义注册为开机启动服务)

cd /etc/rc.d/init.d
chkconfig --add example.sh
chkconfig example.sh on

#必须包含以下俩项:
#默认启动的运行级别以及启动、停止的优先级
#对服务的描述
cat example.sh
  #chkconfig: 2345 10 90
  #description: ping10

10、执行/etc/rc.d/rc0.d到rc6.d、/etc/rc.d/rc.local
rc.local可自定义启动程序(用于添加开机启动命令,/etc/rc.local是其软连接)

11、/bin/login执行登录

你可能感兴趣的:(故障排除,linux)