Linux开机引导流程
来源:互联网 发布:淘宝二手镜头店铺推荐 编辑:程序博客网 时间:2024/05/22 05:26
linux开机引导流程:
1.BIOS开机自检
BIOS程序首先检查,计算机硬件能否满足运行的基本条件,这叫做”硬件自检”(Power-On Self-Test),缩写为POST。
如果硬件出现问题,主板会发出不同含义的蜂鸣,启动中止。如果没有问题,屏幕就会显示出CPU、内存、硬盘等信息。
2.MBR(主引导记录):512字节:
主引导程序(Bootloader):446字节;
硬盘分区表DPT:64字节;
分区结束标记:2字节。
(MBR不属于任何一个文件系统)
PS:
如何查看MBR的第一个扇区(最前面的512个字节)
(这512个字节的最后两个字节是0x55和0xAA)
# dd if=/dev/sda of=sda.mbr bs=512 count=1#hexdump -C sda.mbr
–》会发现是以55 aa结尾的
3.GRUB引导程序
grub是linux里的一个引导系统启动的程序。
分3个部分(阶段):
- stage 1
- stage 1.5 –》文件系统的驱动程序
- stage 2 –》文件系统的驱动程序
#cd /boot/grub/#ls --》device.map ffs_stage1_5 jfs_stage1_5 reiserfs_stage1_5 stage2 xfs_stage1_5e2fs_stage1_5 grub.conf menu.lst splash.xpm.gz ufs2_stage1_5fat_stage1_5 iso9660_stage1_5 minix_stage1_5 stage1 vstafs_stage1_5
4.加载内核kernel
vmlinuz-2.6.32-279.e16.i68
内核文件:被夹在到内存里执行,可以开始管理内存、cpu、磁盘等设备,
解压image映像文件,查看里面的内容。
①/boot/kernel and kernel parameter
②/boot/initrd
5. Sys V init 初始化阶段
- /sbin/init
- /sbin/mingetty
- /etc/X11/prefdm
一个文件系统下面有哪些目录:
最后贴一个自己画的linux开机启动流程思维导图:
(注:放大即可看清)
power on–》开机
bios:系统自检、读启动顺序,启动顺序定位到MBR–》
MBR(主引导程序bootloader、DPT硬盘分区表、55aa分区结束标记):
bootloader读取DPT,知道哪一个是活动分区–》
bootloader(stage1)找到/boot分区(ext4),但是stage1识别不了ext4,于是启动stage2–》
stage里面有大量的驱动,加载驱动,例如ext4的驱动,就能读取分区(/boot/grub/grub.conf)了–》
grub.conf会加载kernel和initramfs.img文件到内存里面。–》
initramfs-版本号.img文件加载到内存里之后,会启动init进程–》
init进程起来后,会读取/etc/fstab文件、/etc/rc.sysinit、/etc/inittab–》
通过/etc/inittab文件例如知道运行级别是3了,就会加载/etc/rc.d/rc3.d/目录下的所有文件–》
例如会启动所有以f开头的服务–》
再启动/sbin/mingetty文件,提供接口来登录–》
输入用户名、密码–》
通过/ertc/passwd和/etc/shadow等文件来验证用户名和密码是否正确–》
然后再加载4个配置文件:/etc/profile、/etc/bashrc、/root/.bashrc、/root/.bash_profile–》
之后就可以使用了。
========手动分割线=======
最后的最后,贴一个当时班里很牛的一个大神画的超级好看的思维导图。
(注:此思维导图作者—-李鹏翔)
- Linux开机引导流程
- linux开机的全过程(引导流程)
- Linux-08-系统开机引导流程
- linux系统的开机引导、启动流程
- Linux开机流程分析与Grub引导程序
- linux引导流程(开机过程)和时钟设置
- Linux开机流程分析与Grub引导程序
- Linux开机引导
- linux开机引导过程
- Linux系统引导流程
- Linux引导流程解析
- Linux引导流程
- linux 引导流程简述
- linux系统引导流程
- linux系统引导流程
- linux系统引导流程
- Linux引导流程解析
- linux系统引导流程
- 爬虫学习(一)---爬取电影天堂下载链接
- linux系统管理和安全相关命令
- SDUT 3347 数据结构实验之数组三:快速转置
- 顺序表应用3:元素位置互换之移位算法
- bzoj 2655: calc dp+拉格朗日插值法
- Linux开机引导流程
- 10.12离线赛
- C++模版typename的双重意义
- BZOJ1597(Usaco2008 Mar)[土地购买]--斜率优化DP
- Linux的截取字符:%#:
- MyEclipse快捷键的使用
- STM32中的程序在RAM还是FLASH里运行?
- 顺序表应用4-2:元素位置互换之逆置算法(数据改进)
- LeetCode 329. Longest Increasing Path in a Matrix