本章的主要内容是关于磁盘分区的硬件知识,其中涉及了许多我在自己进行装机时所遇到的问题
有兴趣的朋友,可以去看看我之前那篇装系统的博客,传送门
强调一个很重要的观念:在Linux系统中,一切皆文件,包括硬件设备也是文件
举个栗子:
IDE硬盘 /dev/ha[a-d]
SATA硬盘 /dev/sa[a-p]
U盘 /sdv/sa[a-p]
一切的设备,文件,只要是计算机的内容都被系统视为文件!
磁盘分区的问题:
磁盘的连接方式与设备文件名关系:
比如有两个IDE接口,则应名为 hda,hdb,又因为存在主设备与从设备,即(Master)(Slave),如下表:
IDE | Master | Slave |
---|---|---|
IDE1 | /dev/hda | /dev/hdb |
IDE2 | /dev/hdc | /dev/hdd |
从上表即可看出规律:首先对于设备优先命名,主设备在前,从设备在后,之后命名新设备
对于SATA接口的硬盘来说,先接先识别的设备先进行命名,例如USB设备,基本都是最后才能进行命名。
- 磁盘的知识
关于磁盘结构的知识,参考 <计算机科学导论> 进行理解。
每块磁盘,最重要的第一个扇区,记录了两个重要信息:主引导分区,分区表
比如:我的磁盘有两块,一块118GB的SSD,还有一块460GB的机械盘。至于C:D:E:这些都是后来的磁盘分区。
主引导分区:MBR 安装引导加载程序的地方,即开机引导程序,我在安装系统时遗漏掉的东西。
分区表:存储磁盘分区信息的状态的东西,类似于malloc二维数组时的第一步工作。
关于磁盘分区的重要信息:
每次进行所谓“分区”操作时都是对64Byte的分区信息表进行操作。
磁盘默认的分区表只能有四组磁盘信息。(硬件问题)
四组磁盘分区,只能是主分区 + 扩展分区,且扩展分区最多只能有一个(操作系统的原因)
即,可以是P+P+P+P(这样做,要是不把空间用完,则会造成空间浪费),P+P+P+E的形式。
- 分区的最小单位是柱面。
使用磁盘分区表的必要性:
处于安全性能的考虑
对系统性能的考虑。
新概念:逻辑分区
那么,要是四个分区不够用,别人还有10几个分区是怎么做到的呢?
牵扯到逻辑分区的概念。
对扩展分区,进行再分区,即为扩展分区
对于IDE 硬盘可分到59号,SATA只能分到11号
而且,关键是,逻辑分区是基于扩展分区所分出来的,所以/dev/sd[?]的编号从5号开始
而且,主分区与逻辑分区可以格式化,扩展分区无法格式化。对于同为主分区,或同为逻辑分区可以合并
相对的,对于不同的分区是不能进行合并分区的!
- 介绍开机的流程
所谓开机,那么在还没有操作系统的时候,操作系统这个软件是怎么被识别的呢?
牵扯到BIOS与CMOS
CMOS中写入的是硬件的参数和嵌入主板上的存储器。
而BIOS则是,开机时所执行的第一个程序,会根据用户的设置
去寻找所能进行开机的硬盘,并且读取这个硬盘里的MBR程序,即开机引导程序,从而开机
而在这个MBR中存储的就是Boot Loader,可以加载内核文件的东西,从而实现开机。
Linux安装时,对磁盘的分区
介绍概念:
1.目录树概念
在linux的系统中,有着“一切皆是文件”的思想。
而在系统中有着目录树的结构,以此来管理着整个系统,
其中,举以下例子来描述目录树:
/ 根目录,一般存储目录用
/home 家目录,一般存储用户数据
/usr 一般存储软件
/etc 一般存储配置文件
就像以上所举的例子一样,目录树结构即可理解为,像树一样的目录,
一级一级延续下来。
比如文件的路径为:/home/etc/.vimrc即可
2.挂载
既然上面提到了Linux系统中是抽象为文件,目录树的概念,
然而,众所周知,数据是存在磁盘中的,那么这两者是如何联系起来的呢?
这就要牵扯到”挂载“的概念了。
所谓,挂载,意即,进入目录树系统的一个入口,即将某一个目录作为进入口。
挂,即是将磁盘挂在某一个目录下。
不同于Win系统下,
在Linux系统下,磁盘挂载在哪里,其路径即在哪里,而在Win中,无论在哪里,都会有固定的盘符。会有固定的代号,而在Linux下是自由的。
寻找挂载点方法:反向追踪,寻找最早出现的目录,即为此磁盘的挂载点。
了解了以上两个概念后,就来谈谈怎么进行磁盘分区了。
对于,初次安装的同学建议是,只分出/,/home即可。
其他的分区,暂不建议接触,出现差错,则会导致安装失败。
/usr 应用程序存放的地方,万一分配不足,就GG
/boot 引导加载程序的地方
swap 交换空间(物理内存中不常用的数据,会分配到硬盘内存中)
之后的内容为:鸟哥进行服务器主机构建的内容,暂且不表。
June 3, 2017 3:32 AM