一、各硬件设备在linux中的文件名
注意:在linux系统中每个设备都被当作一个文件来对待,举例来说,IDE接口的硬盘文件名为/dev/hd[a-d] .
在linux中,几乎所有的硬件设备都在/dev/这个目录内,所以你会看到/dev/hda,/dev/fd0等文件名。
设备 设备在linux中的文件名
IDE硬盘 /dev/hd[a-d]
SCSI/ASTA/USB硬盘 /dev/sd[a-p]
U盘 /dev/sd[a-p]
软驱 /dev/fd[0-1]
二、磁盘分区
1.磁盘组成
主要由盘片、机械手臂、磁头与主轴马达,而数据的写入其实是在盘片上面
图中的一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图践绿色部分)。扇区是磁盘的最小组成单元,通常是512字节。
下图展示了由一个个盘片组成的磁盘立体结构,一个盘片上下两面都是可读写的,图中蓝色部分叫柱面(cylinder)
简简单介绍了磁盘结构后,下面我们将对磁盘的参数进行讲解。磁盘的常见参数如下:
- 磁头(head)
- 磁道(track)
- 柱面(cylinder)
- 扇区(sector)
- 圆盘(platter)
图2中磁盘是一个 3个圆盘6个磁头,7个柱面(每个盘片7个磁道) 的磁盘,图2中每条磁道有12个扇区,所以此磁盘的容量为6*7*12*512字节。
即:
存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数
下面讲一下现代磁盘,在老式磁盘中,尽管磁道周长不同,但每个磁道上的扇区数是相等的,越往圆心扇区弧段越短,但其存储密度越高。不过这种方式显然比较浪费空间,因此现代磁盘则改为等密度结构,这意味着外围磁道上的扇区数量要大于内圈的磁道,寻址方式也改为以扇区为单位的线性寻址。为了兼容老式的3D寻址方式,现代磁盘控制器中都有一个地址翻译器将 3D 寻址参数翻译为线性参数。
扇区:
整块磁盘的第一个扇区特别重要,他记录了主引导分区MBR(Master Boot Record)和分区表
MBR:可以安装引导加载程序的地方,有446Bytes
分区表:记录整块硬盘分区的状态,有446Bytes
2.磁盘分区表硬盘存储的最小单位是扇区(Sector)
分区表只有64个字节,最多只能容纳四个分区,这四个分区被称为i主(Primary)或扩展(Extended)分区。
注意:
-其实所谓的“分区”只是针对那64个字节的分区表进行设置而已
-硬盘默认的分区表仅能写入四组分区信息
-分区的最小单位i为柱面
三、给硬盘创建分区
给新硬盘上建立分区时都要遵循以下的顺序:建立主分区→建立扩展分区→建立逻辑分区→激活主分区→格式化所有分区。
分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了BIOS系统下硬盘主引导记录(即Master Boot Record,一般简称为MBR)和引导记录备份的存放位置。
而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过之后的高级格式化,即Format命令来实现。
硬盘的分区由主分区、扩展分区和逻辑分区组成:主分区(注意扩展分区也是一个主分区)的最大个数是四个,其个数是由硬盘的主引导记录MBR(Master Boot Recorder)决定的,MBR存放启动管理程序(如GRUB)和分区表记录。扩展分区下又可以包含多个逻辑分区 --- 所以主分区范围是从1-4,逻辑分区是从5开始的。
windows和linux支持下面分区结构:
一个主分区+一个扩展区
二个主分区+一个扩展区
三个主分区+一个扩展区
四个独立主分区
主分区:也叫引导分区,最多可能创建4个,当创建四个主分区时候,就无法再创建扩展分区了,当然也就没有逻辑分区了。主分区是独立的,对应磁盘上的第一个分区,“一般”就是C盘。在Windows系统把所有的主分区和逻辑分区都叫做“盘”或者“驱动器”,并且把所有的可存储介质都显示为操作系统的“盘”。因此,从“盘”的概念上无法区分主分区和逻辑分区。并且盘符可以在操作系统中修改,这就是要加上“一般”二字的原因。
扩展分区:除了主分区外,剩余的磁盘空间就是扩展分区了,扩展分区是一个概念,实际上是看不到的。当整个硬盘分为一个主分区的时候,就没有了扩展分区。
逻辑分区:在扩展分区上面,可以创建多个逻辑分区。逻辑分区相当于一块存储截止,和操作系统还有别的逻辑分区、主分区没有什么关系,是“独立的”。
活动分区:就是当前活动的、操作系统可以启动的分区。
格式化是针对主分区和逻辑分区的。要格式化是因为这和操作系统管理文件系统有关系。没有格式化的分区就像一张白纸,要写入数据,必须对白纸打上“格子”,每个格子里面写一块。而操作系统只认这些格子。
四、开机流程与主引导分区(MBR)
COMS:记录各项硬件参数且嵌入在主板上面的存储器
BIOS:是一个写入到主板上的一个韧体(就是写入到硬件上的一个软件程序)。
这个BIOS就是在开机时计算机系统会主动执行的第一个程序了。
接下来BIOS会分析计算机里面有哪些存储设备,我们以硬盘为例,BIOS会依据用户的设置去取得能开机的硬盘,并到该硬盘里面去读取第一个扇区的MBR位置,MBR这个仅有446Bytes的硬盘容量里面会放置最基本的引导加载程序,此时BIOS就把他的工作做完了。
接下来时MBR内的引导加载程序的工作了。
这个引导加载程序的目的是在加载内核文件,由于引导加载程序时操作系统在安装的时候所提供的,所以他会识别硬盘内的文件系统格式,因此就能读取内核文件,然后接下来就是内核文件的工作,引导加载程序也工成圆满了。
综上所述,整个开机流程如下:
1.BIOS:开机主动执行韧体,会认识第一个可开机的设备
2.MBR:第一个可开机设备的第一个扇区内的主引导分区块,内包含引导加载程序
3.引导加载程序:一直可读取内核文件来执行的软件
4.内核文件:开始操作系统的功能
1.提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能
2.载入内核文件:只戒指向可开机的的程序区段来开始操作系统
3.转交给其他loader:将引导加载功能转角给其他loader负责
引导程序除了可以安装在MBR之外,还可以安装在每个分区的引导扇区,这个特点支持了多重引导的功能
实际可开机的内核文件时放置到个分区内的