优化IO性能、实现磁盘配额、隔离系统和程序、可以采用多个文件系统
MBR --- 比较传统的分区
GPT
MBR:Master Boot Record(主引导记录),1982年开发而来,使用32位表示扇区数,分区不超过2T
特点:支持的分区空间有限
MBR的分区是按照分区类型来进行组织的。把整个硬盘的分区信息放在0磁道0扇区这个512字节大小的空间中。这个扇区分为三部分:
446bytes: boot loader 启动相关(存放启动相关的文件)
64bytes:分区表(记录每个硬盘有几个分区,每个分区的开始和结束位置),其中每16bytes用来标识一个分区信息(起始位置和结束位置等信息)
2bytes: 55AA(两个字节的标志位)
MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)
主分区:可以存放数据也可以装系统
扩展分区:不能直接存数据,需要在里面划分逻辑分区才能存放数据(相当于一个容器)
逻辑分区:
主分区和扩展分区对应数字1--4,/dev/sda3,逻辑分区从数字5开始,/dev/sda5
主引导程序(偏移地址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
#dd命令:直接以二进制的形式来访问磁盘数据 dd if(input file)=/dev/sda of(out file)=/data/mbr bs=1(一次读一个字节) count=64(读64次) skip=446(跳过硬盘的前446个字节)
if:源文件(输入文件)
of:目标文件(目的文件)
bs:每一块的大小
count:拷贝多少个
skip:从输入文件跳过开头多少个块后开始复制
seek:从输出文件开头跳过多少个块开始复制
查看二进制文件的十六进制编码:hexdump -C filename
选项:
-C:输出十六进制对应的字符
-n:显示前多少个字节
如果不加选项: hexdump filename -- 已两个字节为一组的十六进制倒叙显示
链接:https://www.linuxprobe.com/linux-hexdump.html
备份的这个分区表文件不能放在本地,因为如果分区表坏了,这个文件也找不到了。
GPT:GUID(Globals Unique Identifiers) partition table。支持128个分区,支持很大的硬盘很大的分区容量。取消了扩展分区这些概念,全是主分区(MBR使用扩展分区的目的是弥补只能分四个分区的缺陷)。
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
运行流程:
lsblk: list block --- 列出所有的块设备文件
块设备也就是存储以“块”为单位数据的设备,比较典型的如磁盘设备、光盘或者优盘
设备类型:
块设备:block,存取单位“块”,磁盘
字符设备:char,存取单位“字符”,键盘
fdisk --- 一个老牌工具,一般用来管理MBR分区
gdisk --- 管理GPT分区
partprobe命令
重启计算机
fdisk -l [-u] [device...] 查看分区
fdisk [device...] 管理MBR分区
gdisk [device...] 类fdisk 的GPT分区工具
p 分区列表
t 更改分区类型
n 创建新分区
d 删除分区
v 校验分区
u 转换单位
w 保存并退出
q 不保存并退出
cat /proc/partations