linux 执行根目录文件路径,linux的根目录的是怎么产生的?

一.linux启动流程:

系统预处理程序-> GRUB-> Kernal ->initrd->system module

系统预处理程序:未进入系统前的一些基本操作

阶段GRUB:loder程序,引导管理程序,提供用户开机画面以及操作系统的菜单

阶段Kernal:由GRUB协助载入linux kernal 此时并没有任何目录产生

阶段initrd:由GRUB协助一并载入initrd文件,让kernal支持更多的硬件,产生根目录

阶段system module:系统其他模块,比如硬件设备,应用程序等

initrd全名initial ram disk顾名思义就是启动系统所需的加载的虚拟的磁盘。文件是系统启动时的模块供应的主要来源,在执行这个程序期间,就产生了根目录。

GRUB:grub是GRand Unified Bootloader的缩写,它可以在多个操作系统共存时选择引导哪个系统。它可以引导的操作系统包括Linux,FreeBSD,Solaris,NetBSD,BeOSi,OS/2,Windows95/98,Windows NT,Windows2000。它可以载入操作系 统的内核和初始化操作系统(如Linux,FreeBSD),或者把引导权交给操作系统(如Windows 98)来完成引导。

vmliux是在启动过程中很重要的一个文件,因为这个文件实际上就是系统所使用的kernal,若这个文件误删或者文件名字有误,GRUB就不能找到kernal进行启动。

二.linux中kernal在加载之后,根目录的是怎么产生的,以及linux环境是怎么建立的?

1.开机程序启动操作系统,kernal在加载之后(也就是当用户在开机画面选择某系统选项按【enter】之后),kernal会自行在内存区建立一块叫做rootfs的区域供自己使用,里面的功能都是kernal本    身所提供的。这期间根目录并没有产生。

2.产生根目录的主要过程是:kernal加载完之后,将initrd文件载入到rootfs中,再按照其中脚本文件依次执行,这样在模块加载期      间,根目录就产生了。

注意点:其实在initrd文件的功能主要使kernal支持更多的硬件,如果在initrd之前,kernal不支持存储设备或功能,就不能识别出以及正确使用根目录;所以必须等到initrd加载正确的模块之后,并且正确的辩证出存储设备的硬件之后,才能将系统分割区准确的挂载到根目录,然后就产生出了一般的根目录。

3.最后是进入实际的文件系统供用户使用。

4.完成这一连串的动作之后,根目录就被initrd产生完毕,接着就是等待根目录下/sbin/init执行文件启动,由init文件将其下负责的软件或者服务依序执行,就可以将整个Linux所需的环境建立完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值