当前位置:首页 » 专业资讯
开发技术指南» 文章正文
    引言: Linux 开机流程分析来源:鸟哥私房菜
 

 

 ·linux 挂载文件系统    »显示摘要«
    摘要:同标题作者:lilleo 2005-01-24 11:19:55 来自:linux公社 1、挂载点必须是一个目录。 2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。 对于其他操作系统建立的文件系统的挂载也是这样。但是需要理解的是:光盘、软盘、其他操作系统使用的文件系统的格式与linux使用的文件系统格式是不一样的。光盘是iso9660;软盘是fat16或ext2;windows nt是fat16、ntfs;w......
 ·linux 档案与目录管理    »显示摘要«
    摘要:来源:鸟哥私房菜2003-2-23 15:43:00  目录与路径:   由前一章节 『linux 的档案权限与目录配置』 中约略了解到 linux 的『树状目录』概念之后,接下来就得要实际的来搞定一些基本的路径问题了!这些问题当中,最重要的莫过于『绝对路径』与『相对路径』的意义啦!赶紧来了解一下!  目录与路径:   由前一章节 『linux 的档案权限与目录配置』 中约略了解到 linux 的『树状目录』概念之后,接下来就得要实际的来搞定一些基本的路径......


Linux 开机流程分析

   linux 开机流程分析来源:鸟哥私房菜2003-2-23 10:51:00 

  开机流程分析 【相关文章:将Linux加入到Win NT/2000

【扩展阅读:Linux 指令大全(1)

  开机不是只要按一下电源钮而关机只要关掉电源钮就可以了吗?有何大学问?话是这样没错啦,但是由于 linux 是一套多人多任务的操作系统,你难保你在关机时没有人在线上,如果你关机的时候碰巧一大群人在线上工作,那会让当时在线上工作的人马上断线的!那不是害死人了!一些资料可以无价之宝哩!另外,与 dos 环境不同的是, linux 在执行的时候,虽然你在画面上只会看到黑压压的一片,完全没有任何画面,但其实他是有很多的程序在背景底下执行的,例如邮件程序、浏览器主机程序等,你如果随便关机的话,是很容易伤害硬盘及数据传输的动作的!所以在 linux 下关机可是一门大学问喔 【扩展信息:linux 管理磁盘贮存区

   

  既然开机是很严肃的一件事,呵呵,那我们来了解一下整个开机的过程吧!好让大家比较容易发现开机过程里面发生错误的地方,与解决之道!不过,由于开机的过程中,那个 boot loader 使用的软件可能不一样,例如 mandrake 9.0 已经同时提供 lilo 与 grub 这两个开机管理程序,虽然 lilo 与 grub 的激活过程或许有点不太相同,但是他的原理则都是一样的哩!这里我们先介绍较老牌的 lilo 啰! lilo 是什么?!简单的说,他是 linux loader 的缩写,就是 linux 开机时候加载的咚咚就对了!这东西可是控制了你的多重开机的命脉!底下的篇幅会再分别介绍这两套开机管理程序!底下先开始来谈谈 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 加载硬件信息:

  稍微有 pc 硬件经验的人们大概都知道 bios ( basic input/output setup ) 的作用!他是第一个被加载计算机的资料!你主机的 cpu 资料、开机顺序、硬盘大小、芯片组工作状态、pnp 的开启与否、内存的时脉等等等...这都记录在 bios 当中!所以啦,开机之后,系统会先去找这个东西;

  · 可开机硬盘的 mbr 读取 kernel loader:

  再来呢?呵呵!当然就是硬盘的开机资料啰!由于个人计算机的系统在读完 bios 之后,会先去读取第一个开机硬盘的第一个扇区(就是 master boot record, mbr 啰!),还记得这个 mbr 吗?嗄!忘记了?赶紧回到第二篇好好的再复习一遍ㄋㄟ?。而这个扇区主要就是在记录开机的信息!还记得上面提到的 lilo 及 grub 吧?他的纪录就是在这里啰!所以啰,这个时候 lilo 纪录的信息就会被读出来,系统并依 lilo 的信息去不同的系统开机,这也就是多重开机设定的地方啦。

   

  好了,先再来回忆一下,如果你是以 grub 程序开机的话,那么在开机的时候会显示什么资料呢?呵呵!会显示蛮多的开机选单,没错?就是『选单』,然后选择了你的选择项目之后,系统就会跑到该扇区去读取该操作系统的核心啰!呵呵!所以一个好的 boot loader 会具有两个功能,就是:

   

  o 选单功能 ( menu )

  o 指向功能 ( pointer )

   

  那么为何要有 loader 呢?我想,我们得先来探讨一下这个话题才行!要探讨之前先来了解一下,晓不晓得 windows 与 linux 的档案格式一不一样?!呵呵!当然不一样对不对,好了,那么再来说一说,请问,你的计算机怎么知道你的硬盘的资料是什么系统?哈哈!那就是 loader 的主要功能啰!在你能使用系统之前,一定需要加载核心对吧!?但是怎样让你的硬件认识核心呢?那就是 kernel loader 的主要功能了!所以这里需要提出的是, linux 的 loader ( lilo 或 grub ) 是可以认识 windows 的核心档案的,但是 windows 的 loader 却不认识 linux 的核心档案,因此,作为一个多重开机的设定 loader ,就无法使用 windows 所提供的 loader 啰!由于需要让系统认识你的 kernel ,因此,就需要 kernel loader 啦!这样想就对啦!

   

  这一部份的信息我们在后续的章节会再提及!

  · 加载核心( kernel ):

  好了,等我们在 grub 的选单中选择了 linux 这个系统,然后主机跑到 linux 所在的硬盘之下,就开始将他的核心加载啰。在 linux 的系统下,通常开机的核心都摆在 /boot 底下,因此,这个时候的 boot loader 就会到 /boot 去寻找相关的核心。我们的 kernel 名称通常就是 /boot/vmlinuz-xxxx 的格式,目前 mandrake 9.0 的核心版本为 2.4.19,而 mandrake 自行释出的版本为 2.4.19-16mdk ,所以,使用 uname –r 会出现 2.4.19-16mdk 呦!然后 mdk 9.0 预设核心档案就是: /boot/vmlinuz-2.4.19-16mdk 这一个!好了,加载这个档案再往下继续吧!

  · 核心执行 init 并由 /etc/inittab 取得系统登入状态:

  核心加载之后,由核心执行的第一个程序就是 /sbin/init 啰!而这个程序第一个目标当然就是确定主机是要以怎样的情况登入!这个时候就必须要以 /sbin/init 来加载 /etc/inittab 的信息啦!而 linux 共有几种登入模式呢?嗯!这里似乎有需要说明一下 linux 有哪些登入的状态!如果你进入 linux 的 /etc/inittab 档案的话( 可以使用 vi 啦 ),你应该会看到如下的信息:

   


...   下一页
 ·ipv4&&ipv6    »显示摘要«
    摘要:comparison of ipv4 and ipv6 comparison of ipv4 and ipv6 galal abdo awad murshed, dan komosný   department of telecommunications brno university of technology, faculty of electrical engineering and communication......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE