level 8
了解Linux开机流程,对解决有关引导问题很有帮助,同时对于修改启动配置文件很有帮助,接下来谈谈Linux开机流程吧:→_→
机器上电,执行BIOS→ BIOS通知各硬件进行初始化并返回通知,完成后把信息映射到特定地址→执行引导扇区,由引导扇区执行自己支持的引导器,比如grub→ grub通过映射区得到磁盘数据和分区信息,然后按照配置文件加载内核和ramfs,之后尝试执行内核→ 内核通过执行ramfs内的init对引导参数进行判断,并确认根文件系统位置,加载必要的模块后,加载根文件系统→ 然后执行物理根文件系统内预设的init,并按照需求加载各组件,全部加载后执行 图形界面程序进入图形桌面。
到这里整个引导流程就结束了,其中比较要注意的关键词有:grub引导器,配置文件,内核,ramfs。其中grub引导器的主要作用是解析grub配置文件,然后执行配置文件的内容,grub配置文件就是人们所说的grub.cfg这个文件,而内核就是人们Linux内核—vmlinuz-xxxxxxx,其主要负责驱动硬件,而ramfs就是内存文件系统,也可以说是一个仿真的根文件系统,因为直接挂载根目录是无法实现的,因为根目录所在的磁盘驱动就在根目录,所以在挂载根目录之前更本无法获取磁盘的驱动程序,为了解决这个问题,人们提出了内存文件系统的概念,那就是ramfs,通过把内存仿真成根目录,然后加载系统启动最重要的驱动程序,从而实现根文件系统的挂载,(顺便说一下,本来之前就该说,挂载根目录是系统引导工作做完之后的第一件事,同时也是系统启动的关键过程,非常重要的一个过程!!!)。
通过对以上关键词的解释,应该对整个流程有个稍微清晰点的认识
。
最后我想说的是:打字真的好累!!!也许其中有不对的地方,欢迎广大吧友的指正
2015年02月15日 14点02分
1
机器上电,执行BIOS→ BIOS通知各硬件进行初始化并返回通知,完成后把信息映射到特定地址→执行引导扇区,由引导扇区执行自己支持的引导器,比如grub→ grub通过映射区得到磁盘数据和分区信息,然后按照配置文件加载内核和ramfs,之后尝试执行内核→ 内核通过执行ramfs内的init对引导参数进行判断,并确认根文件系统位置,加载必要的模块后,加载根文件系统→ 然后执行物理根文件系统内预设的init,并按照需求加载各组件,全部加载后执行 图形界面程序进入图形桌面。
到这里整个引导流程就结束了,其中比较要注意的关键词有:grub引导器,配置文件,内核,ramfs。其中grub引导器的主要作用是解析grub配置文件,然后执行配置文件的内容,grub配置文件就是人们所说的grub.cfg这个文件,而内核就是人们Linux内核—vmlinuz-xxxxxxx,其主要负责驱动硬件,而ramfs就是内存文件系统,也可以说是一个仿真的根文件系统,因为直接挂载根目录是无法实现的,因为根目录所在的磁盘驱动就在根目录,所以在挂载根目录之前更本无法获取磁盘的驱动程序,为了解决这个问题,人们提出了内存文件系统的概念,那就是ramfs,通过把内存仿真成根目录,然后加载系统启动最重要的驱动程序,从而实现根文件系统的挂载,(顺便说一下,本来之前就该说,挂载根目录是系统引导工作做完之后的第一件事,同时也是系统启动的关键过程,非常重要的一个过程!!!)。
通过对以上关键词的解释,应该对整个流程有个稍微清晰点的认识
最后我想说的是:打字真的好累!!!也许其中有不对的地方,欢迎广大吧友的指正