MBR与GPT分区结构的不同及磁盘分区命令总结

一、MBR分区结构

主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,是目前比较流行的一种分区结构。磁盘的0磁道0扇区称为MBR,它的大小是512字节,这个区域被分为三个部分:

第一部分为boot loader(主引导程序),占446字节;

第二部分为Partition table(分区表),即DPT,占64字节,每个分区项占用16个字节,这16个字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)等内容。由于MBR扇区只有64个字节用于分区表,所以只能记录4个分区的信息;

第三部分是分区标识符,固定为55AA,占2字节,这个标识非常重要,如果这个标识被破坏,即便磁盘正常分区也会被认为这块磁盘是一块全新的没有被分区的盘。

因为MBR分区方案采用的4个字节存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每扇区512字节计算,MBR分区表最大可寻址的存储空间只有2TB(2^32×512字节),因此MBR只支持2TB以下的硬盘,超过2TB的硬盘也只能管理2TB。

MBR分区包括主分区和扩展分区,主分区和扩展分区的总数不能超过4个,标识编号为1-4,主分区可以直接使用,但是扩展分区需要划分成逻辑分区后才能使用,逻辑分区的数量不受限制,标识编号从5开始。一般的MBR分区方式为3个主分区加1个扩展分区,扩展分区下面再划分多个逻辑分区。

二、GPT分区结构

GPT磁盘是指使用GUID分区表的磁盘。是源自EFI标准的一种较新的磁盘分区表结构的标准。与普遍使用的主引导记录(MBR)分区方案相比,GPT提供了更加灵活的磁盘分区机制。

在GPT分区表的最开头(LBA0),处于兼容性考虑仍然存储了一份传统的MBR,用来防止不支持GPT的硬盘管理工具错误识别并破坏硬盘中的数据,这个MBR也叫做保护MBR。

GPT分区表分为4个区域:GPT头、分区表、GPT分区、备份区。

  • GPT头:起始于磁盘的 LBA1,通常也只占用这个单一扇区。其作用是定义分区表的位置和大小。GPT头还包含头和分区表的校验和,这样就可以及时发现错误。

  • 分区表:分区表区域包含分区表项。这个区域由GPT头定义,一般占用磁盘LBA2~LBA33扇区。分区表中的每个分区项由起始地址、结束地址、类型值、名字、属性标志、GUID值组成。分区表建立后,128位的GUID对系统来说是唯一的。

  • GPT分区:最大的区域,由分配给分区的扇区组成。这个区域的起始和结束地址由GPT头定义。

  • 备份区:备份区域位于磁盘的尾部,包含GPT头和分区表的备份。它占用GPT结束扇区和EFI结束扇区之间的33个扇区。其中最后一个扇区用来备份1号扇区的EFI信息,其余的32个扇区用来备份LBA2~LBA33扇区的分区表。


三、磁盘分区命令总结

1、在虚拟机中添加几块硬盘,添加完之后正常需要重启虚拟机才能看到新加硬盘,如果不想重启可以使用命令扫描

[root@liang ~]# echo "- - -" > /sys/class/scsi_host/host2/scan

2、查看磁盘命令

lsblk、cat /proc/partitions、ls /dev/sd*     三个命令都可以列出加载到内存中的磁盘设备

fdisk -l:命令看到的是实际硬盘的分区情况

3、创建磁盘分区命令

fdisk:主要用来创建MBR分区,也可以创建GTP分区,但是一般不用该命令创建GPT分区。

fdisk  <disk> : 更改磁盘分区

    常用的子命令有:

    n:新建分区

    d:删除分区

    p:打印分区列表

    m:帮助

    t:更改分区类型

    w:保存退出

    q:不保存退出

fdisk -l <disk>: 列出磁盘分区

gdisk:创建GPT分区,创建分区时的用法与fdisk基本一样,常用的子命令也基本一样。

parted:该命令也可以创建和删除分区,但是不建议使用,因为该命令是实时对磁盘进行分区修改的,一旦执行立即生效。

parted /dev/DEVICE mklable  gpt|msdos:更改GPT格式分区和MBR格式分区
parted /dev/DEVICE print:打印分区列表
parted /dev/DEVICE mkpart primary NUM SIZE:创建主分区,需要指定分区号和分区大小,默认单位为“M”
parted /dev/DEVICE rm NUM:删除分区,需要制定分区号
parted -l:列出所有块设备的分区列表

4、同步分区表

使用fdisk命令或gdisk命令新建或删除分区后有时内存不能立即识别,这是需要手动同步分区列表。

在CentOS5和CentOS7中一般使用 partprobe 命令同步,但在CentOS6中使用该命令后无效,需要使用partx命令。

partprobe的用法:partprobe [/dev/DEVICE] ,如果不跟硬盘默认为全部硬盘

partx的用法:

新增分区后同步需要使用-a选项:partx -a /dev/DEVICE

删除分区后同步需要使用-d选项和-n选项:partx -d -n M:N /dev/DEVICE

5、创建文件系统(格式化分区)

 cat /proc/filesystems :可以查看系统支持的文件系统类型

mkfs命令的用法有两种:

