linux启动 <上>

xiaoxiao2021-02-27  232

系统启动顺序

POST->BootLoader(grub)->Kernel->initrd->init

1. POST, Power On Self Test

BOIS配置:boot sequence,启动顺序

2. 找到启动设备对应的MBR

MBR,主引导记录,是一个独立于os的描述位置的概念,前446字节为bootloader

3. 加载bootloader

bois退出, boot loader获取控制权加载对应的内核 && initrd; 常见的bootloader有:

LILO: LInux LOader,一般用于嵌入式GRUB:Grand Unified Bootloader

GRUB: Stage1:存在于MBR,用于引导Stage1_5; Stage1_5:识别常见的文件系统,为访问stage2做准备; Stage2:/boot/grub/stage2,突破了446bytes大小的限制;

### 两种方法安装grub stage1 # Method A: grub> root (hd0,0) grub> set (hd0) # Method B: # grub-install --root-dirctory=/path/to/boot_parent_dir /PATH/TO/DEVICE ### grub配置损坏时修复 grub> find grub> root (hd#, N) grub> kernel /PATH/TO/KERNEL_FILE grub> initrd /PATH/TO/INITRD_FILE grub> boot

4. 加载内核kernel

bootloader退出,kernel获取控制权,探测识别硬件装载驱动程序,建立根文件系统, 加载/sbin/init程序;

kernel初始化的过程:

设备探测;驱动初始化(可能从initrd文件中装载驱动模块);以只读方式挂载根文件系统(为安全起见)装载第一个进程init

5. init进程启动

###查看运行级别 $ runlevel #显示上次级别和本次级别 $ who -r
转载请注明原文地址: https://www.6miu.com/read-8356.html

最新回复(0)