Linux磁盘管理——MBR 与 GPT
硬件设备在Linux中文件名
如今IDE 磁盘几乎被淘汰,市面上最常见的磁盘就是SATA和SAS。个人计算机主要是SATA。很多Linux发行版下都将IDE磁盘文件名也都被仿真成 /dev/sd[a-p] ,所以不用太担心磁盘设备文件名的问题。此外, 如果你的机器使用的是跟ISP申请的云端主机,比如阿里云主机,很大程度上是虚拟机。虚拟机磁盘文件名为磁盘文件名为 /dev/vd[a-p]
例题:现有两个SATA磁盘以及一个USB磁盘,主板上面有六个SATA的插槽。两个SATA磁盘分别插在主板上的SATA1, SATA5插槽上, 请问这三个磁盘在Linux中的设备文件名为何?
答:由于是使用侦测到的顺序来决定设备文件名,并非与实际插槽代号有关,因此设备的文件名如下:
SATA1插槽上的文件名:/dev/sda
SATA5插槽上的文件名:/dev/sdb
USB磁盘(开机完成后才被系统捉到):/dev/sdc
磁盘分区
一张磁盘并不是拿过来直接用,需要先分区。磁盘本身有很多属于,sector,cylinder,partion等。我们说cylinder通常是文件系统的最小单位,也就是分区的最小单位。为什么说“通常”呢?因为近来有 GPT 这个可达到 64bit 纪录功能的分区表, 现在我们甚至可以使用扇区 (sector) 号码来作为分区单位。MBR和GPT是目前主流的两种分区方式。
MBR
MBR结构
MBR(Master Boot Record, 主引导记录)。早期的 Linux 系统为了相容于 Windows 的磁盘,以支持 Windows 的MBR的方式来处理boot loader与partion table。boot loader与partion table都放在磁盘的第一个扇区,具体分布如下
partion table仅有64 Bytes容量,primary partion + extend partion最多4个分区,每个分区记录起始cylinder number
extend partion下面可以在划分logic partion,这样总的分区数量就可以>4。当logic partion也不是无限的,上限受OS控制。
primary partion + extend partion最多4个分区,这是磁盘的限制。
extend partion最对一个,这是OS的限制。
primary partion 、logic partion可以格式化,extend partion不可以格式化
MBR缺陷
操作系统无法抓取到 2.2T 以上的磁盘容量!
MBR 仅有一个sector,若被破坏后,经常无法或很难救援。
MBR 内的存放开机管理程序的区块仅 446Bytes,无法容纳较多的程序代码。
GPT
GPT结构
GPT为了处理大硬盘,使用LBA编址。原来MBR占用的第一个sector现在是LBA0。GPT 使用了 34 个 LBA 区块来纪录分区信息!同时与过去 MBR 仅有一的区块,被干掉就死光光的情况不同, GPT 除了前面 34 个LBA 之外,整个磁盘的最后 33 个 LBA 也拿来作为另一个备份。具体就够如下
LBA0 (MBR 相容区块)
与MBR模式相近,前446B还是boot loader,后64B换成一个特殊标记,用于表面此磁盘是GPT格式。
LBA1 (GPT 表头纪录)
纪录分区表本身的位置与大小,备份 GPT 分区 放置的位置, 以及校验码
LBA2-33 (实际纪录分区信息处)
从 LBA2 区块开始,每个 LBA 都可以纪录 4 笔分区纪录,所以在默认的情况下,总共可以有 4^32 = 128 笔分区纪录
MBR优点
GPT 分区没有所谓的primary、extend、logic partion的概念,每个分区都可以视为主分区,都可以格式化。
新版的 Linux 大多支持 GPT 分区表
MBR缺点
在磁盘管理工具上面, fdisk 并不支持 GPT !要使用 GPT 的话,可以使用 gdisk 或 parted。
boot loader方面, grub 第一版并不认识 GPT 喔!得要 grub2 以后才会认识
并不是所有的操作系统都可以读取到 GPT 的磁盘分区,能否读取 GPT 格式又与开机的检测程序(BIOS 或 UEFI)有关
不是所有的硬件都可以支持 GPT 格式
相关文章
- Linux用户管理案例(第二版)
- linux学习之用户管理
- Linux应用 高级磁盘管理
- 在Linux环境下部署springboot项目
- Linux LVM(逻辑卷管理)
- Linux软件包管理的基本操作入门
- Linux入门进阶第二天——软件安装管理(上)
- Linux进程:管理和调度
- Linux删除oracle数据库
- Linux 系统目录结构(三)
- 实用Linux命令,不求最全但求实用-------iptables命令实战
- 【转载】Linux磁盘管理:LVM逻辑卷管理
- Linux命令·ln
- linux terminal 中不小心按了ctrl+s后如何退出?
- Linux内核分析:打开文件描述符实现
- Linux 磁盘管理2——/etc/fstab 文件解释
- 文件系统管理 之 Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍
- Linux配置和管理设备映射多路径multipath
- Linux-3.14.12内存管理笔记【伙伴管理算法(5)】-核心算法实现
- Linux下1号进程的前世(kernel_init)今生(init进程)----Linux进程的管理与调度(六)
- Linux的命名空间详解--Linux进程的管理与调度(二)【转】
- 深入理解Linux内核-内存管理
- Linux_用户权限管理