如何建立簇状水平圆柱图
707
2022-05-28
使用硬盘空间的过程
设备分区
创建文件系统
挂载新的文件系统
为什么要分区
优化I/O性能
实现磁盘空间配额限制
提高修复速度
隔离系统和程序
安装多个OS
采用不同文件系统
分区方式
分区方式有两种:MBR和GPT
MBR分区
MBR:Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T
划分分区的单位:
CentOS5之前按照 整个柱面划分
CentOS6后可以按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分区的主分区:不能再划分更小的分区,主分区+拓展<=4,可以有多个,一个硬盘只有一个主分区处于激活状态(启动系统)1-4
MBR分区的拓展分区:可以有,也可以没有,有且只有一个,不能直接使用,划分更小的分区才能使用 1-4
MBR分区的逻辑分区(逻辑驱动器):必须由拓展分区的划分出来 5-N
MBR分区结构
硬盘主引导区MBR由4个部分组成
主引导程序(偏移地址0000H-0088H),它负责从活动分区中装载,并运行系统引导程序
出错信息数据区,偏移地址0089H-00E1H为出错信息,00E2H-01BDH全为0字节
分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH-01FDH,每个分区表项长16字节,共64字节为分区项1、分区项2、分区项3、分区项4
问题:如果分区表被破坏了,如何修复?如何备份分区表?
开机后进入救援模式,利用分区策略相同的另一台主机的分区表来还原和恢复当前主机被破环的分区表
将分区表备份为一个二进制文件存放在别的电脑上
GPT分区
GPT:GUID(Global Unique Identifiers)partition table支持128个分区,支持8Z(512Byte/block)64Z(4096Byte/block)
使用128位UUID(Universally Unique Identifier)表示磁盘和分区GPT分区表自动备份在头和尾两份,并有CRC校验位
UEFI(Unified Extensible Firmware Interface)统一可拓展固件接口,硬件支持GPT,使得操作系统可以启动
GPT分区结构
GPT分区结构分为4个区域:
GPT头
分区表
GPT分区
备份区域
BIOS和UEFI
BIOS是固化在电脑主板上的程序,主要用于开机系统自检和引导操作系统。目前新式的电脑基本上都是UEFI启动
BIOS(Basic Input Output System,基本输入输出系统)主要完成系统硬件自检和引导操作系统,操作系统开始启动之后,BIOS的任务就完成了。系统硬件自检:如果系统硬件有故障,主板上的扬声器就会发出长短不同的"滴滴"声,可以简单的判断硬件故障,比如"1长1短"通常表示内存故障,"1长3短"通常表示显卡故障
BIOS在1975年就诞生了,使用汇编语言编写,当初只有16位,因此只能访问1M的内存,其中前640K称为基本内存,后384K内存留给开机和各类BIOS本身使用。BIOS只能识别到主引导记录(MBR)初始化的硬盘,最多支持2T的硬盘,4个主分区(逻辑分区中的扩展分区除外),而目前普遍实现了64位系统,传统的BIOS已经无法满足需求了,这时英特尔主导EFI就诞生了
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初始化,BIOS自检,引导操作系统,进入系统
UEFI运行流程:开机,UEFI初始化,引导操作系统,进入系统
MSDN(Microsoft Developer Network)指出,Windows只能安装于BIOS+MBR或者UEFI+GPT组合上,而BIOS+GPT和UEFI+MBR是不允许的。但是BIOS+GPT+GRUB启动Linux是可以的
管理分区
列出块设备
lsblk
创建分区命令
fdisk 管理MBR分区 gdisk 管理GPT分区 parted 高级分区操作,可以是交互或非交互方式
重新设置内存中的内核分区表版本,适合于除了CentOS6以外的其他版本5,7,8
partprobe
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 列出所有硬盘分区信息
分区工具fdisk和gdisk
gdisk [device…] 类fdisk 的GPT分区工具
fdisk -l [-u] [device…] 查看分区
fdisk [device…] 管理MBR分区
子命令:
p 分区列表 t 更改分区类型 n 创建新分区 d 删除分区 v 校验分区 u 转换单位 w 保存并退出 q 不保存并退出
查看内核是否已经识别新的分区
cat /proc/partations
CentOS7,8同步分区表
partprobe
CentOS6通知内核重新读取硬盘分区表
新增分区用
partx -a /dev/DEVICE kpartx -a /dev/DEVICE -f:force 例子: partx -a /dev/sda
删除分区用
partx -d --nr M-N /dev/DEVICE 例子: partx -d --nr 6-8 /dev/sda
例子:非交互式创建分区
echo -e 'n\np\n\n\n+2G\nw\n' | fdisk /dev/sdc
Linux
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。