一、简介
* 在Linux系统中,每个设备都被当成一个文件来对待
二、外设
三、磁盘分区
1、MSDOS (MBR) 分区表
开机管理记录区与磁盘分区表统统放在磁盘的第一个扇区,这个扇区大小一般是512Bytes。
* 主要开机记录区(Master Boot Record, MBR):可以安装开机管理程序的地方,有446 Bytes
* 分区表(partition table):记录整颗硬盘分区的状态,有64 Bytes
由于分区表所在区块仅有64 Bytes容量,因此最多仅能有四组记录区,每组记录区记录了该区段的启始与结束的柱面号码。 若将硬盘以长条形来看,然后将柱面以直条图来看,那么那64 Bytes的记录区段有点像下面的图示:
如果硬盘设备名是/dev/sda 的话,那么四个分区分别为
P1:/dev/sda1
P2:/dev/sda2
P3:/dev/sda3
P4:/dev/sda4
分区的意义是什么呢?
数据安全性:整块磁盘分为四个分区,相互之间不会影响,即使一个损坏,其他盘一样可以正常工作,一个常见的应用场景就是我们在重新安装系统的时候,只需要格式化C盘,其他盘的数据不受影响
读写速度快:数据集中在某一个分区,读写查找磁盘速度较全局查找快,对于磁盘性能有很大提升
如果想要对磁盘进行更多的分区划分怎么办?
磁盘支持扩展分区,可以实现划分多块分区(4块)的功能,如图所示:
即 P+E模式,P:主要分区,E :扩展分区, L:逻辑分区
P1:/dev/sda1
P2:/dev/sda2
L1:/dev/sda5
L2:/dev/sda6
L3:/dev/sda7
L4:/dev/sda8
这种模式是我们经常用的模式,例如我的系统是ubuntu16.04,而我的磁盘分区情况是:
具体分区情况:
可以看出,sda1是主分区P,sda2是扩展分区E,5-9是逻辑分区
MBR 主要分区、延伸分区与逻辑分区的特性我们作个简单的定义啰:
主要分区与延伸分区最多可以有四笔(硬盘的限制)
延伸分区最多只能有一个(操作系统的限制)
逻辑分区是由延伸分区持续切割出来的分区;
能够被格式化后,作为数据存取的分区为主要分区与逻辑分区。延伸分区无法格式化;
逻辑分区的数量依操作系统而不同,在Linux系统中SATA硬盘已经可以突破63个以上的分区限制;
思考题:
1、如果我想将一颗大硬盘“暂时”分区成为四个partitions,同时还有其他的剩余容量可以让我在未来的时候进行规划, 我能不能分区出四个Primary?若不行,那么你建议该如何分区?
2、假如我的PC有两颗SATA硬盘,我想在第二颗硬盘分区出6个可用的分区(可以被格式化来存取数据之用), 那每个分区在Linux系统下的设备文件名为何?且分区类型各为何?至少写出两种不同的分区方式
2、GUID partition table, GPT 磁盘分区表
未完待续。。。
## 参考链接:
[https://www.kernel.org/doc/Documentation/devices.txt](https://www.kernel.org/doc/Documentation/devices.txt)
[https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/20.html](https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/20.html)