Linux MBR和GPT分区类型

磁盘分区的好处:

优化IO性能、实现磁盘配额、隔离系统和程序、可以采用多个文件系统

分区的方式:

- MBR --- 比较传统的分区

- GPT --- 支持更大的硬盘空间

MBR分区:

MBR:Master Boot Record(主引导记录),1982年开发而来,使用32位表示扇区数,分区不超过2T

特点:支持的分区空间有限

0磁道0扇区:

1.MBR的分区是按照分区类型来进行组织的。

2.把整个硬盘的分区信息放在0磁道0扇区这个512字节大小的空间中
。
3.MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区) #逻辑分区在扩展分区里面分

#这个扇区分为三部分:
-  446 bytes: boot loader 启动相关(存放启动相关的文件)

-  64 bytes:分区表(记录每个硬盘有几个分区,每个分区的开始和结束位置),其中每16bytes用来标识一个分区信息(起始位置和结束位置等信息)

-  2 bytes: 55AA(两个字节的标志位)

MBR分区类型:

- 主分区:可以存放数据也可以装系统

- 扩展分区:不能直接存数据,需要在里面划分逻辑分区才能存放数据(相当于一个容器)

- 逻辑分区:

#主分区和扩展分区对应数字1--4,/dev/sda3,逻辑分区从数字5开始,/dev/sda5

MBR分区结构

Linux MBR和GPT分区类型
- 主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序

- 出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节

- 分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长1个字节,共64字节。
  为分区项1、分区项2、分区项3、分区项4(分区表不是一个文件,而是直接以二进制的形式存放在0扇区)

- 结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA

备份MBR分区表:

#dd命令:直接以二进制的形式来访问磁盘数据

dd if(input file)=/dev/sda of(out file)=/data/mbr bs=1(一次读一个字节) count=64(读64次) skip=446(跳过硬盘的前446个字节)

dd命令:

按照指定大小的数据块来拷贝文件,并在拷贝的过程中对内容进行转换

#选项:
- if:源文件(输入文件)

- of:目标文件(目的文件)

- bs:每一块的大小

- count:拷贝多少个

- skip:从输入文件跳过开头多少个块后开始复制 #单位和bs的单位一样

- seek:从输出文件开头跳过多少个块开始复制

查看二进制文件的十六进制编码

#查看二进制文件的十六进制编码:hexdump -C filename

#选项:
-C:输出十六进制对应的字符

-n:显示前多少个字节

#如果不加选项: hexdump filename -- 已两个字节为一组的十六进制倒叙显示

#hexdump命令使用链接:https://www.linuxprobe.com/linux-hexdump.html

#备份的这个分区表文件不能放在本地,因为如果分区表坏了,这个文件也找不到了。

GPT分区

GPT:GUID(Globals Unique Identifiers) partition table。支持128个分区,支持很大的硬盘很大的分区容量。取消了扩展分区这些概念,全是主分区(MBR使用扩展分区的目的是弥补只能分四个分区的缺陷)。

BIOS和UEFI

BIOS(Basic Input Output System 基本输入输出系统):电脑主板上内置的程序代码

作用:开机自检、引导操作系统。操作系统开始启动之后,BIOS的任务就完成了
BIOS只能识别到主引导记录(MBR)初始化的硬盘,最大支持2T的硬盘,4个主分区(逻辑分区中的扩展分区除外)。
EFI(Extensible Firmware Interface)可扩展固件接口。是因特尔首先发布出来的,后来各大公司就加入,形成了一个
UEFI的国际组织。

EFI:相当于新版BIOS

UEFI(Unified Extensible Firmware Interface)统一的可扩展固件接口:支持更大的内存、支持gpt分区和图形界面等

常用组合方式:

- BIOS+MBR

- UEFI+GPT

运行流程:

Linux MBR和GPT分区类型

硬盘分区的管理

列出块设备:lsblk

lsblk: list block --- 列出所有的块设备文件

块设备也就是存储以“块”为单位数据的设备,比较典型的如磁盘设备、光盘或者优盘

#设备类型:
 块设备:block,存取单位“块”,磁盘

 字符设备:char,存取单位“字符”,键盘

创建分区:

- fdisk --- 一个老牌工具,一般用来管理MBR分区

- gdisk --- 管理GPT分区

把硬盘上的分区信息同步到内核中:

方法一:- partprobe命令:
#新的分区表已经写入了硬盘,但是没有复制到内存中,我们使用fdisk和lsblk命令看到的都是内存中的分区表。所以使用partprobe命令来同步

方法二:- 重启计算机

分区工具fdisk和gdiskd的使用

fdisk -l [-u] [device...]     查看分区

fdisk [device...]             管理MBR分区

gdisk [device...]             类fdisk 的GPT分区工具

fdisk的子命令:

- p 分区列表

- t 更改分区类型

- n 创建新分区

- d 删除分区

- v 校验分区

- u 转换单位

- w 保存并退出

- q 不保存并退出

注意:

分区的设备名称是不稳定的,比如两个扩展分区5和6,删除了5,6会变成5

查看内核是否已经识别新的分区:cat /proc/partations

创建swap空间,分区的id要改为82,创建逻辑卷,物理设备分区的id要改成8e fdisk的t选项

Original: https://www.cnblogs.com/heyongshen/p/16428376.html
Author: 背对背依靠
Title: Linux MBR和GPT分区类型

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/523243/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球