1.各个硬件设备在Linux中的文件名
注意:各个组件或设备在Linux下面都是一个文件。这个观念是不同Windows操作系统的
常见的设备在Linux中的文件名如下:
注意:在Linux系统中,几乎所有的硬件设备文件都在 /dev 这个目录下
/dev/hd[a-d]中的[a-d]表述可以取a,b,c,d 即/dev/hda、/dev/hdb、/dev/hdc、/dev/hdd
在磁带机中,不同的distribution当中文件名可能不同。
SCSI硬盘:SCSI硬盘是采用SCSI接口的硬盘,SCSI是Small Computer System Interface(小型计算机系统接口)的缩写,使用50针接口,外观和普通硬盘接口有些相似。SCSI硬盘和普通IDE硬盘相比有很多优点:接口速度快,并且由于主要用于服务器,因此硬盘本身的性能也比较高,硬盘转速快,缓存容量大,CPU占用率低,扩展性远优于IDE硬盘,并且支持热插拔。
2.磁盘分区
(1)磁盘连接方式与设备文件名的关系
常见的磁盘接口:IDE(旧), SATA(新)
>>IDE设备
我们将可连接到IDE接口的设备称为IDE设备,不管是磁盘还是光盘设备。
一个主机通常提供两个IDE接口(IDE1, IDE2),而每个IDE扁平电缆可以连接两个IDE设备(Master, Slave),因此一个主机最多可以连接4个IDE设备
主机
┃
IDE1(Primary)
┃
Master:/dev/hda
Slave:/dev/hdb
IDE2(Secondary)
┃
Master:/dev/hdc
Slave:/dev/hdd
>>SATA接口
SATA/SCSI/USB等磁盘接口都是使用SCSI模块来驱动的,因此这些接口的磁盘设备文件名称都是/dev/sd[a-p]
与IDE接口不同,该接口的磁盘没有固定顺序,是以Linux内核检测到的磁盘的顺序来命名的。
例如:PC上连接了两个SATA磁盘,以及一个USB磁盘,主板上有6个SATA插槽,这两个SATA安插在SATA1,SATA5
的插槽上,那么这单个磁盘的名称如何?
SATA1插槽的上的文件名:/dev/sda
SATA5插槽的上的文件名:/dev/sdb
USB磁盘(开机完成后才能被系统识别)文件名:/dev/sdc
(2)磁盘组成
磁盘的物理组成:
盘片
机械手臂
磁头(head)
主轴马达
磁盘的第一个扇区最重要,里面记录了两个信息:
┃
主引导分区(Master Boot Record, MBR):可以安装引导加载程序的地方,有446bytes。系统在开机时要读取该区块的内容,这样系统才会知道你的程序放在哪里且如何开机
分区表(partirion table):记录整个磁盘分区的状态,有64bytes。只有将磁盘分区了,才能更有效的利用它
注意:如果一个硬盘的第一个扇区物理损坏了,这个硬盘基本也就报废了。因为系统会找不到分区
表,从而就知道如何读取柱面区间了。
(3)磁盘分区表
64bytes分区表,假如该硬盘设备的文件名为 /dev/hda
P1: 1~100 文件名:/dev/hda1
P2: 101~200 文件名:/dev/hda2
P3:201~300 文件名:/dev/hda3
P4:301~400 文件名:/dev/hda4
分区表只有64bytes而已,最多只能容纳4个分区,
注意:
1.所谓的分区只是针对64bytes的分区表进行设置而已
2.磁盘默认的分区表仅能写入四组分区信息?
这是因为早期的硬盘一个分区大小划分为16bytes,而分区表只有64bytes大小
3.分区的最小单位是柱面(Cylinder)
4.这四组分区信息我们称为主或扩展分区( 分法如4P、3P+1E )
为啥要分区?
1.数据的安全性:操作这个分区的数据并不会影响另一个分区的数据
2.系统的性能考虑:由于分区了,所以,每次在某一个分区查找数据时,只需在固定
柱面区查找,这样就缩小范围,可以达到数据读取的速度与性能。
逻辑分区
尽管整个磁盘只能分区为4块,但是其扩展分区可以使用额外的扇区来记录分区的信息,
从而使扩展分区被分割为若干个分区,称为逻辑分区
是在扩展分区的区块内使用额外的扇区来记录分区的信息,扩展分区本身并不能被
拿来格式化?(直接使用的意思吗?因为格式后才能被访问、使用)
该逻辑分区在Linux系统中的设备的文件名:
P1, /dev/hda1
P2, /dev/hda2
P3和P4记录为空,其文件名保留。
L1, /dev/hda5, 注意:逻辑分区是从 5 开始了,因为前面的四个号码都是给主、扩展分区保留的
L2, /dev/hda6
L3, /dev/hda7
L4, /dev/hda8
L5, /dev/hda9
L6, /dev/hda10
L7, /dev/hda11
注意:
1)逻辑分区的设备名称号码是从5号开始的,
2)主分区和扩展分区最多可以只有4个(硬盘的限制, 上面的划分只有2个,主、扩展分区各一个)
3)扩展分区最多只能有1个(操作系统的限制,如3P和1E、4P)
4)逻辑分区是有扩展分区持续切割出来的分区
5)能被格式化后作为数据访问的分区为主分区与逻辑分区。扩展分区无法格式化
6)逻辑分区的数量与操作系统有关,在Linux中,IDE硬盘最多分为59个逻辑分区(5-63号)SATA硬盘则只能有11个逻辑分区(5-15号)
(4)开机流程与主引导分区(MBR)
计算机是一堆硬件组成,需要操作系统(本质仍是软件)来合理的分配这些硬件资源。那么问题是,在计算计刚开机的
那一刻是如何认识这个操作系统并执行它的?
这就要涉及到计算计的开机程序了。
BIOS(写入到主板上的一个韧体,即写入到硬件上的一个软件)
CMOS(是记录各项硬件参数且嵌入在主板上面的存储器)
开机到操作系统之前的动作过程:
1.BIOS:开机主动执行的韧体,会引导到第一个可开机的设备(如硬盘、光盘、U盘等)的第一个扇区的MBR位置
2.MBR:第一个可开机设备的第一个扇区内的主引导分区块、内包含引导加载程序
3.引导加载程序(Boot loader):一支可读取内核文件来执行的软件。
具体需要执行的任务:
(1)提供菜单:用户可以选择不同的开机选项(如多个系统),这是多重引导的重要功能
(2)载入内核文件:直接指向可开机的程序段来开始操作系统
(3)转交其他loader:将引导加载功能转交给其他loader负责。(例如装了双系统)
4.内核文件:开始操作系统的功能
注意:
1)BIOS和MBR是硬件本身要支持的功能
2)Boot loader 是操作系统安装在MBR上的一套软件,由于MBR仅有446bytes,因此这个引导加载程序是非常小和完美的
3)每个分区都有自己的启动扇区(boot sector)
4)实际可开机的内核文件(不同的操作系统)是放置到各个分区内的
5)引导加载程序只会认识自己系统分区的可开机内核文件和其他的loader而已,因此,loader可直接指向或间接将管理权转交给另一个管理程序
(5)Linux安装模式下,磁盘分区的选择
>>目录结构(directory tree)
Linux内的所有数据都是已文件的形态来呈现的,所以,目录结构对于Linux是很重的。整个目录体系的根目录是:/(所有的文件都是由根目录衍生来的,如/home/dmtsai/mydata)
>>文件系统与目录树的关系(挂载)
根据目录树去磁盘内取真正的数据,这个时候就牵扯到挂载的问题
"挂载":就是利用一个目录当成进入点(称为挂载点),将磁盘分区的数据放在该目录下。换言之,进入该目录就可以读取该分区的数据
从挂载的含义来看,根目录则是一定要挂载到某一个分区的。至于其他的目录则可以依用户自己的需求来选择挂载到不同的分区
例如:计算计读取光盘的数据,在Linux系统下,一般是将光驱的数据放置在/media/cdrom里的,那么此时光盘里的文件:/media/cdrom/具体文件
如果将光驱挂载到/mnt目录时,则光盘的文件变为:/mnt/具体文件
3.安装Linux前的规划
(1)选择适当的distribution
选择CentOS这个distribution版本开始
官网:http://mirror.centos.org/centos/5/isos/
.iso为扩展名的文件就是所谓的image文件(镜像文件)
(2)主机硬盘的分区
最简单的分区:仅分出根目录(/)和内存交换空间(swap)
坏轨的出现,容易造成根目录损毁
稍微复杂的分法:分析主机的用途,将使用(如读取)频繁的目录单独分离出来,不要与根目录放置在同一个分区(这样做的原因:因为使用频繁的目录,容易造成其所在的分区物理损坏,如果根目录也放在这里那将使根目录下的其他数据也一起完蛋)
例如下面的目录分法:
/
/usr
/home
/var
Swap
注意:新手经常会发现找不到某些命令,这是因为在你的系统里没有安装相应的软件。