首先我们先来认识一下硬盘中的MBR—主引导记录
MBR大小512字节,分为三个部分
1、主引导程序:446字节
2、硬盘分区表DPT:64字节
3、分区结束标志:2字节
DPT:磁盘分区表
①、DPT大小64字节
②、每个主分区也要占用16个字节
③、扩展分区也要占用16个字节的主分区空间
因此:一个磁盘上最多可以建立四个主分区
磁盘分区需要超过四个时
可将剩余空间作为1个扩展分区
扩展分区会占用一个主分区位置
扩展分区不能直接存储文件
划分逻辑分区来存储文件
一个扩展分区可以划分成多个逻辑分区
注意:逻辑分区从5开始,主分区为1-4
MBR中的记录信息非常重要我们要对它做好备份-----可以通过dd命令来进行备份
dd命令
功能:从指定文件中抽取指定长度的数据
格式:dd if=输入文件 of=输出文件 bs=单位大小 count=数目
备份MBR
dd if=/dev/sda of=mbr.bak bs=512 count=1
还原MBR
dd if=mbr.bak of=/dev/sda bs=512 count=1
分区表有两种:
msdos 支持小于2T硬盘,不支持大于2T硬盘,有主分区,扩展分区,逻辑分区,最多四个主分区
gpt 支持大小容量的硬盘,不区分主分区,扩展分区,逻辑分区,也没有四个分区数量的限制
fdisk 只支持msdos
parted 支持 msdos 和gpt
对一个新硬盘我们可以通过fdisk和parted进行分区,接下来了解一下它们的用法以及区别
fdisk命令建立分区
用途:在交互式的操作环境中管理磁盘分区
格式:fdisk [磁盘设备]
可以通过fdisk -l查看硬盘
交互模式中的常用指令
m:查看操作指令的帮助信息
p:列表查看分区信息
n:新建分区
d:删除分区
t:变更分区类型
w:保存分区设置并退出
q:放弃分区设置并退出
[root@mysql_glbic ~]# fdisk /dev/sdb
Command (m for help): m #通过m查看帮助
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): n #新建一个分区
Command action
e extended
p primary partition (1-4)
p #选择类型
Partition number (1-4): 1
First cylinder (1-2610, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +20M #给分区设置大小
Command (m for help): p #打印分区信息进行查看
Device Boot Start End Blocks Id System
/dev/sdb1 1 4 32098+ 83 Linux
Command (m for help): w #保存退出
The partition table has been altered!
当分区设置好时我们可以通过格式化创建一个文件系统,挂载到一个空目录就可以使用了
创建文件系统(格式化)
mkfs.ext4 /dev/sdb1 (格式化一个分区)
挂载文件系统
mount /dev/sdb1 挂载点
挂载点是一个空目录就可以了
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
parted命令
格式:parted 磁盘或分区
parted也是交互式的
我们可以通过help查看命令帮助
1、先创建分区表(mktable msdos/gpt)
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mktable gpt #创建一个gpt类型的分区表
2、创建分区
mkpart PART-TYPE [FS-TYPE] START END make a partition
(parted) mkpart abc 1 200 #abc为随意起的名称 指定分区的起始和结束位置
用parted分区会将分区信息自动保存,退出就可以了
3、格式化,创建文件系统
mkfs.ext4 /dev/sdc1
4、挂载
partprobe命令 通知内核读取新的分区表
格式:partprobe
修改磁盘分区后不用重启,使用partprobe更新磁盘分区的变化
注意:使用parted命令分区时,用fdisk查看的分区信息之能显示一个分区信息
我们可以通过parted 分区 进入交互界面通过print打印出分区信息