mkfs.FS_TYPE /dev/DEVICE 和 mkfs -t FS_TYPE /dev/DEVICE

FS_TYPE包括:ext系列、vfat、xfs(CentOS7)、msdos、btrfs等

mkfs -L 'LABEL' :设置分区LABER

mke2fs:ext系列文件系统专用管理工具

    常用选项:

    -t:指定文件系统类型(ext2、ext3、ext4)

    -b:设置默认block大小(1023|2014|4096)

    -L 'LABEL':设置分区LABER

    -j:相当于 -t ext3,格式化成带有记录日志功能的ext2文件系统

    -i #:为数据空间中每多少个字节创建一个inode,次大小不应该小于block的大小

    -N #:为数据空间创建多少个inode

    -I:一个indoe记录大小128–4096

    -m:默认为5%,为管理员预留空间占分区总空间的百分比

    -o FEATURE:启用指定特性

    -o ^FEATURE:关闭指定特性

6、查看文件系统信息

blkid:查看块设备属性信息

用法:blkid[OPTION]… [DEVICE]

    -U "UUID":根据指定的UUID来查找对应的设备

    -L "LABEL":根据指定的LABEL来查找对应的设备

e2label:管理ext系列文件系统的LABEL

    用法:  e2label device [ new-label ]

findfs:查找分区,可以指定根据label查看或根据uuid查看

用法:findfs LABEL=<label>|UUID=<uuid>

tune2fs 命令可查看或重新设定ext系列文件系统的参数值

    -l:查看指定文件系统超级块信息

    -L 'LABEL':修改卷标

    -m #:修改预留给管理员的空间百分比

    -j:将ext2升级为ext3

    -O:文件系统属性启用或禁用

    -o:调整文件系统的默认挂载选项

    -U ‘UUID’:修改UUID号

dumpe2fs -h  DEVICE:查看超级块信息(分组信息)

7、文件系统检测和修复

常用于死机或者非正常关机之后,挂载的文件系统标记为“dirty”。

fsck命令的用法:

fsck.FS_TYPE 或 fsck -t FS_TYPE

    -a:自动修复错误

    -r:交互式修复错误

e2fsck:ext系列文件系统专用检测修复工具

    -y:自动回答为yes

    -f:强制修复  

原创文章,作者:苦涩咖啡,如若转载,请注明出处:http://www.178linux.com/40386

(0)
苦涩咖啡苦涩咖啡
上一篇 2016-08-29
下一篇 2016-08-29

相关推荐

  • 马哥教育网络班21期-第六周课程练习

    请详细总结vim编辑器的使用并完成以下练习题1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; #cp /etc/rc.d/rc.sysinit /tmp #vim /tmp/rc.sysinit :%s/^[[:space:]]/#…

    Linux干货 2016-08-15
  • 随笔—git的基本命令

    git是一个非常优秀的版本控制系统,可以对各类大小的项目进行源代码管理,  #git的常用功能如下: 1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。 2、在本地仓库上根据不同的开发目的,创建分支,修改代码。 3、在本机上向自己创建的分支上提交代码。 4、在本机上合并分支。 5、将本地仓库代码和分支推送到服务器上的远程仓库 在官网…

    Linux干货 2016-07-04
  • VSFTP详细配置说明

    VSFTP详细配置说明 §·FTP(File Transfer Protocol 文件传输协议)介绍 1 §·FTP连接类型主动模式与被动模式 2 §·Linux中FTP软件 VSFTP介绍 4 §·Linux中 VSFTP基于mariadb用户名密码认证 7 §·附录–课外学习资料参考 9 §·常见问题处理 11  §·FT…

    Linux干货 2016-10-17
  • nginx负载均衡搭建

    组 网络拓扑图 nginx负载均衡服务器搭建 首先准备三台机器 主机A(nginx负载均衡器) 主机B 主机C 主机A需两块网卡(一块外网,一块内网) 主机B和主机C各一块 (各一块内网的IP,如果主机B C和主机A内网网卡在一个网段就不需要配置网关地址了。 规划好网络后,nginx负载主机分别ping下各rs主机是否可通 主机A打开核心转发功能 #echo…

    Linux干货 2017-05-17
  • 自建repo软件仓库

    近期主要使用的aliyun的源,主要会用到centos6、zabbix、epel和xen等,由于网络质量不佳,考虑到自建软件仓库 第一步,删除系统自导的源,新建ali.repo,将常用的几个源地址加入 # rm /etc/yum.repos.d/*.repo -fr # vim /etc/yum.repos.…

    Linux干货 2016-05-19
  • LVM逻辑卷管理

    LVM逻辑卷管理 LVM全称为Logical VolumeManager逻辑卷管理器,LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。 其中 PV:Physical Volume 物理卷 VG:volume Group 卷组 LV:Logincal Volume 逻辑卷 实验…

    2017-08-14

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-29 10:00

    文章对磁盘分区的要点,进行了完整的表述,但是对于swap分区的知识点未能涉及到。同时缺少了实践,对于学习linux,只有多练习,才能发现问题。时间实践真理的唯一标准哦。