1 分区方式
两种分区方式:MBR,GPT
1.1 MBR分区
MBR:Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T
划分分区的单位:
- CentOS 5之前按整柱面划分
- CentOS 6版本后可以按Sector划分
0磁道0扇区:512bytes
- 446bytes:boot loader启动相关
- 64bytes:分区表,其中每16bytes标识—个分区
- 2bytes:55AA
MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)
MBR分区:主和扩展分区对应的1--4,/dev/sda3,逻辑分区从5开始,/dev/sda5
MBR分区结构
硬盘主引导记录MBR有4个部分组成
| 偏移地址 | 存储信息 | 说明 |
|---|---|---|
| 0000-0088 | Master Boot Record主引导程序 | 主引导程序 |
| 0089-01BD | 出错信息数据区 | 数据区 |
| 01BE-01CD | 分区项1(16字节) | 分区表 |
| 01CE-01DD | 分区项2(16字节) | 分区表 |
| 01DE-01ED | 分区项3(16字节) | 分区表 |
| 01EE-01FD | 分区项4(16字节) | 分区表 |
| 01FE | 55 | 结束标志 |
| 01FF | AA | 结束标志 |
- 主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序
- 出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节
- 分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4
- 结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA
MBR中DPT结构
| 存贮字节位 | 内容及意义 |
|---|---|
| 第1字节 | 引导标志。若值为80H表示活动分区,若值为00H表示非活动分区 |
| 第2、3、4字节 | 本分区的起始磁头号、扇区号、柱面号。其中: 磁头号--第2字节; 扇区号--第3字节的低6位; 柱面号--第3字节高2位+第4字节8位。 |
| 第5字节 | 分区类型符: 00H--表示该分区未用(即没有指定); 06H--FAT16基本分区;0BH--FAT32基本分区; 05H--扩展分区; 07H--NTFS分区; 0FH--(LBA模式)扩展分区(83H为Linux分区等)。 |
| 第6、7、8字节 | 本分区的结束磁头号、扇区号、柱面号。其中: 磁头号--第6字节; 扇区号--第7字节的低6位; 柱面号--第7字节的高2位+第8字节。 |
| 第9、10、11、12字节 | 本分区之前已用了的扇区数。 |
| 第13、14、15、16字节 | 本分区的总扇区数。 |
备份MBR的分区表,并破坏后恢复
# 备份MBR分区表
# 查看分区的前512字节
[root@centos8 ~]# hexdump -C -n 512 /dev/nvme0n1
00000000 eb 63 90 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0 |.c..............|
00000010 fb be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00 |...|.........!..|
00000020 00 be be 07 38 04 75 0b 83 c6 10 81 fe fe 07 75 |....8.u........u|
00000030 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 01 8b |.........|...t..|
00000040 4c 02 cd 13 ea 00 7c 00 00 eb fe 00 00 00 00 00 |L.....|.........|
00000050 00 00 00 00 00 00 00 00 00 00 00 80 01 00 00 00 |................|
00000060 00 00 00 00 ff fa 90 90 f6 c2 80 74 05 f6 c2 70 |...........t...p|
00000070 74 02 b2 80 ea 79 7c 00 00 31 c0 8e d8 8e d0 bc |t....y|..1......|
00000080 00 20 fb a0 64 7c 3c ff 74 02 88 c2 52 be 05 7c |. ..d|<.t...R..||
00000090 b4 41 bb aa 55 cd 13 5a 52 72 3d 81 fb 55 aa 75 |.A..U..ZRr=..U.u|
000000a0 37 83 e1 01 74 32 31 c0 89 44 04 40 88 44 ff 89 |7...t21..D.@.D..|
000000b0 44 02 c7 04 10 00 66 8b 1e 5c 7c 66 89 5c 08 66 |D.....f..\|f.\.f|
000000c0 8b 1e 60 7c 66 89 5c 0c c7 44 06 00 70 b4 42 cd |..`|f.\..D..p.B.|
000000d0 13 72 05 bb 00 70 eb 76 b4 08 cd 13 73 0d 5a 84 |.r...p.v....s.Z.|
000000e0 d2 0f 83 de 00 be 85 7d e9 82 00 66 0f b6 c6 88 |.......}...f....|
000000f0 64 ff 40 66 89 44 04 0f b6 d1 c1 e2 02 88 e8 88 |d.@f.D..........|
00000100 f4 40 89 44 08 0f b6 c2 c0 e8 02 66 89 04 66 a1 |.@.D.......f..f.|
00000110 60 7c 66 09 c0 75 4e 66 a1 5c 7c 66 31 d2 66 f7 |`|f..uNf.\|f1.f.|
00000120 34 88 d1 31 d2 66 f7 74 04 3b 44 08 7d 37 fe c1 |4..1.f.t.;D.}7..|
00000130 88 c5 30 c0 c1 e8 02 08 c1 88 d0 5a 88 c6 bb 00 |..0........Z....|
00000140 70 8e c3 31 db b8 01 02 cd 13 72 1e 8c c3 60 1e |p..1......r...`.|
00000150 b9 00 01 8e db 31 f6 bf 00 80 8e c6 fc f3 a5 1f |.....1..........|
00000160 61 ff 26 5a 7c be 80 7d eb 03 be 8f 7d e8 34 00 |a.&Z|..}....}.4.|
00000170 be 94 7d e8 2e 00 cd 18 eb fe 47 52 55 42 20 00 |..}.......GRUB .|
00000180 47 65 6f 6d 00 48 61 72 64 20 44 69 73 6b 00 52 |Geom.Hard Disk.R|
00000190 65 61 64 00 20 45 72 72 6f 72 0d 0a 00 bb 01 00 |ead. Error......|
000001a0 b4 0e cd 10 ac 3c 00 75 f4 c3 00 00 00 00 00 00 |.....<.u........|
000001b0 00 00 00 00 00 00 00 00 5f 4d c9 b6 00 00 80 04 |........_M......|
000001c0 01 04 83 fe c2 ff 00 08 00 00 00 00 20 00 00 fe |............ ...|
000001d0 c2 ff 8e fe c2 ff 00 08 20 00 00 f8 5f 02 00 00 |........ ..._...|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|
00000200
[root@centos8 ~]# dd if=/dev/nvme0n1 of=dpt.img bs=1 count=64 skip=446
64+0 records in
64+0 records out
64 bytes copied, 0.000607266 s, 105 kB/s
[root@centos8 ~]# hexdump -C dpt.img -v
00000000 80 04 01 04 83 fe c2 ff 00 08 00 00 00 00 20 00 |.............. .|
00000010 00 fe c2 ff 8e fe c2 ff 00 08 20 00 00 f8 5f 02 |.......... ..._.|
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000040
[root@centos8 ~]# scp dpt.img 192.168.11.148:~
The authenticity of host '192.168.11.148 (192.168.11.148)' can't be established.
ECDSA key fingerprint is SHA256:Ww6kCL/qUjlJTWuWiwd/cUlensXIIeJV9uO9aoOHYGg.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.11.148' (ECDSA) to the list of known hosts.
root@192.168.11.148's password:
dpt.img 100% 64 31.3KB/s 00:00
# 破坏分区表
[root@centos8 ~]# dd if=/dev/zero of=/dev/nvme0n1 bs=1 count=64 seek=446
64+0 records in
64+0 records out
64 bytes copied, 0.000576051 s, 111 kB/s
[root@centos8 ~]# df -h # 还显示是因为在内存中
Filesystem Size Used Avail Use% Mounted on
devtmpfs 462M 0 462M 0% /dev
tmpfs 479M 0 479M 0% /dev/shm
tmpfs 479M 6.7M 472M 2% /run
tmpfs 479M 0 479M 0% /sys/fs/cgroup
/dev/mapper/cl-root 17G 5.5G 12G 33% /
/dev/nvme0n1p1 976M 118M 792M 13% /boot
tmpfs 96M 0 96M 0% /run/user/0
[root@centos8 ~]# ls /dev/nvme0* # 还显示是因为在内存中
/dev/nvme0 /dev/nvme0n1 /dev/nvme0n1p1 /dev/nvme0n1p2
[root@centos8 ~]# fdisk -l # 真正查看分区,已经不存在
Disk /dev/nvme0n1: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb6c94d5f
Disk /dev/mapper/cl-root: 17 GiB, 18249416704 bytes, 35643392 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cl-swap: 2 GiB, 2147483648 bytes, 4194304 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
[root@centos8 ~]# hexdump -C -n 512 /dev/nvme0n1 -v
00000000 eb 63 90 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0 |.c..............|
00000010 fb be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00 |...|.........!..|
00000020 00 be be 07 38 04 75 0b 83 c6 10 81 fe fe 07 75 |....8.u........u|
00000030 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 01 8b |.........|...t..|
00000040 4c 02 cd 13 ea 00 7c 00 00 eb fe 00 00 00 00 00 |L.....|.........|
00000050 00 00 00 00 00 00 00 00 00 00 00 80 01 00 00 00 |................|
00000060 00 00 00 00 ff fa 90 90 f6 c2 80 74 05 f6 c2 70 |...........t...p|
00000070 74 02 b2 80 ea 79 7c 00 00 31 c0 8e d8 8e d0 bc |t....y|..1......|
00000080 00 20 fb a0 64 7c 3c ff 74 02 88 c2 52 be 05 7c |. ..d|<.t...R..||
00000090 b4 41 bb aa 55 cd 13 5a 52 72 3d 81 fb 55 aa 75 |.A..U..ZRr=..U.u|
000000a0 37 83 e1 01 74 32 31 c0 89 44 04 40 88 44 ff 89 |7...t21..D.@.D..|
000000b0 44 02 c7 04 10 00 66 8b 1e 5c 7c 66 89 5c 08 66 |D.....f..\|f.\.f|
000000c0 8b 1e 60 7c 66 89 5c 0c c7 44 06 00 70 b4 42 cd |..`|f.\..D..p.B.|
000000d0 13 72 05 bb 00 70 eb 76 b4 08 cd 13 73 0d 5a 84 |.r...p.v....s.Z.|
000000e0 d2 0f 83 de 00 be 85 7d e9 82 00 66 0f b6 c6 88 |.......}...f....|
000000f0 64 ff 40 66 89 44 04 0f b6 d1 c1 e2 02 88 e8 88 |d.@f.D..........|
00000100 f4 40 89 44 08 0f b6 c2 c0 e8 02 66 89 04 66 a1 |.@.D.......f..f.|
00000110 60 7c 66 09 c0 75 4e 66 a1 5c 7c 66 31 d2 66 f7 |`|f..uNf.\|f1.f.|
00000120 34 88 d1 31 d2 66 f7 74 04 3b 44 08 7d 37 fe c1 |4..1.f.t.;D.}7..|
00000130 88 c5 30 c0 c1 e8 02 08 c1 88 d0 5a 88 c6 bb 00 |..0........Z....|
00000140 70 8e c3 31 db b8 01 02 cd 13 72 1e 8c c3 60 1e |p..1......r...`.|
00000150 b9 00 01 8e db 31 f6 bf 00 80 8e c6 fc f3 a5 1f |.....1..........|
00000160 61 ff 26 5a 7c be 80 7d eb 03 be 8f 7d e8 34 00 |a.&Z|..}....}.4.|
00000170 be 94 7d e8 2e 00 cd 18 eb fe 47 52 55 42 20 00 |..}.......GRUB .|
00000180 47 65 6f 6d 00 48 61 72 64 20 44 69 73 6b 00 52 |Geom.Hard Disk.R|
00000190 65 61 64 00 20 45 72 72 6f 72 0d 0a 00 bb 01 00 |ead. Error......|
000001a0 b4 0e cd 10 ac 3c 00 75 f4 c3 00 00 00 00 00 00 |.....<.u........|
000001b0 00 00 00 00 00 00 00 00 5f 4d c9 b6 00 00 00 00 |........_M......|
000001c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|
00000200
[root@centos8 ~]# reboot
重启后发现已经无法开机

