Linux系统启动
Linux组成
- kernel 实现进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能等功能
 - rootfs 包括程序和 glibc 库
 
程序:二进制执行文件
库:函数集合, function, 调用接口(头文件负责描述)
CentOS 6 启动流程

- 加载BIOS的硬件信息,获取第一个启动设备
 - 读取第一个启动设备MBR的引导加载程序(grub)的启动信息
 - 加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
 - 核心执行init程序,并获取默认的运行信息
 - init程序执行/etc/rc.d/rc.sysinit文件,重新挂载根文件系统
 - 启动核心的外挂模块
 - init执行运行的各个批处理文件(scripts)
 - init执行/etc/rc.d/rc.local
 - 执行/bin/login程序,等待用户登录
 - 登录之后开始以Shell控制主机
 
CentOS 7 启动流程
- UEFi或BIOS初始化,运行POST开机自检
 - 选择启动设备
 - 引导装载程序, centos7是grub2,加载装载程序的配置文件:
- /etc/grub.d/
- /etc/default/grub
 - /boot/grub2/grub.cfg
 
 
 - /etc/grub.d/
 - 加载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需要的服务
 
                    
                
                
            
        
浙公网安备 33010602011771号