1,各硬件装置在Linux中的文件名

         在Linux系统中,每个装置都被当成一个档案来对待 

wKioL1YvnGGDeIXMAAGWwVPTP9I343.jpg

wKiom1YvnHzCajFEAAA7De_W_zY656.jpg

   在Linux这个系统当中,几乎所有的硬件装置档案都在 /dev这个目录内


2,磁盘分区

   磁盘连接的方式与装置文件名的关系:

     个人计算机常见的磁盘接口有两种, 分别是IDE(并口,又叫ATA接口宽,针脚多)

                               与SATA接口(窗口,接口窄,针脚少) 

     由于一个IDE扁平电缆可以连接两个IDE装置,又通常主机都会提供两个IDE接口,因此最多可以接到四个IDE装置

     两个IDE接口通常被称为IDE1(primary)及IDE2(secondary), 而每条 扁平电缆上面的IDE装置可以被区分为Master(主人)与Slave(奴隶)

     wKiom1YvoIbjIpiaAACYW0WG-O8315.jpg

   




SATA/USB接口的磁盘根本就没有一定的顺序 决定他的装置文件名根据Linux核心侦测到磁盘的顺序

   例题:如果你的PC上面有两个SATA磁盘以及一个USB磁盘,而主板上面有六个SATA的插 槽。这两个SATA磁盘分别安插在主板上的SATA1, SATA5插槽上,请问这三个磁盘在Linux中的装置文件名为何?      答: 由于是使用侦测到的顺序来决定装置文件名,并非与实际插槽代号有关,因此装置的文件 名如下:  

        1. SATA1插槽上的檔名:/dev/sda

        2. SATA5插槽上的檔名:/dev/sdb 

        3. USB磁盘(开机完成后才被系统捉到):/dev/sdc 

   

3,磁盘的组成复习 :

  磁盘的组成主要有磁盘盘、机械手臂、磁盘读取头与主轴马达所组成,磁盘盘上面又可细分出扇区(Sector)与磁柱(Cylinder)两种单位,其中扇区每个为512bytes那么大

   整颗磁盘的第一个扇区特别的重要,因为他记录了整颗磁盘的重要信息!

  磁盘的第一个扇区主要记录了两个重要的信息:

    x主要启动记录区(Master Boot Record, MBR):可以安装开机管理程序的地方,有446 bytes 

  •   x分割表(partition table):记录整颗硬盘分割的状态,有64 bytes   

   MBR是很重要的,因为当系统在开机的时候会主动去读取这个区块的内容,这样系统才会知道你的程序放在哪里且该如何进行开机


4,磁盘分区表(partition table):

  开始与结束磁柱是文件系统的最小单位,也就是分割槽的最小单位

  我们就是利用参考对照磁柱号码的方式来处理的

  分割表所在的64 bytes容量中,总共分为四组记录区,每组记录区记录了该区段的启始与结束的磁柱 号码


  硬盘以长条形来看,然后将磁柱以柱 形图来看,那么那64 bytes的记录区段有点像底下的图

wKiom1YvrOWhWElOAAE247z1uSE455.jpg 


 假设上面的硬盘装置文件名为/dev/hda时,那么这四个分割槽在Linux系统中的装置文件名如下所示,重点在于档名后面会再接一个数字,这个数字与该分割槽所在的位置有关

      x P1:/dev/hda1 (在P1区该硬盘装置文件名称)(在P1区装置文件名称就叫/dev/hda1)

      x P2:/dev/hda2 

      x P3:/dev/hda3 

      x P4:/dev/hda4 


   四个分割的记录被称为主要 (Primary)或延伸(Extended)分割槽

    

   x 其实所谓的『分割』只是针对那个64 bytes的分割表进行设定而已!

   x 硬盘默认的分割表仅能写入四组分割信息 

   x 这四组分割信息我们称为主要(Primary)或延伸(Extended)分割槽

   x 分割槽的最小单位为磁柱(cylinder) 

   x 当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分割槽进行数据的处理 



  

   wKiom1YvrgbSHgq5AAGs_3mXXBU138.jpg

  

                     P1为主要分割,而P2则为延伸分割

   上图右下方那个区块有继续分割出五个分割槽, 这五个由延伸分割继续切出来的分割槽,就被称为 逻辑分割槽(logical partition)

   

