文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux开机的基本流程(转编)

Linux开机的基本流程(转编)

时间:2006-02-28  来源:笑里飞刀

(断断续续学linux很久,可没机会实践,看来只能作为自己的一个业余爱好了。这次中断了一年多,看到网上的资料,整理的这篇算是对以前的一个梳理吧)
1. 加载 BIOS 的硬件信息;
2. 读取 MBR 的 Kernel Loader (亦即是 lilo, grub, spfdisk 等等)开机信息;
3. 加载 Kernel 的操作系统核心信息;
4. Kernel 执行 init 程序并取得 run-level 信息;
5. init 执行 /etc/rc.d/rc.sysinit 档案;
6. 激活核心的外挂式模块 (/etc/modules.conf);
7. init 执行 run-level 的各个批次档( Scripts );
8. init 执行 /etc/rc.d/rc.local 档案;
9. 执行 /bin/login 程序;
10. 登入之后开始以 Shell 控管主机。
      一、BIOS记录计算机的硬件信息: CPU 资料、开机顺序、硬盘大小、芯片组工作状态、PnP 的开启与否、内存的时脉等等。开机之后,系统首先会去找它。
    二、计算机系统在读完 BIOS 之后,会先去读取第一个开机硬盘的第一个扇区(就是 master boot record, MBR ),这个扇区主要就是记录如何引导系统的!这也是众多多重开机软件争夺的地方。
    三、在 Linux 的系统下,通常开机的核心都摆在 /boot 底下,因此,这个时候的 boot loader 就会到 /boot 去寻找相关的核心。 kernel 名称通常就是 /boot/vmlinuz-xxxx 的格式,可以使用 uname –r 来查询版本信息!
    四、核心加载之后,由核心执行的第一个程序就是 /sbin/init 。而这个程序第一个目标当然就是确定主机是要以怎样的情况(级别、状态)登入,这个时候就必须要以 /sbin/init 来加载 /etc/inittab 的信息。而 Linux 共有0-6种登入模式,比较常使用的是 3 与 5(3 :文字界面登入的多人系统;5 :图形界面登入的多人系统,即x-window),预设的系统登入在inittab的类似“ id:?:initdefault ”的那一行,其中的“?”就是预设的登入级别,此行也就是决定用文字界面还是图形界面的地方。
    五、确定了登入状态之后,接着就需要将主机的信息读进 Linux 系统。而 Linux 系统的第一个资料内容就是 /etc/rc.d/sysinit 。该档案内容包括==>设定预设路径( PATH )、设定主机名称、执行 /etc/sysconfig/network 所记录的网络信息、挂载 /proc 这个保存内存当中的主机基本讯息、以及其它几个 Linux 操作系统最基本的几个信息!大抵来说,他的基本工作是:
      1. 设定预设路径:( PATH );
      2. 设定网络状态:系统会再去读取 /etc/sysconfig/network,并将该档案内的资料,如 NETWORKING, FORWARD_IPV4, HOSTNAME, DOMAINNAME, GATEWARY, GATEWAYDEV 等等的设定读入系统中;
      3. 激活系统的交换空间(简单的可以想成是虚拟内存): swapping ;
      4. 检查档案系统:这个时候系统会去检查一些可能会存在的目录,例如 /fsckoptions 、/forcfsck 及 /fastboot 等目录,当你的系统有不正常关机的现象时(例如突然的断电等等),那么 Linux 将会自动的强制去检查 root 的档案系统 ( checking root filesystems )。就象 Windows 系统下,不正常关机时在开机的过程中扫瞄硬盘;
      5. 周边设定与系统设定的参数 ( /proc ): /proc 是运行内核和环境的虚拟化视图,每次开机的时候就会被建置起来。他的主要功能是记录主机的一些接口设备的最新资料状况;
      6. 设定 Plug and Play ( PNP )的一些参数资料;
      7. 清除 /etc/mtab ;
      8. mount root 及 /proc 档案系统 :将一些资料都设定好之后,就需要将资料写下来,这个时候就会将 root 与 /proc 资料 mount 上档案系统;
      9. 决定是否使用模块, 加载模块;
      10. 检查档案系统 :与前面相同的,当前面的 /fastboot 检查的旗标开启之后,就会以 fsck 检查你的其它扇区 ( 使用 fsck );
      11. 挂上其它档案系统;
      12. 设定 console 字型;
      13. 打开 quota ;
      14. 清除不必要的档案, 如 lock, pid ;
      15. 设定 clock ;
      16. serial port 初始化;
      17. 将开机讯息经由 dmesg 放入 /var/log/dmesg 中;
    六、激活核心的外挂式模块 (/etc/modules.conf)。
    七、init 执行 run-level 的各个 scripts :不同的 run-level 所需要加载的模块并不相同,所以系统为不同的 run-level 设定了一些批次档( scripts ),而 run-level 早就在前面的时候从 /etc/inittab中取到。 /etc/rc.d 的目录下应该有八个目录跟三个档案,目录 rc0.d ~ rc6.d 分别代表了各个 run-level 的 scripts ,而在这些目录中的档案都是以 S 及 K ( 大写 ) 为开头、并接两位数的数字与该服务的名称所组合而成的。在这个目录下的档案都是连结档,均指向到 /etc/rc.d/init.d 这个目录下;
    八、init 执行 /etc/rc.d/rc.local:在 Linux 系统执行完了大部分的开机程序之后,接着下来就是要执行你的 Linux 主机的个人化设定,类似 DOS 或 Windows 中的 autoexec.bat 与 config.sys;
    九、开机设定档 /etc/sysconfig:通常/etc/sysconfig目录下面会有以下7个文件:clock (控制从系统时钟读出数据的解释)、keyboard(控制键盘的功能) 、mouse(定有关可用鼠标的信息) 、network(指定有关网络配置的信息) 、pcmcia(指定PCMCIA配置信息) 、amd(为amd指定操作参数) 和tape(磁带相关的配置信息)。
相关阅读 更多 +
排行榜 更多 +
弓箭手战士酷跑

弓箭手战士酷跑

飞行射击 下载
三角洲行动全面战场攀升A点进攻指南

三角洲行动全面战场攀升A点进攻指南

飞行射击 下载
僵尸射手世界大战

僵尸射手世界大战

飞行射击 下载