- A+
磁盘分区的好处:
优化IO性能、实现磁盘配额、隔离系统和程序、可以采用多个文件系统
分区的方式:
-
MBR --- 比较传统的分区
-
GPT
MBR分区:
MBR:Master Boot Record(主引导记录),1982年开发而来,使用32位表示扇区数,分区不超过2T
特点:支持的分区空间有限
0磁道0扇区:
MBR的分区是按照分区类型来进行组织的。把整个硬盘的分区信息放在0磁道0扇区这个512字节大小的空间中。这个扇区分为三部分:
-
446bytes: boot loader 启动相关(存放启动相关的文件)
-
64bytes:分区表(记录每个硬盘有几个分区,每个分区的开始和结束位置),其中每16bytes用来标识一个分区信息(起始位置和结束位置等信息)
-
2bytes: 55AA(两个字节的标志位)
MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)
MBR分区类型:
-
主分区:可以存放数据也可以装系统
-
扩展分区:不能直接存数据,需要在里面划分逻辑分区才能存放数据(相当于一个容器)
-
逻辑分区:
主分区和扩展分区对应数字1--4,/dev/sda3,逻辑分区从数字5开始,/dev/sda5
MBR分区结构
-
主引导程序(偏移地址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:从输入文件跳过开头多少个块后开始复制
-
seek:从输出文件开头跳过多少个块开始复制
范例: 备份MBR的分区表,并破坏后恢复
查看二进制文件的十六进制编码:hexdump -C filename
选项:
-C:输出十六进制对应的字符
-n:显示前多少个字节
如果不加选项: hexdump filename -- 已两个字节为一组的十六进制倒叙显示
链接: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
运行流程:
硬盘分区的管理
列出块设备:lsblk
lsblk: list block --- 列出所有的块设备文件
块设备也就是存储以“块”为单位数据的设备,比较典型的如磁盘设备、光盘或者优盘
设备类型:
块设备:block,存取单位“块”,磁盘
字符设备:char,存取单位“字符”,键盘
创建分区:
-
fdisk --- 一个老牌工具,一般用来管理MBR分区
-
gdisk --- 管理GPT分区
把硬盘上的分区信息同步到内核中:
-
partprobe命令
-
重启计算机
分区工具fdisk和gdiskd的使用
fdisk -l [-u] [device...] 查看分区
fdisk [device...] 管理MBR分区
gdisk [device...] 类fdisk 的GPT分区工具
子命令:
-
p 分区列表
-
t 更改分区类型
-
n 创建新分区
-
d 删除分区
-
v 校验分区
-
u 转换单位
-
w 保存并退出
-
q 不保存并退出