一:概述
磁盘分区对于操作系统而言,每一个分区都相当于一个独立的磁盘,各个分区可以创建不同的文件系统。合理的分区能够保证我们的数据安全。合理的进行数据分区可以有效地保护系统磁盘空间,提高系统的运行速度。
二:磁盘分区的两种格式
在传统的MBR(Master Boot Record,主引导记录)中,分区信息存储在磁盘第一个扇区中。扇区是磁盘读写的最小单位。如果扇区的大小为512字节,则最多可以管理2TiB的容量。在MBR中,第一个扇区的位置和扇区数在LBA(逻辑块地址)中。MBR分区包括三种类型,分别是主分区、扩展区和逻辑分区。下面是这三种分区类型的介绍:
主分区:1个磁盘上最多可以创建4个主分区,分区号从1到4.可以在1个主分区中创建一个文件系统将其用作交换分区。
扩展分区:每个磁盘只能创建1个扩展分区,可以使用分区号1-4的其中之一。如果创建扩展分区,则基本分区的最大数目为3个。
逻辑分区:在扩展分区中可以创建多个分区,分区从5号开始。逻辑分区中可以创建1个文件系统,也可以用作交换分区。
这三种划分情况如下图所示:
在/dev/sda中有三个主分区,1个扩展分区,在扩展分区中又划分了3个逻辑分区。
GPT(GUID Partition Tabel)是新一代的分区表格式,使用全局唯一标识符来标识设备。对于GPT,分区新信息存储在第二个扇区的GPT标头中,从第三个扇区开始存储32个(默认)个扇区。从第二个扇区的GPT标头存储条目数(默认128个)和大小(默认128字节)。从第三扇区开始分区与每个分区相对应的条目,并且通过每个条目中LBA将分区的第一个扇区和最后一个扇区的位置存储在8字节区域中,最多配置128个分区。如果扇区大小为512字节,可以管理多达8ZiB容量。
GPT标头包含磁盘的全局唯一标识符(GUID).每个条目均代表分区类型的GUID和表示分区的GUID。GPT标头和条目在磁盘存储为辅助文件,用于备份。GPT分区是UEFI的一部分,可以定义128个分区,没有主分区和扩展分区的概念,所以分区都能格式化。
三:对磁盘进行分区的方式
Linux中提供的主要分区管理工具是fdisk、GPT fdisk、GNU Parted和GNOME Partition这四个,下表是分区管理工具对应的命令及其说明:
分区工具 | 命令 | 说明 |
fdisk | fdisk | Linux早期提供的MBR分区管理工具 |
GPT fdisk | gdisk | GPT分区管理工具,采用类似于fdisk命令的用户界面 |
GNU Parted | parted | 适用于MBR和GPT分区的多动能分区管理工具 |
GNOME Partition Editor | gparted | 用于GNOME桌面环境的图形分区管理工具,支持MBR和GPT分区 |
fdisk分区管理工具的用法:
这是一个MBR分区管理工具,用于显示分区表,以及创建、删除和更改分区。
格式命令:fdisk [选项] [设备名称]
指定-I选项显示指定设备的分区,如果没有指定设备,会参照/proc/partitions文件显示每个设备的分区。在不带-i选项的情况下执行disk命令,将以交互的模式管理指定的设备。
fdisk的使用分为查询部分和交互部分,执行”fdisk设备名称“即可以进入命令交互操作界面,以交互的方式在命令提示符下输入?或help显示命令列表。交互模式命令以及说明如下表所示:
命令 | 说明 |
p | 显示分区表 |
n | 添加一个新的分区 |
d | 删除分区 |
w | 保存分区表并退出 |
q | 退出而不保存分区表的更改 |
l | 查看指定的分区类型 |
t | 改变分区类型 |
x | 进入高级操作模式 |
r | 移至recovery&transfomation菜单 |
? | 显示命令列表 |
m | 显示每个交互命令的详细含义 |
o | 创建DOS分区表 |
交互命令有很多,其中比较常用的有p、n、m、d、l、q、w这几个选项。执行fdisk -l表示查看系统中所有设备的分区情况,如下图所示,结果中显示只有/dev/sda一块磁盘,包括两个主分区/dev/sda1和/dec/sda2。这是还没有进行磁盘分区的情况。
fdisk /dev/sdb可以在sdb磁盘中显示、创建和删除分区,在命令6提示符中输入p显示sdb磁盘的分区信息,可以看到这个磁盘的的大小,如下图所示:
想创建分区就输入n,表示在sdb磁盘中创建一个新的分区。分区类型默认选择p,表示创建一个主分区,分区号默认是1.选择默认分区的扇区2048,按下Enter键,指定新建分区的大小,这里我指定了3G.完成分区的创建之后可以输入p查看新建分区/dev/sdb1的信息。
完成第一个主区创建之后,可以继续输入n创建第二个主分区/dev/sdb2。分区号默认为2,然后指定默认扇区的大小,完成第二个分区创建。这是输入p可以看到两个主分区的信息。
删除分区可以使用d命令,这里使用d命令删除/dev/sdb2分区。输入需要删除的分区号即可删除分区,输入p显示/dev/sdb磁盘中只有/dev/sdb1一个分区,/dev/sdb2分区已被删除,输入w保存退出命令交互模式。
四:添加一个新的磁盘分区
在关闭虚拟机的情况下添加,在”Oracle VM Virtualbox管理器“界面单击”设置“按钮,选择”存储>控制器:SATA“选项,在右侧的两个按钮中选则”添加虚拟磁盘“按钮,在弹出的对话框中按照提示创建新的虚拟磁盘。完成磁盘创建之后,启动虚拟机,再次使用fdisk -l命令可以看到新增一个还没有分区的新磁盘/dev/sdb。
五:gdisk管理工具
它用户划分容量大于2T的磁盘,用户界面与fdisk命令相似,包括显示分区表,创建、删除、修改分区以及MBR和GPT分区的转换。
命令格式:gdisk [选项] [设备名称]
使用-l选项执行gdisk命令之时,显示指定的设备分区,不指定-l选项的情况下,设备分区管理以交互方式执行,在交互方式下有三种类型的菜单,如下表所示:
菜单 | 命令 | 说明 |
main menu | - | 主菜单模式,显示、创建和删除分区 |
p | 显示分区表 | |
l | 列出分区类型 | |
n | 创建一个新的分区 | |
d | 删除分区 | |
w | 保存分区并保存并退出 | |
q | 退出而不保存分区表 | |
r | 移至recovery&transformation菜单 | |
? | 显示命令菜单 | |
recovery& transformation menu | - | 恢复和分区标准换模式、分区表备份,GPT到MBR转换等 |
b | 从备份GPT标头创建GPT标头 | |
d | 从主GPT标头创建备份GPT标头 | |
g | 将GPT转换为MBR并退出 | |
m | 返回主菜单 | |
experts' menu | - | 专家模式,用于更改磁盘GUID和分区GUID,显示每个分区的详细信息 |
l | 显式指定分区的详细信息 | |
g | 更改磁盘GUID | |
c | 更改分区向导 | |
m | 返回主菜单 |
在命令提示符中输入?或者help可以显示命令列表。显示分区表、创建和删除分区操作与fdisk命令相同。使用gdisk命令从MBR分区转换为GPT分区。从执行结果来看,MBR:MBR only表示当前分区为MBR分区,GPT:not present表示当前不是GPT分区。
这里我没有创建,就不演示这个了。
这个p命令和fdisk命令一样可以显示分区表。输入w命令写入分区信息时,分区信息将从MBR转换为GPT,在确定信息时输入Y。
转换之后,指定gdisk -l /dev/sdb命令可以看到当前分区类型已经从MBR转换成GPT了,GPT:present表示已更改为GPT分区。
使用gdisk命令可以从MBR分区转换为GPT分区,同样也可以从GPT分区转换为MBR分区。执行gdisk /dev/sdb命令显示当前分区为GPT分区,输入p命令显示分区表。
输入r命令可以将对话模式转换至Recovery/transformation菜单,在交互模式中输入?可以显示当前菜单中的交互命令。
在转换分区之前,你还要确认指定的磁盘是否正确,否则会导致数据丢失。输入g命令就可以将GPT转换为MBR了,使用p命令再次显示分区表,然后输入w命令将分区信息写入磁盘,再确认提示中输入Y,更改分区。
执行完上述转换操作之后,使用gdisk /dev/sdb命令可以查看到分区已经从GPT转换为MBR。
六:parted工具
这个工具比fdisk更加灵活,功能更加丰富,它可以创建分区、调整分区的大小、移动和复制分区、删除分区等。在功能使用方面parted与fdisk类似,parted也有两种模式,分别是命令行模式和交互模式,在命令模式执行命令时需要指定parted命令,如果未指定,则为交互模式,提示parted信息,等待命令输入。
格式:parted [选项] [设备名称{子命令}]
这个命令和之前的不同需要指定子命令进行管理磁盘分区。
子命令 | 说明 |
help或? | 显示帮助信息 |
mklabel | 指定分区表格式(msdos即MBR分区或GPT) |
mkpart | 创建一个新分区。使用格式为:mkpart[分区类型] [FS类型] [起始位置] [结束位置] |
显示分区信息 | |
rm | 删除分区 |
select | 选择设备 |
quit | 结束 |
rescur | 恢复丢失的分区,使用参数指定开始位置和结束位置 |
unit | 指定位置和大小,显示单位 |
执行parted /dev/sda print显示sda分区的信息。如下图所示:
使用mklabel子命令指定GPT分区,输入确任信息Yes可以将分区指定为GPT。指定mkpart子命令可以在sdb磁盘中创建一个分区,执行print子命令显示分区信息:
磁盘分区使用较多的工具是fdisk,但是fdisl工具对管理的分区大小有限制,只能划分小于2TB的磁盘,parted比fdisk更加灵活。要使用parted命令需要安装parted工具包,查看系统是否安装,如果没有安装,则执行apt -y install parted命令进行安装(Ubuntu)。
指定rm命令删除分区,操作时需要指定分区编号将其删除,然后执行print子命令,结果显示之前在sdb中创建的分区已经删除。
除了上面的命令行模式创建,还可以命令交互模式中显示、创建和删除分区。
标签:创建,分区,命令,GPT,磁盘,磁盘分区,MBR From: https://blog.51cto.com/u_15912723/7581435