首页 > 代码库 > Linux磁盘及文件系统管理

Linux磁盘及文件系统管理

1.硬盘的分区

在LINUX中我们知道一个很重要的概念,那就是"一切皆文件",这里的一切表示所有在LINUX系统的对象,自然也包括了LINUX中的硬盘设备。在LINUX中所有设备都被抽象成一个文件,保存在/dev目录下。

LINUX系统中硬盘设备名称一般为hd[a-z]或sd[a-z](a-z为分区号),如hda,hdb,sda,sdb

 

那么这种不同的设备名有什么区别?
在LINUX中IDE设备都会被抽象成hd[a-z]名称的文件,STAT、SCSI、SAS、USB等设备都会被抽象成sd[a-z]名称的文件。
备注:IDE是数据传输方式,即并行。并行就像高速公路的多个车道,串行就是多人排对过独门桥。
IDE设备在电脑中主要是并口硬盘和光驱,现在全被串口代替,即ATA硬盘,串口的用SATA来表示。并口硬盘读写速度约80M每秒最大,而串口已达到150多M每秒。

例如:我们系统中现在有一块硬盘,那么在LINUX中的抽象文件为/dev/sda    增加一块硬盘就为抽象成文件/dev/sdb

当然在系统中我们看到/dev/sda或/dev/sdb现在还是不能用的,这块硬盘就一个裸设备,还需要分区,这就像我们普通windows上一块硬盘上分为c盘,d盘一样 ,硬盘的分区其本质就是给硬盘安装文件系统。将硬盘分为几个区后,每个区都可以当作独立磁盘,方便我们使用管理。在本文中我们也会介绍分区的方法。

分区命名的规则:设备名称+分区号,如sda1、sda2等。

技术分享

2.硬盘的分区机制

目前主流的分区机制分为MBR和GPT两种

所谓MBR就是main boot loader(主引导记录),这种分区方式在硬盘前面有一个分区表,分区表大小为64字节,其中每16字节可以定义一个分区, 所以MBR分区表最多有4个分区。

但是电脑的硬盘大小是在飞速增长的,4个分区显然不能满足使用的需求了,所以就有了MBR分区表的多分区方案——逻辑驱动器(逻辑分区)。 提起逻辑分区就不得不说一下MBR分区下分区的类型。在MBR格式的分区下分区有两种,主分区和扩展分区。 主分区可以直接在我的电脑中访问而扩展分区必须分成若干个逻辑驱动器,逻辑驱动器是可以直接在电脑中访问的。 由于MBR分区表对分区数的限制,最多分4个主分区或者3个主分区+一个扩展分区。

MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS(基本输入输出系统)引导的PC设备(苹果使用EFI的方式); 很多Server服务器即支持BIOS也支持EFI的引导方式

MBR分区的特点:

<1>MBR支持32bit和64bit系统;

<2>MBR支持的分区数量有限制;

<3>MBR支持的分区数量有限制;

<4>MBR只支持不超过2TB的硬盘,超过2TB的硬盘只能使用2TB的空间(有第三方解决方法)

技术分享


如上图MBR一共占用硬盘最开头的512字节,其中前446字节为:引导代码(Bootstrap Code Area)(引导不同的操作系统;不同操作系统,引导代码是不一样的),接下来的为4个16字节:分别对应4个主分区表信息(Primary Partition Table),最后2个字节:为启动标示(Boot Signature),永远都是55和AA;55和AA是个永久性的标示,代表这个硬盘是可启动的。

 

使用MBR分区机制的硬盘分区分为:主分区、扩展分区、逻辑分区

主分区:一块硬盘最多只能创建4个主分区(因为在MBR分区表结构中最多可以创建4个主分区表信息,也就是4个16字节的空间,如上图)

扩展分区:一个扩展分区会占用一个主分区的位置(因为在MBR分区表结构中最多可以创建4个主分区表信息,所以拿出来一个主分区作为扩展分区)

逻辑分区:

<1>是基于扩展分区创建出来的,先有扩展分区,然后在扩展分区的基础上再创建逻辑分区;也就是说我们要使用逻辑分区,必须先要创建扩展分区;

<2>扩展分区的空间是不能被直接使用的,我们必须在扩展分区的基础上去建立逻辑分区,才能够被使用;

<3>Linux最多支持63个IDE分区和15个SCSI分区

PEL:Primary Partition;Extended Partition;Logical Partition

技术分享

-------------------------
所谓GPT就是guid partition table(全局分区标识符),是一个较新的分区机制,解决了MBR的很多缺点。
GRP分区的特点:
<1>支持超过2TB的磁盘:GPT有64bit寻址空间;而MBR对硬盘空间地址寻址最多只支持32bit,2的32次方,硬盘空间是以地址方式来被识别的,所以MBR只支持容量为2TB以内的磁盘
<2>向后兼容MBR
<3>但是底层硬件必须支持UEFI(Intel提出的取代BIOS的新一代的引导系统)才能使用,也就是底层硬件必须使用UEFI
<4>必须使用64位操作系统
<5>Mac、LInux系统都能支持GPT分区格式
<6>Windows 7 64bit、Windows Server2008 64bit支持GPT

以上部分参考http://www.linuxidc.com/Linux/2013-06/85717.htm

 

--未完待续

Linux磁盘及文件系统管理