1 磁盘分割
在Linux系统中,每个设备都是作为一个文件来对待。
常见的磁盘接口有两种:IDE接口和SATA接口,目前主流的是SATA接口。
对于IDE接口,一个IDE总线可以连接两个IDE设备,通常主机会有两个IDE接口,最多接四个IDE设备。这两个IDE接口被称为IDE1(primary)和IDE2(secondary),每条总线上的IDE设备被区分为Master和Slave。这四个IDE设备的文件名为:
IDE\Jumper | Master | Slave |
IDE1(Primary) | /dev/hda | /dev/hdb |
IDE2(Secondary) | /dev/hdc | /dev/hdd |
对于SATA接口,由于SATA/USB/SCSI等磁盘接口都是使用SCSI模组来驱动的,因此这些接口都磁盘设备文件都是/dev/sd[ap]的格式,这时就要根据Linux内核检测到磁盘等设备的顺序来判断对应的文件名。例如,一台PC上面有两个SATA磁盘以及一个USB磁盘,而主板上有六个SATA的插槽。这两个SATA磁盘分别安装在主板的SATA1,SATA5插槽上,则这三个磁盘在Linux中的设备文件名分别为:/dev/sda; /dev/sdb; /dev/sdc.
磁盘的第一个扇区主要记录了两个重要的信息:
- 主启动记录(Master Boot Record,MBR):可以安装开机管理程序的地方 ,有446bytes。开机的时候,系统会主动去读该区块,以获取系统程序。
- 分区表(partition table):记录整个磁盘分区的状态,有64bytes。
图1.0:磁盘分区表将磁盘按磁柱为单位分为四个区,比如P1区包含磁柱1-100。(文中图均来源自:linux.vbird.org)
图1.0中的分区文件名为:
- P1: /dev/hda1
- P2: /dev/hda2
- P3: /dev/hda3
- P4: /dev/hda4
第一个分区称为主分区,其他分区称为扩展分区。可以再扩展分区的基础上继续分割。
图1.1:主分区表中有两个记录P1和P2,其中P2为扩展分区。扩展分区表中有五个记录,表示扩展分区被进一步分为五个逻辑分区。(在Linux系统中,IDE硬盘最多有59个逻辑分区(5-63),SATA硬盘则有11个逻辑分区(5-15))
图1.1的分区文件名为:
- P1: /dev/hda1
- P2: /dev/hda2
- L1: /dev/hda5
- L2: /dev/hda6
- L3: /dev/hda7
- L4: /dev/hda8
- L5: /dev/hda9
磁盘分区的重要性:一方面可以保证文件的安全性,当系统所在的分区损坏时,其他分区的资料不受影响;另一方法,可以提供系统访问磁盘的效率。
2 开机启动程序
操作系统的开机启动分为以下几步:
1. BIOS:开机主动执行的固件,会识别第一个可启动设备。可以BIOS中设置从硬盘启动或者从其他设备启动;
2. MBR:第一个可启动设备的第一个分区的主要开机记录区,内含开机管理程序;
3. 开机管理程序(boot loader):一个可读取内核文件来执行的程序;
4. 内核文件:开始执行操作系统的功能...
对于安装有多个操作系统的主机,在开机管理程序执行时,可以选择进入哪个系统。如图2.0所示,MBR的开机启动程序提供两个选项:选项一(M1)可以直接进入Windows的核心文件来开机;选项二(M2)则是将开机管理程序的工作交给第二个分区的开机磁区(boot sector)的开机管理程序,然后再加载Linux的内核文件。
图2.0 双操作系统的启动流程
注:如果要安装双系统的话,最好先安装Windows系统。因为如果先安装Linux系统,在随后安装Windows的时候,其安装程序会覆盖掉MBR以及其所在分区的开机磁区,导致MBR的开机管理程序只会有Windows项目。可以通过修改MBR的内容来解决。
3 目录系统
Linux内的所有资料都是以文件的形态呈现的,整个文件系统是一个树形结构,跟目录为”/”。
图3.0 目录树结构
考虑:目录中的文件如何存放在分区?存放在哪个分区?Linux系统通过挂载来实现。挂载即将一个目录(或子目录)与一个磁盘分区相对应。目录中的文件就存放在对应的分区中。
图3.1 目录树与分区的对应
声明:本文参考自http://linux.vbird.org