gpt分区实例
BIOS(Basic Input/Output System): 基本输入输出系统;
MBR(Master Boot Recorder): 主引导记录;
EFI(Extensible Fireware Interface): 可扩展固件接口;
UEFI(Universal EFI); 统一可扩展固件接口;
GPT(GUID Partition Table): GUID分区表.
GUID(Globally Unique Idenifier): 全局唯一标识符号;
DPT(Disk Partition Table);
GRUB(GRand Unified Bootloader):
LILO(LInux LOader):
个人理解(基本上很多错误):
电脑启动后, 需要一个基本的系统来引导启动磁盘上的操作系统.
这个基本引导系统早期的标准是BIOS, 最新的标准是UEFI.
EFI是Intel提出的标准, 最后统一为一个国际标准UEFI;
BIOS和UEFI的实现都是以固件的形式存在的, 意味着不能轻易改动;
新的电脑采用的都是UEFI+GPT的技术解决方案; 但GPT分区是可以在BIOS上运作的;
对于MBR分区方案, 第0柱面, 0磁道, 1扇区(512bytes), 存放以下内容:
引导程序: 446bytes;
磁盘分区表 DPT(Disk Parition Table): 64bytes;
MBR的结束位: 2bytes;
BIOS或UEFI要找寻到磁盘上的操作系统, 最重要的就是找到内核的位置, 所以首先要知道内核文件 数据在磁盘中的位置; 此过程由引导程序完成;Linux下的引导程序有: GRUB Legacy, GRUB 2, LILO;由于GRUB比较大, 446bytes的空间根本放不还, 于是常见的方式是将GRUB程序的地址写 入到引导程序位, 借此载入GRUB的引导程序;DPT记录用分区工具划分的分区信息:
MBR分区表只能存储4个分区信息: 64byte = 4分区 * 16bytes;
MBR分区共可编址扇区数量: 232*(512/1024)/230 KB = 4TB;
GPT分区共可编址扇区数量: 264*(512/1024)/230 KB = 9.4 x 1021 bytes ~= 8 ZiB;
parted和fdisk都可以对GPT分区表进行操作, 但听说parted进行GPT操作更好;
支持GPT分区表操作的软件/命令汇总: parted, fdisk , cfdisk, sfdisk , gdisk, sgdisk ,cgdisk.
用法: parted [options] [device [command [options…]…]]
所有的可用程序内的命令有:
select DEVICE: 选择要编辑的分区;
help [COMMAND]: 打印所有命令或命令的帮助;
unit UNIT: 设置默认的单位;
align-check: 对齐检查:
mklabel,mktable LABEL-TYPE: 创建磁盘卷标, 分区表标签;
print [devices|free|list,all|NUMBER]: 打印分区表, 可用设备, 空闲空间, 所有 找到的分区或某个分区
mkpart PART-TYPE [FS-TYPE] START END make a partition
rm NUMBER: 删除分区;
name NUMBER NAME: 给分区NUMBER一个NAME;
diskset FLAG STATE: 更改已选择分区FLAG;
disktoggle [FLAG]: 开关已选择分区上的FLAG;
set NUMBER FLAG STATE: 更改分区NUMBER上的FLAG;
toggle [NUMBER [FLAG]]: 开关分区NUMBER上的FLAG;
rescue START END: 救援分区;
quit: 退出, 注意: parted是实时保存的, 操作后没有撤销的机会, 需要慎重;
version: 打印版本号
给虚拟机添加一块硬盘; fdisk -l
: 没有看到sdb – 不能直接识别, 需要重启
系统;
指定硬盘设备: parted -a optimal /dev/sda-a
: 是指设置对齐方案, optimal为最优;
设置GPT label:mklabel gpt
unit mib #设定单位 mkpart primary 1 3 #第1个主分区, 从1M到3M的空间2M大小; name 1 grub #命名为grub set 1 bios_grub on #设置它的bios_grub flag为开启状态; mkpart primary 3 131 #新建一个128M大小的boot分区; name 2 boot set 2 boot on mkpart primary 131 643 #新建一个512M的swap分区; name 3 swap mkpart primary 643 -1 #新建一个从643M到磁盘结束的rootfs根分区; name 4 rootfs print #打印已创建分区信息
打印的最终效果如下:
Number Start End Size File system Name Flags 1 1049kB 3146kB 2097kB grub boot 2 3146kB 131MB 128MB boot 3 131MB 643MB 512MB swap 4 643MB 21.5GB 20.8GB rootfs
Created: 2016-03-13 Sun 14:13
Emacs 24.5.1 (Org mode 8.2.10)
原文地址:http://8135922.blog.51cto.com/8125922/1750556