Linux 启动顺序:掌握系统启动知识(linux加载顺序)

Linux 是一个可安装在普通PC机上面的 多用户、多任务的类Unix操作系统。当用户按下电脑开机键,系统会进入启动序列,并在一定程度上有规律性的按照某种顺序启动。Linux启动顺序主要涉及硬件组件自检(BIOS),读取引导程序(bootloader),建立内核和根文件系统等步骤,具体的启动过程如下:

1. 引导组件自检(BIOS),确定计算机的硬件组件,检测内存,I/O设备等信息;

2. 读取引导程序(bootloader),用来加载Linux系统内核,bootloader可以支持多种操作系统,典型的bootloader有grub、grub2等;

3. 加载和缓冲内核,使用预先设定好的参数;

4. 创建根文件系统,并加载其中的基本程序;

5. 初始化特定的定义参数,包括网络信息,键盘布局,控制台信息等;

6. 挂载文件系统,读取各个文件系统的位置,把文件系统加载到内存中,系统完成检测;

7. 开始启动服务,初始化一系列准备就绪的服务;

8. 激活用户环境,如登录窗口或者shell终端等,完成开机启动过程。

Linux系统完成启动后,也可以去查看启动过程的错误信息,以针对不同的问题进行分析解决。内核启动过程的细节较多,有很多内核代码用于处理启动过程中涉及的硬件和软件设置,部分关键的代码如下:

/* start_kernel()函数用于启动Linux内核 */

void __init start_kernel(void)

{

setup_arch(&command_line);

init_IRQ();

init_timers();

init_sched_fair_class();

init_sched_features();

sched_init();

do_pre_smp_initcalls();

lockup_detector_init();

}

Linux系统启动顺序描述了开机过程及其全过程,用户如果日常遇到系统开机问题,可以通过了解开机顺序,掌握相关知识,找到并解决它们。


数据运维技术 » Linux 启动顺序:掌握系统启动知识(linux加载顺序)