Linux磁盘、分区 基本概念
声明:本笔记内容为笔者自己整理.数年之前在"Linuxcast"学习Linux,当时记录了一份纸质版笔记,现在有意将其整理成电子版,供自己日后查阅以及分享.感谢Linuxcast,感谢苏勇(nash_su)老师!磁盘基本概念磁盘结构:更详细的结构介绍参考其他资料。磁盘在Linux中的表示Linux所有设备被抽象成一个文件,保存在/dev目录下。设备名称一般为hd
声明:本笔记内容为笔者自己整理.
数年之前在"Linuxcast"学习Linux,当时记录了一份纸质版笔记,现在有意将其整理成电子版,供自己日后查阅以及分享.
感谢Linuxcast,感谢苏勇(nash_su)老师!
磁盘基本概念
磁盘结构:
磁盘在Linux中的表示
- Linux所有设备被抽象成一个文件,保存在/dev目录下。
- 设备名称一般为hd[a-z]或者是sd[a-z]([a-z]为分区号)。如:hda、hdb、sda、sdb。
- IDE设备的名称为hd[a-z],SATA、SCSI、SAS、USB等设备的名称为sd[a-z]。
分区概念
将一个磁盘逻辑的分为几个区,每个区当做独立硬盘,以方便使用管理。
Windows下将硬盘分区为“C盘、D盘、E盘……”。
而Linux下,不同分区用:设备名称+分区号
方式表示,如sda1
、sda2
。
上图中,我们假设计算机拥有一块硬盘,那么它的第一个分区就标识为sda1
,它的第二个分区就标识为sda2
,依次类推。
如果有其他的硬盘,那么第二块硬盘的第一个分区就标识为sdb1
,第二个分区就标识为sdb2
,以此类推。
示例:
首先输入
cd /dev/
,进入Dev目录下。
然后输入ls /dev/sda*
,查看以“sda”开头的文件,发现有四个,“sda”是第一块硬盘本身,“sda1”是第一块硬盘的第一个分区,“sda2”是第二个分区,“sda3”是第三个分区。
然后输入ls /dev/sd*
,查看以“sd”开头的文件,因为计算机上只有一个硬盘,所以结果与上面的相同。
分区并不是硬盘的物理功能,只是一种软件上的划分。
主流的分区机制分为MBR和GPT两种。
MBR
MBR(master boot record)是传统的分区机制,应用于绝对大多数使用BIOS的PC设备。
- MBR支持32bit和64bit系统
- MBR支持的分区数量有限
- MBR只支持不超过2TB的硬盘,超过2T的硬盘将只能使用2T的空间(有第三方解决方法)
MBR结构
如上图所示,MBR结构总共占用了磁盘的头512个字节,这512个字节分为几个部分:
- 前446个字节是引导代码,引导代码就是帮助我们启动硬盘上安装的系统的,不同系统的引导代码不同。
- 接下来的四组16个字节,也就是64个字节,是我们的分区表。
- 剩下的2个字节,是启动标识。所有可引导的设备,头512字节的最后两个字节,一定是
55AA
。55AA
是一个永久性的标志,代表硬盘是可以启动的。即便你的系统是完好无损的,如果这个启动标识被修改了的话,BIOS也是不会引导的。
MBR分区
- 主分区:最多只能创建4个分区。
- 扩展分区:一个扩展分区会占用一个主分区的位置。
- 逻辑分区:Linux最多支持63个IDE分区和15个SCSI分区。
我们从上面的MBR结构可以看到,MBR的分区表只有四个条目,所以只能创建四个主分区。如果想要创建更多的分区,我们必须使用扩展分区和逻辑分区。扩展分区会占用一个主分区的位置,而逻辑分区是基于扩展分区建立的。而且扩展分区本身是不可使用的,必须在扩展分区上建立逻辑分区才能使用。
如上图所示,我们将硬盘sda划分三个主分区sda1、sda2、sda3,将剩下的空间划分为一个扩展分区sda4,这个扩展分区本身是不可使用的,必须在这个扩展分区上建立逻辑分区,分别建立四个逻辑分区sda5、sda6、sda7、sda8。
GPT
GPT(GUID Partition Table)是一个较新的分区机制,解决了MBR的很多缺点。
- 支持超过2T的硬盘
- 向后兼容MBR
- 必须在支持UEFI的硬件上才能使用
- 必须使用64bit的系统
- Mac、Linux系统都能支持GPT分区格式
- Windows部分系统支持GPT。
因为MBR的寻址空间只有32位长,所以只能支持2T的硬盘空间。而GPT的寻址空间有64位,所以支持超过2T的磁盘,而且超过非常多,非常非常的多,GPT的存储单位是ZB,对于我们现在来讲,完全可以理解是无限大。
UEFI是取代BIOS的新一代的引导系统,全称“统一的可扩展固件接口”(Unified Extensible Firmware Interface)。硬件(通常是主板)必须支持UEFI才能使用GPT分区。
Mac和Linux原生支持GPT分区,而且Mac以MBR分区反而会变得不可使用。而Windows部分系统支持GPT。现在的服务器动辄以数十TB甚至更多的磁盘空间,如果部署Windows系统的话,在底层硬件层面上就限制住了。
GPT分区具体的细节,将在后面的文章呈现。
That’s all.
环境:
软件版本:VirtualBox 4.3.12 r93733
Linux系统版本:CentOS 7 ×86_64 1511
如有纰漏,望不吝指出,不胜感激。
更多推荐
所有评论(0)