Linux-两种磁盘分区方式

Linux文件设备

要理解Linux,首先要理解Linux文件结构

在Linux操作系统中,几乎所有的设备都位于/dev目录中

名称 作用 位置
SATA接口 电脑硬盘接口 /dev/sd[a-p]
U盘 可移动设备 /dev/sd[a-p]
Virtio接口 提供虚拟化 /dev/vd[a-p]
软盘驱动器 软驱,逐渐淘汰 /dev/fd[0-7]
打印机 提供打印能力 /dev/lp[0-2] (25针打印机)  /dev/usb/lp[0-15] (USB接口)
鼠标 连接鼠标 /dev/input/mouse[0-15] /dev/psaux /dev/mouse
CD-ROM DVD-ROM   /dev/scd[0-1] /dev/sr[0-1] /dev/cdrom
磁带机   /dev/ht0 /dev/st0 /dev/tape

由于SATA,USB,SAS都是以SCSI模块进行驱动的,所以这些接口的磁盘设备文件名都是/dev/sd[a-p]的格式

MBR和GPT

MBR(Master Boot Record):

使用MBR的方式来处理引导程序和分区表,而处理引导程序的记录区(目的是加载内核文件)和分区表则在磁盘的第一个扇区,这个扇区具有

512字节的大小,其中分区表有64字节,所以最多仅能有四组记录区(每组分组表仅有16字节),记录区记录了该区段的启动和结束的柱面号码。而这四组记录区被称为主要区或者拓展区。

我们也可以利用额外的扇区记录更多的分区,类似Windows系列的划分硬盘分区至5个及以上。

由扩展分区扩展出来的分区叫做逻辑分区,位于操作系统中的位置是:/dev/sda[5+]

如果扩展分区被破坏,那么整个逻辑分区将被删除,因为逻辑分区的信息都记录在扩展分区里面。

并且考虑到磁盘的连续性,一般将扩展分区的柱面号码分配到最后的柱面内。

从《鸟叔的Linux私房菜》中我们可以得到如下的信息:

  • 主要分区与扩展分区最多可以有4个

  • 扩展分区最多只能有1个

  • 逻辑分区由扩展分区持续划分出来的分区

  • 能够被格式化后作为数据存取的分区是主要分区和逻辑分区,扩展分区无法格式化。

  • 逻辑分区的数量依据操作系统而不同,在Linux中的SATA硬盘已经可以突破了63个以上的分区限制。

同样由于MBR使用的扇区磁盘小,导致它的容量,能够存储信息就小,随着硬件设备的逐渐发展,暴露出的弊病也就越来越明显:

  • 操作系统无法使用2.2TB以上的磁盘容量(每一个)

  • MBR仅有一个区块,如果被破坏后很难恢复(牵一发而动全身)


GPT(GUID Partion table)

GPT使用逻辑区块地址(Logical basic address)来处理4K的扇区,这是MBR解决不了的。同时GPT的第一个逻辑分区LBA0为MBR兼容模块。在这个模块中存放了启动引导程序与一个特殊标识符,这个标识符用来保护磁盘。

而LBA1则是GPT表头记录,记录了分区表本身的位置和大小,同时记录了备份用的GPT分区放置的位置。

而LBA2-LBA33区块是用来记录分区信息的,每个LBA能够由4组分区记录,因为每个LBA有512个字节,所以每组记录用到了128字节。

由于GPT在每组记录中使用了64位来记录开始/结束的扇区号码,所以单一分区的最大容量为2^64*512字节==8ZB


硬盘的规划,是熟练掌握Linux的第一步,因为Linux以文件目录作为首要管理方式的。

所以一般刚开始学习Linux的时候,我们需要了解Linux的分区方式

最简单的分区方式:

仅仅划分出根目录/和交换分区Swap,具有MBR一样的缺点,牵一发而动全身,只要有一个小心接坏掉,那么整个根目录就会损毁

麻烦一点的分区方式:

通过分析主机的用途来进行划分:

一些比较大的且读写频繁的目录:

  • /boot

  • /

  • /home

  • /var

  • swap

Linux-两种磁盘分区方式

上一篇:eclipse代码编辑界面代码块收缩的实现


下一篇:centos7 升级vim7到vim8遇到的问题