虚拟机内ctrl+alt+ins重启,物理机ctrl+alt+del重启
重启后按ESC选择光盘启动

选择Troubleshooting 故障排除

选择Rescue a Centos Linux system 救援模式

选择3)跳转到shell

配置网络
# 三种方法任选其一即可
sh-4.4# ifconfig ens160 192.168.11.147/24
sh-4.4# ip addr add 192.168.11.147/24 dec/ens160
sh-4.4# ip a a 192.168.11.147/24 dec/ens160
成功配置IP

下载备份的分区表
sh-4.4# scp 192.168.11.148:~/dpt.img
下载成功

恢复MBR分区表
sh-4.4# dd if=dpt.img of=/dev/nvme0n1 bs=1 seek=446
恢复完重启即可


已成功开机

1.2 GPT分区
GPT:GUID(Globals Unique ldentifiers) partition table支持128个分区,使用64位,支持8Z(512Byte/block ) 64Z ( 4096Byte/block)
使用128位UUID(Universally Unique ldentifier)表示磁盘和分区GPT分区表自动备份在头和尾两份,并有CRC校验位
UEFI(Unified Extensible Firmware Interface统一可扩展固件接口)硬件支持GPT,使得操作系统可以启动
GPT分区结构分为4个区域:
- GPT头
- 分区表
- GPT分区
- 备份分区
2 引导方式
2.1 BIOS
BIOS是固化在电脑主板上的程序,主要用于开机系统自检和引导操作系统。目前新式的电脑基本上都是UEFl启动
BIOS (Basic Input Output System基本输入输出系统)主要完成系统硬件自检和引导操作系统,操作系统开始启动之后,BIOS的任务就完成了。系统硬件自检:如果系统硬件有故障,主板上的扬声器就会发出长短不同的"滴滴"音,可以简单的判断硬件故障,比如“1长1短"通常表示内存故障,“1长3短"通常表示显卡故障
BIOS在1975年就诞生了,使用汇编语言编写,当初只有16位,因此只能访问1M的内存,其中前640K称为基本内存,后384K内存留给开机和各类BlOS本身使用。BIOS只能识别到主引导记录(MBR)初始化的硬盘,最大支持2T的硬盘,4个主分区(逻辑分区中的扩展分区除外),而目前普遍实现了64位系统,传统的BIOS已经无法满足需求了,这时英特尔主导的EFI就诞生了
2.2 UEFI
EFI(Extensible Firmware Interface)可扩展固件接口,是Intel为PC固件的体系结构、接口和服务提出的建议标准。其主要目的是为了提供一组在OS加载之前(启动前)在所有平台上一致的、正确指定的启动服务,被看做是BIOS的继任者,或者理解为新版BIOS。
UEFI是由EFI1.10为基础发展起来的,它的所有者已不再是Intel,而是一个称作Unified EFI Form的国际组织
UEFI(Unified Extensible Firmware Interface)统一的可扩展固件接口,是一种详细描述类型接口的标准。UEFI相当于一个轻量化的操作系统,提供了硬件和操作系统之间的一个接口,提供了图形化的操作界面。最关键的是引入了GPT分区表,支持2T以上的硬盘,硬盘分区不受限制
BIOS和UEFI区别
BIOS采用了16位汇编语言编写,只能运行在实模式(内存寻址方式由16位段寄存器的内容乘以16(10H)当做段基地址,加上16位偏移地址形成20位的物理地址)下,可访问的内存空间为1MB,只支持字符操作界面
UEFI采用32位或者64位的C语言编写,突破了实模式的限制,可以达到最大的寻址空间,支持图形操作界面,使用文件方式保存信息,支持GPT分区启动,适合和较新的系统和硬件的配合使用
BIOS+MBR与UEFI+GPT
传统BIOS运行流程:开机-->BIOS初始化-->BIIOS自检-->引导操作系统-->进入系统
UEFI运行流程:开机-->UEFI初始化-->引导操作系统-->进入系统
MSDN (Microsoft Developer Network)指出,Windows只能安装于BIOS+MBR或是UEFI+GPT的组合上,而BIOS +GPT和UEFI+MBR是不允许的。但是 BIOS +GPT +GRUB启动Linux是可以的







Comments | NOTHING