同样的,上述的分割槽在Linux系统中的装置文件名分别如下: 

x P1:/dev/hda1 

x P2:/dev/hda2 

x L1:/dev/hda5

x L2:/dev/hda6 

x L3:/dev/hda7 

x L4:/dev/hda8 

x L5:/dev/hda9 

因为前面四个号码都是保留给Primary 或Extended用的!所以逻辑分割槽的装置名称号码就由5号开始了


主要分割、延伸分割与逻辑分割的特性作个简单的定义: 

x 主要分割与延伸分割最多可以有四笔(硬盘的限制) 

x 延伸分割最多只能有一个(操作系统的限制)

x 逻辑分割是由延伸分割持续切割出来的分割槽; 

x 能够被格式化后,作为数据存取的分割槽为主要分割与逻辑分割。延伸分割无法格式化;

x 逻辑分割的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分割(5号到 63号), SATA硬盘则有11个逻辑分割(5号到15号)。 


4,开机流程与主要启动记录区(MBR):

    CMOS是记录各项硬件参数且嵌入在主板上面的储存器

    BIOS则是一个写入到主板上的一个韧体


 整个开机流程到操作系统之前的动作应该是这样的:

   1. BIOS:开机主动执行的韧体,会认识第一个可开机的装置;

   2. MBR:第一个可开机装置的第一个扇区内的主要启动记录区块,内含开机管理程序;

   3. 开机管理程序(boot loader):一支可读取核心档案来执行的软件; 

   4. 核心档案:开始操作系统的功能... 


 boot loader的主要任务有底下这些项目: 

   x 提供选单:用户可以选择不同的开机项目,这也是多重引导的重要功能! 

   x 载入核心档案:直接指向可开机的程序区段来开始操作系统;

   x 转交其他loader:将开机管理功能转交给其他loader负责。 

   第三点表示你的计算机系统里面可能具有两个以上的开机管理程序,虽然我们的硬盘只有一个MBR而已,但是开机管理程序除了可以安 装在MBR之外,还可以安装在每个分割槽的启动扇区(boot sector)这个特色才能造就『多重引导』的功能


  x 每个分割槽都拥有自己的启动扇区(boot sector)

   x 实际可开机的核心档案是放置到各分割槽内的! 

   x loader只会认识自己的系统槽内的可开机核心档案,以及其他loader而已; 

   x loader可直接指向或者是间接将管理权转交给另一个管理程序。 

 

 为什么人家常常说:『如果要安装多重引导, 最好先安装Windows再安装 Linux』呢?

 这是因为: 

  x Linux在安装的时候,你可以选择将开机管理程序安装在MBR或各别分割槽的启动扇区, 而且 Linux 的loader可以手动设定选单(就是上图的M1, M2...),所以你可以在Linux的boot loader里面加入 Windows开机的选项; 

  x Windows在安装的时候,他的安装程序会主动的覆盖掉MBR以及自己所在分割槽的启动扇 区,你没有选择的机会, 而且他没有让我们自己选择选单的功能。 

  


5,Linux安装模式下, 磁盘分区的选择(极重要) :

  x 目录树结构(directory tree):

    所谓的目录树架构(directory tree)就是以根目录为主,然后向下呈现分支状 的目录结构的一种档案架构 

    所以,整个目录树架构最重要的就是那个根目录(root directory),这个 根目录的表示方法为一条斜线『/』, 所有的档案都与目录树有关

    wKioL1Yvtq6xJvnfAACvix9hC-s481.jpg

             所有的档案都是由根目录(/)衍生来的

            上图中长方形为目录, 波浪形则为档案

    mydata那个档案时,系统就得由根目录开始找,所以最终的档名为:/home/dmtsai/mydata


   x 文件系统与目录树的关系(挂载):

     所谓的『挂载』就是利用一个目录当成进入点,将磁盘分区槽的数据放置在该目录下

     也就是说,进 入该目录就可以读取该分割槽的意思。这个动作我们称为『挂载』

     那个进入点的目录我们称为『挂载点』

     由于整个Linux系统最重要的是根目录,因此根目录一定需要挂载到某个分割槽的。