Linux启动过程

288 阅读2分钟

Linux启动过程详解

1. 加载 BIOS 的硬件信息,跟据设定取得第一个可开机引导设置 如:光驱,硬盘,网络,USB; 如果是硬盘为第一引导。

2. 读取硬盘中 MBR 的 boot Loader (亦即是 grub,Lilo 等程序)。
  硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。
   它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和硬盘有效标志(55AA)。
   16*4+446+2=512
   注:磁盘默认一个扇区大小为:512字节。
    在总共512字节的主引导扇区里
    第一部分是:主引导程序(boot loader)占446个字节。主引导程序,它负责从活动分区中装载,并运行系统引导程序。
    第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。
    第三部分是MBR有效标识位,占2个字节,固定为55AA。如果这个标志位0xAA55,就认为这个是MBR。
    GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。
3. 依据 boot loader 的设定,到引导分区加载 Kernel ,Kernel 会开始侦测硬件并加载驱劢程序;  
4. 在硬件驱动成功后,Kernel 会主动执行 init 程序,而 init 会取得 run-level 信息;
5. init 执行 /etc/rc.d/rc.sysinit 文件来准备软件执行的作业环境 (如网络、时区等); 
6. init 执行 run-level 下各个服务并启动 (script 方式); 
7. init 执行开机后自动运行脚本 /etc/rc.d/rc.local 文件; 
8. init 执行虚拟终端机控制程序 mingetty 来启动 login 程序,最后就等待用户登入啦;


Linux启动级别

Linux 7启动级别:

0 系统停机模式,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。  
1 单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。  
2 多用户模式,没有NFS网络支持。  
3 完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。  
4 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。  
5 图形化模式,登陆后进入图形GUI模式,X Window系统。  
6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启。**