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 08:54
下一篇 2016-08-29 08:59

相关推荐

  • Linux上文件管理类命令实例讲解

    下面介绍三个文件cp, mv, rm管理命令: cp命令:copy,复制命令 命令格式: cp 源文件 目标文件 复制又分为单源复制和多源复制两种情况: 单源复制 如果目标文件不存在,创建此文件,并复制数据流到此文件; [root@localhost tmp]# cp yum.log ok [root@localhost tmp]# ls -l total …

    Linux干货 2018-02-28
  • 文件权限的设置和文件的特殊权限及其命令使用

    1. linux的系统管理员很重要的任务就是管理自己服务器的文件,对于权限设置等级森严的linux文件系统,文件系统的访问权限管理自然也是linux管理员必不可少的一项技能。 在linux中文件的基本权限中:被分为三大项:文件拥有者,文件拥有组,其他人。 每一项中,用三位八进制的数字来代表文件是否可读,是否可写,是否可执行。并根据用户不同可以设置不同的uma…

    Linux干货 2016-08-05
  • 分布式文件系统Mogilefs介绍与安装

    一、分布式文件系统简介: 什么是分布式存储:       分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储…

    Linux干货 2016-05-04
  • Linux iptables配置应用

                    Linux iptables配置应用 概述:    Linux的防火墙体系主要工作在网络层,只对tcp/ip数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)。Linux的防火墙体系基于内核编码实现,因…

    系统运维 2016-11-18
  • 十四.Linux博客-2016年8月22日数组

    格式说明: 操作 概念 命令 说明及举例 十四.数组 数组概念 变量:存储单个元素的内存空间数组:存储多个元素的连续的内存空间,相当于多个变量的集合。数组名和索引索引:编号从0开始,属于数值索引注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。bash的数组支持稀疏格式(索引不连续) 声明数组declare -…

    Linux干货 2016-08-24
  • net25-第14周作业

    系统的INPUT和OUTPUT默认策略为DROP; ~]# iptables -P INPUT DROP ~]# iptables -P OUTPUT DROP 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; ~]#iptables -…

    Linux干货 2017-05-15

评论列表(1条)

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

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