第三章 磁盘分区与开机
一、命名简介
1、硬盘设备在Linux中的文件名(至于别的,或者百度,或者看私房菜67页)
在Linux系统中,每个设备都被当作一个文件来对待,几乎所有的硬件设备文件都在/dev这个目录内。下面给出IDE与SATA以及U盘的命名:
IDE硬盘 | /dev/hd[a-d] | 因为一般只有2×2个口 |
SCSI/SATA/USB硬盘 | /dev/sd[a-p] | 因为可以接入很多个设备 |
U盘 | /dev/sd[a-p] | 与上同,命名与上为一个系列 |
注释:[a-p]代表sd后面可以跟任何一个中括号里面的字母,例如下文提到的hda等,每种设备对应的文件的命名都有规则,但是也有不同之处,下文会简单涉及到。
2、IDE模式下的命名
目前的主流口是SATA,但是知道IDE的命名规则也不是一件坏事,那么直入主题了。
一个IDE扁平电缆可以连接两个IDE设备(就当做有两个口吧),而通常主机又都会有两个IDE接口,这样就有4个口。这两个IDE接口通常称为IDE1(primary)和IDE2(secondary),而每个扁平电缆的那个两个小口可以被区分为主设备(Master)与从设备(Slave奴隶的意思),对应的Linux文件名为:
IDE\Jumper | Master | Slave |
IDE1(primary) | /dev/hda | /dev/hdb |
IDE2(secondary) | /dev/hdc | /dev/hdd |
注释:IDE插口的硬盘命名是固定的,插在哪个口是就叫什么,注意与SATA的区别。
3、SATA模式下的命名
SCSI/SATA/USB硬盘都是用SCSI模块驱动的,命名没有一定的顺序,是按照系统启动或者运行时的检测顺序命名的。
二、磁盘分区表
硬盘有446bytes的主引导分区和64bytes的分区表,分区表里只有四个记录区,那么他是怎么容纳多个分区的呢?例如windows下可以有十几个分区。
具体看私房菜69页,我这只是写一下自己的理解。
首先分区分为里主(primary)分区与扩展(extended)分区,其中,主分区至少有1个,至多有4个,扩展分区可以包含主分区外剩下的所有容量,也可以不包含所有,剩下的则会被浪费。
扩展分区可以继续被划分,就需要一个扩展分区表(百度百科:扩展分区),表放在一个系统ID为0x05的主分区上,这个主分区就是扩展分区,扩展分区可以分若干个分区,则分成了若干个逻辑分区,综上:扩展分区被划分为了逻辑分区。
至于命名,一句话:第一块硬盘分区为had分区,那么主分区,扩展分区(在分区表中的)为hda1~hda4(无论使用或者没有使用),逻辑分区(扩展分区下的)从hda5开始。
三、开机流程
1、启动韧体BIOS,这是计算机主动运行的所谓的程序;
2、BIOS会根据用户的设置去取得能够开机的硬盘,并且读取MBR,里面包含一个很小的引导加载程序~~MBR本来就很小;
3、引导加载程序启动,它可以提供菜单设置开机选项的;而且也负责多重引导。他可以找到我们装在其他引导扇区的引导加载程序,用以启动某个系统。(P73)
4、加载内核,内核工作,启动系统
参考:
1、《鸟哥的Linux私房菜》第三章
2、http://baike.baidu.com/link?url=KZymzeYvLmHZA3_ZXGaTn1_3pWtUFCNT0dlzaVd23MB5Z3IXnap53VjxMi2YSWGP 百度百科-扩展分区