开机不是只要按一下电源钮而关机只要关掉电源钮就可以了吗?有何大学问?话是这样没错啦,但是由于 Linux 是一套多人多工的作业系统,你难保你在关机时没有人在线上,如果你关机的时候碰巧一大群人在线上工作, 那会让当时在线上工作的人马上断线的!那不是害死人了!一些资料可是无价之宝哩!
另外,与 DOS 环境不同的是, Linux 在执行的时候,虽然你在画面上只会看到黑压压的一片,完全没有任何画面, 但其实他是有很多的程式在背景底下执行的,例如登录档管控程式、前面两章提到的例行性命令, 当然还有一大堆网路服务,如邮件伺服器、WWW伺服器等等。你如果随便关机的话, 是很容易伤害硬碟及资料传输的动作的!所以在 Linux 下关机可是一门大学问喔。
既然开机是很严肃的一件事,呵呵,那我们来瞭解一下整个开机的过程吧! 好让大家比较容易发现开机过程里面发生错误的地方,与解决之道!不过,由于开机的过程中,那个开机管理程式 ( Boot Loader ) 使用的软体可能不一样,例如目前各大 Linux distributions 的主流为 grub, 但早期 Linux 预设是使用 LILO ,台湾地区则很多朋友喜欢使用 spfdisk 。 但无论如何,我们总是得要瞭解整个 boot loader 的工作情况,才能瞭解为何进行多重开机的设定时, 为何老是听人家讲要先安装 Windows 再安装 Linux 的原因~
我们先来想一想, Linux 整个开机的程序是怎样呢?还记得我们提过,开机时要载入核心, 让核心来驱动整个硬体,这样才能算是一个最阳春、最基础的作业系统吧?然后才能够执行各种程式的运作。 同样的,开机的流程也是需要先载入核心的。不过,载入核心前,却需要一些前置作业,才能够正确无误的载入核心嘛! 所以,整个开机的程序是这样的:
再来强调一下,因为 Windows 与 Linux 的档案格式不一样?! 为了载入系统核心,所以必须要安装认识我们作业系统的 loader, 而 Linux 的 loader ( lilo 或 grub ) 是可以认识 windows 的核心档案的,但是 Windows 的 loader 却不认识 Linux 的核心档案,因此,作为一个多重开机的设定 loader ,就无法使用 Windows 所提供的 loader 啰!由于需要让系统认识你的 kernel ,因此,就需要 boot loader 啦!这样想就对啦!