也许你看到下面密密麻麻的文字时,就开始头大了——这算哪门子零命令啊!不过请允许我在这里啰唆一番,也许你对下面即将介绍的知识已经了如指掌,但是我还是建议你简单的浏览一番,或者就当是为我挑错。而如果你是第一次安装Ubuntu,下面的这些准备知识是对于顺利地安装Ubuntu必要的。本文并不打算成为百科全书式的介绍,因此下面涉及到很多内容是非常粗略的。想深入了解更多知识,你可以请教搜索引擎,而我的唯一建议是,请尽量看新的文章。Linux的发展日新月异,老旧的Linux文档很可能会对读者认识Linux产生误导。
1. 硬盘分区
一块硬盘可以分为四个主分区,或三个主分区加上一个扩展分区。扩展分区其实只是一个容器,我们实际上并不直接使用扩展分区。在扩展分区内,我们可以继续划分逻辑分区。一般的认为在一个扩展分区内,能分出无数个逻辑分区。正因为有了逻辑分区,一块硬盘才能被分成很多个分区。
另一个可能涉及的概念是活动分区。电脑加电启动时,BIOS会寻找硬盘上有活动分区标识的分区寻找操作系统引导程序。如果一块硬盘上没有活动分区,则即使这块硬盘上有引导程序和完好的操作系统,也将无法成功启动。(关于什么是引导程序将在后面介绍。)一块硬盘上只能有一个活动分区,而且只有主分区才能成为活动分区。
2. Linux中的硬盘分区
与Windows不同,Linux并不是用C, D, E, F等盘符来标识每一个分区的,而是用一系列设备文件来标识——Linux把一切硬件设备都当成文件。比如,Linux下,四个主分区分别对应/dev/sda1, /dev/sda2, /dev/sda3, /dev/sda4。其中/dev是设备文件所在的目录(即,文件夹,下同),sd代表SCSI Disk,a代表第一个SCSI设备,数字1,2,3,4分别代代表了四个主分区。如果你不知道什么是SCSI Disk,不用担心,因为你并不需要知道它究竟是什么。通常,如果你的电脑中只有一块硬盘,那么,这块硬盘一定是/dev/sda。
可能你以前接触过Linux,或曾经在一些老旧的资料中看到过/dev/hda代表第一个主IDE通道上的硬盘,……你现在已经无需知道这些了。因为Ubuntu已经取消了用hd和sd区分不同类型的硬盘的机制,取而代之的,用sda统一代表电脑中的第一块硬盘。
Linux下,/dev/sdaX中的数字X的编号是有限的。在Linux下,最大的分区编号是16。因此,主分区和扩展分区编号占用 1~4,逻辑分区占用5~16。即使你的硬盘中只有一个主分区(如,/dev/sda1)和一个扩展分区(/dev/sda2),剩下的两个主分区编号:/dev/sda3, dev/sda4 也不会分配给逻辑分区。第一个逻辑分区一定是从/dev/sda5开始编号的。这点与Windows下盘符的编制类似。如:A盘一定是3.5英寸软驱,B盘一定是5.25英寸软件,而从C盘开始才是硬盘分区。即使电脑上没有软驱,第一个硬盘分区的编号也是C,而不是A。
3. 引导程序与MBR
引导程序是负责将操作系统的内核从硬盘上加载到内存中的程序。在使用Windows的时候,我们似乎从没有关心过引导程序。不过安装过双Windows系统的读者一定认识Windows的引导程序——即使你从来没有意识到这一点。Windows的引导程序叫做OS Loader,即操作系统加载器,负责在启动的时候根据boot.ini中的配置信息,在屏幕上显示操作系统选择菜单,然后根据用户的选择引导合适的操作系统。
Linux下有两种引导程序:一种叫做Lilo,一种叫做Grub。Lilo是一个非常经典的引导程序。最初因为它不支持引导位于1024柱面后的Linux内核,而被Grub所取代。新版的Lilo已经能够支持引导1024柱面后的Linux内核了。现在,几乎所有的主流发行版都使用Grub作为默认的引导程序。Linux的引导程序与Windows的OS Loader类似。比如,Grub的作用就是负责读取配置文件(menu.lst),显示操作系统的选择菜单,并根据用户的选择引导合适的操作系统。
MBR,又称主引导记录,位于硬盘的第一个柱面的第一个磁道的第一个扇区中。大小为512B,引导程序就位于MBR中。BIOS在开机过程中,会读取并运行MBR中的引导程序,由它来加载操作系统内核。同样位于第一个柱面的第一个磁道的第一个扇区中的还有主分区表。因为主分区表的大小有限,因此只能存下四个分区的信息,这也是一块硬盘只能分为四个主分区的原因。也许你也猜到了,还有一个叫做“扩展分区表”的东东,位于扩展分区的最前面,保存了逻辑分区的信息。
Linux安装时,通常会把Grub安装到MBR。这样,你就可以用Grub同时引导Linux和Windows了。