1.分区方式:

两种分区方式:MBR,GPT

 

2.MBR分区

1)MBR:Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T

2)划分分区的单位:

  CentOS 5 之前按整柱面划分

  CentOS 6 版本后可以按Sector划分

3)0磁道0扇区:512bytes

  446bytes: boot loader 启动相关

  64bytes:分区表,其中每16bytes标识一个分区

  2bytes: 55AA

4)MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)

5)MBR分区:主和扩展分区对应的1--4,/dev/sda3,逻辑分区从5开始,/dev/sda5

6)MBR分区结构

centos MBR分区无损转GPT_centos MBR分区无损转GPT

 

 7)硬盘主引导记录MBR由4个部分组成

centos MBR分区无损转GPT_CentOS_02

 

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

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

  分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4

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

8)MBR中DPT结构

centos MBR分区无损转GPT_centos_03

 

 9)范例: 备份MBR的分区表,并破坏后恢复

#备份MBR分区表
[root@centos8 ~]#dd if=/dev/sda of=/data/dpt.img bs=1 count=64 skip=446
[root@centos8 ~]#scp /data/dpt.img 10.0.0.102:
#破坏MBR分区表
[root@centos8 ~]#dd if=/dev/zero of=/dev/sda bs=1 count=64 seek=446
#无法启动
[root@centos8 ~]#reboot
#用光盘启动,进入rescue mode,选第3项skip to shell
#配置网络
#ifconfig ens160 10.0.0.8/24
#ip a a 10.0.0.8/24 dev ens160
#scp 10.0.0.102:/root/dpt.img .
#恢复MBR分区表
#dd if=dpt.img of=/dev/sda bs=1 seek=446
#reboot

 

3.在救援模式中加地址,通上网络:

ip a a 192.168.93.129 dev ens160

centos MBR分区无损转GPT_centos MBR分区无损转GPT_04

 

 

centos MBR分区无损转GPT_centos MBR分区无损转GPT_05

 

 

4.远程拷贝文件:

scp 192.168.93.129:/data/passwd .

centos MBR分区无损转GPT_分区表_06

 

 

5.立即写入磁盘

sync

 

6.远程备份

scp /data/f1  192.168.93.129:

centos MBR分区无损转GPT_centos MBR分区无损转GPT_07

 

 

centos MBR分区无损转GPT_分区表_08

 

 

7.GPT分区

1)GPT:GUID(Globals Unique Identifiers) partition table 支持128个分区,使用64位,支持8Z( 512Byte/block )64Z ( 4096Byte/block)

2)使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表自动备份在头和尾两份, 并有CRC校验位

3)UEFI (Unified Extensible Firmware Interface 统一可扩展固件接口)硬件支持GPT,使得操作系统可以 启动

4)GPT分区结构

centos MBR分区无损转GPT_centos_09

 

 5)GPT分区结构分为4个区域:

  GPT头

  分区表

  GPT分区

  备份区域

 

8.列出块设备

lsblk

centos MBR分区无损转GPT_centos_10

 

 

9.parted 命令

注意:parted的操作都是实时生效的,小心使用

格式:

parted [选项]... [设备 [命令 [参数]...]...]

范例:

parted /dev/sdb mklabel gpt|msdos
parted /dev/sdb print
parted /dev/sdb mkpart primary 1 200 (默认M)
parted /dev/sdb rm 1
parted -l   列出所有硬盘分区信息

 

10.分区工具fdisk和gdisk

fdisk -l [-u] [device...]     查看分区
fdisk [device...]             管理MBR分区
gdisk [device...]             类fdisk 的GPT分区工具

子命令:

p 分区列表
t 更改分区类型
n 创建新分区
d 删除分区
v 校验分区
u 转换单位
w 保存并退出
q 不保存并退出

查看内核是否已经识别新的分区

cat /proc/partations

 

11.CentOS 7,8 同步分区表:

partprobe

 

 

2022-2-11 22:23