内容概要:
本篇主要涉及分区涉及到的分区和挂载的概念,目的,常用分区工具(parted和fdisk),MBR分区表和GPT的区别与涉及到的相关挂载、分区、格式化、激活/关闭分区,取消挂载的命令的格式及使用,依次分概念及常用命令介绍、fdisk分区、parted分区与光盘挂载三篇。
什么是分区:
分区是使用分区编辑器(partition editor)将一个硬盘驱动器分成若干个独立的逻辑驱动器,分别用于存放不同类型的文件和数据,同时将分区的信息写进分区表。
为什么要分区:
1、有利于管理,系统一般单独放一个区,这样由于系统区只放系统,其他区不会受到系统盘出现磁盘碎片的性能影响。
2、如果一个分区出现逻辑损坏,仅损坏的分区而不是整个硬盘受影响。
3、当硬盘运行Unix或者Linux的多用户系统上,有可能需要防止用户的硬连结攻击。
4、根据实际需要调整分区的大小,可以提高磁盘的利用效率和查找效率。
分区概念扫盲:
什么是交换分区(swap)
交换分区从硬盘中独立分出来的一部分逻辑区域,当物理内存不够用或者已经用完时,物理内存中一部分长期未使用的内存空间需要被释放出来,而这些被释放的空间就被临时保存到Swap空间,等到那些程序要时,然后再从Swap分区中恢复保存的数据到内存中。因此,系统总是在物理内存不够时,才进行Swap交换。交换分区不需要挂载就可以使用,只需要通过swapon打开就可以了。
分区表的类型
分区表分为MBR(Master Boot Record)和GPT(GUID Partition Table)是用来存储硬盘分区后的分区信息的,这些分区信息包含了分区开始和结束信息,这样操作系统才知道哪个扇区是属于哪个分区的,以及哪个分区是可以启动的。MBR的意思是“主引导记录”,它只支持2TB一下大小硬盘的分区,最多只支持4个分区,要想分更多的分区必须使用扩展分区,并在扩展分区中划分逻辑分区。GPT是GUID分区表,可以支持2TB以上的硬盘分区,最多可创建128个分区,它的每个分区都可以看做是一个独立的主分区。
什么是格式化
格式化(format)是指对硬盘或硬盘中的分区(partition)进行初始化的一种操作,硬盘分区后,必须经过格式化才能够正式使用。
文件类型
它是硬盘格式化后的文件的类型,主要有一下四种
vfat:FAT文件系统,包括FAT12,FAT16,FAT32
ext3:支持最大16TB空间,2TB单个文件
ext4:支持最大1EB空间,16TB单个文件
swap:交换分区
什么是挂载
挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问存储设备。
分区和挂载的步骤:
1、借助Linux自带的一些分区工具fdisk和parted来帮助我们进行分区;
2、使用w命令将已经分区好的信息写入分区表并保存;
3、对已经分区好的磁盘进行格式化、建立文件分配表以便系统按指定的格式存储文件;
4、创建挂载的目录;
5、将分区好的硬盘挂载到指定目录;
6、设置永久挂载,使分区的硬盘在机器启动时就自动挂载。
fdisk分区常用命令格式:
fdisk 只能管理2TB以下的硬盘,使用MBR,最多四个主分区(1-4),最多一个扩展分区,可以在扩展分区继续进行逻辑分区。
fdisk -l :查看系统已经识别的所有硬盘的详细信息(大小 - 分区);
fdisk /dev/{需要格式化的硬盘名称}
d 删除一个分区
l 显示一已知分区的类型
m 打印菜单
n 添加一个新分区
o 创建一个新的DOS分区表
p 打印分区表
q 退出不保存
t 改变分区的编号
w 写入分区信息并保存
parted分区常用命令格式:
parted 能管理2TB以上的硬盘,使用GPT,每个分区都可以看做是一个主分区,不受分区数量限制,使用方便。
parted /dev/{需要格式化的硬盘名称}
check NUMBER 检查指定编号 NUMBER 分区中的文件系统是否有什么错误
help [COMMAND] 打印命令的帮助信息
mklabel,mktable LABEL-TYPE 创建一个新的 LABEL-TYPE 类型的空磁盘分区
mkfs NUMBER FS-TYPE 对NUMBER指定文件系统。ext4、fat32、swap 等
mkpart PART-TYPE START END 创建 FS-TYPE类型,从START开始到 END结束的分区
move NUMBER START END 将指定编号 NUMBER 的分区移动到从 START 开始 END 结束的位置上
name NUMBER NAME 将名叫name的分区重命名为NAME
print [devices|free|list,all|NUMBER] 打印已存在的分区得信息
rm NUMBER 删除编号为NUMBER的分区
select DEVICE 选择要编辑的分区
set NUMBER FLAG STATE 对编号为NUMBER的进行标记
toggle [NUMBER [FLAG]] 显示或隐藏分区的状态信息(NUMBER分区编号,FLAG标记)
其他相关命令:
df -h/-T:查看已挂载硬盘盘的状态信息命令
mkfs.[类型] {分区} 或者 mkfs -t {类型} {分区} :格式化分区命令
mkdir /mnt/名称:创建挂载目录,一般挂载目录在mnt下
mount {分区} {挂载点:体现为文件夹的路径}:将指定的分区挂载到指定目录
umount { [路径] /分区名称 } :将指定的分区从指定目录取消挂载
swapon/swapoff {分区}:开启或关闭交换分区
mount {分区} {挂载位置} {文件系统类型} defaults {是否备份?}(0-2) {是否校验?}(0-2){partition}:设置永久挂载,0默认不需要备份,无校验,1和2分别代表不同优先级的备份和校验。
1、添加一块硬盘
首先,你要对硬盘进行分区,你必须要有一块硬盘你才能进行操作吧!不然你拿什么来分区呢?那第一步很简单就是利用
VMware模拟创建一个新的硬盘添加到CentOS系统中,同时保证添加的硬盘能够生效并被系统识别,这样你就必须要做到两点:
第一,在关机状态下添加硬盘;第二,在添加硬盘后重启你的机器。这样才能保证你添加的硬盘能够添加进去并且是可用的状
态。具体操作步骤如下:
(1)左击虚拟机 -> 左击设置
(2)选择硬盘 -> 点击添加 -> 点击下一步
(3)选择创建虚拟磁盘 -> 点击下一步
(4)选择将磁盘映射为单个文件 -> 点击下一步
(5)点击完成后跳转到如下图,此时多了一个新硬盘,再点击确定,重启系统(重启才会有效)
2、使用fdisk /dev/sdb 对硬盘sdb进行分区
硬盘命名的规则:硬盘的命名方式,以sd开头,从字母a开始,添加硬盘顺次变更结尾字母(sdb sdc ...)
(1)、查看硬盘是否添加成功能否被系统识别,输入fdisk -l查看磁盘的信息;
(2)、查看已经挂载好的硬盘,输入df -T查看详细信息;
(3)、使用fdisk /dev/sdb 对硬盘sdb进行分区,然后输入m查看命令的作用;
(4)、分一个主分区(大小为1GB):输入n(回车)新建一个分区 -> 输入p(回车)新建一个分区 -> 输入分区编号1 ->回车(默认柱面大小) -> 分区大小1GB -> 输入p(回车)打印分区信息;
(5)将剩余的部分变为扩展分区(大小为第一个主分区的结束位置硬盘的末尾):n新建一个分区 ->选择e(扩展分区)-> 设置分区编号为2 -> 默认回车 -> 分区大小1024MB(即1GB)-> p打印分区信息;
(6)对扩展分区再进行逻辑上的分区(大小1GB):n新建一个分区 -> 选择l(逻辑分区)-> 默认设置 -> 分区大小1024MB -> p打印分区信息;
(7)再创建一个主分区(大小1GB):n新建一个分区 -> 选择l(逻辑分区)-> 默认设置 -> 设置大小1GB -> p打印分区信息;
(8)将已经分好的硬盘写入系统,并保存。
3、格式化每个分区
输入格式化命令,回车进行格式化
格式化分区为ext4类型的文件系统:mkfs.ext4 /dev/sdb1
格式化分区为FAT32类型的文件系统:mkfs.vfat -F 32 /dev/sdb5
格式化分区为swap类型的文件系统 :mkswap /dev/sdb6
4、对已经分好的硬盘进行挂载
(1)、创建挂载目录
创建名为ext4的挂载目录:mkdir /mnt/ext4
创建名为fat32的挂载目录 :mkdir /mnt/fat32
(2)、进行挂载并激活交换区
将dev目录下的sdb1分区,挂载到mnt目录下的ext4目录:mount /dev/sdb1 /mnt/ext4/
将dev目录下的sdb5分区,挂载到mnt目录下的fat32目录 :mount /dev/sdb5 /mnt/fat32/
激活交换分区不需要创建挂载目录: swapon /dev/sdb6
(3)df -T 查看挂载信息;
5、设置永久挂载
设置永久挂载,目的是为了使系统在重启的时候就能够自动挂载,并自动激活交换区。
echo "/dev/sdb1 /mnt/ext4 ext4 defaults 0 0" >> /etc/fstab
echo "/dev/sdb5 /mnt/fat32 vfat defaults 0 0" >> /etc/fstab
echo "/dev/sdb6 swap swap defaults 0 0" >> /etc/fstab
cat /etc/fstab :查看是否挂载成功
分区与挂载主要步骤
在这篇中我们将继续使用在第二篇中添加的sdb硬盘,借助parted进行分区操作,主要步骤如下:
1、取消原来已经挂载好的硬盘分区;
2、移除已经分好的分区;
3、将MBR格式转换成GPT格式(fdisk分区后的格式为MBR);
4、使用parted对硬盘进行分区;
5、格式化分区;
6、进行挂载。
分区与挂载详细操作流程:
1、取消原来已经挂载好的硬盘分区;
(1)、取消原来挂载的硬盘分区,输入umount /dev/sdb1和umount /dev/sdb2;
(2)、输入parted /dev/sdb命令指定对sdb硬盘进行分区 -> 输入help可以查看分区命令的详细说明;
2、移除已经分好的分区;
输入p打印分区的信息(上一篇已分好的区) -> 输入rm 1移除分区1,rm 2 移除分区2中所有的分区 -> p打印分区信息,已经完全被移除;
3、将MBR格式转换成GPT格式(fdisk分区后的格式为MBR);
msdos表示的是MBR的分区表,此时需要将MBR的分区表转换成GPT分区表,输入mklabel gpt回车 -> 选择Yes回车 -> p查看分区信息,此时已经被成功转化成GPT的格式了;
4、使用parted对硬盘进行分区;
(1)、转换成功之后,我们要做的工作当然就是分区啦。首先创建我们的第一个分区(主分区),输入 -> mkpart primary 1 1025回车(表示创建一个主分区,从1开始到1025结束,分区大小为1024MB(也就是1GB)) -> 选择Ignore(Cancel就会取消分区),此时分区成功 -> 输入p就查看分区信息,显示第一个分区已经创建成功;
(2)、创建第二个分区,分区类型为逻辑分区 -> 输入mkpart logical 1025 2049创建一个逻辑分区 -> Ignore ->p查看分区信息,分区成功。再以同样的方法创建第三个分区,由于步骤一样不再重复赘述。分区成功后,输入q保存分区信息并退出(此处与fdisk不同,fdisk保存并退出是输入w,q是直接退出不保存);
5、格式化分区;
与第二篇一样创建分区成功后,就需要对创建好的分区进行格式化,格式化成自己想要的文件类型;
格式化分区为ext4类型的文件系统:mkfs.ext4 /dev/sdb1
格式化分区为FAT32类型的文件系统:mkfs.vfat -F 32 /dev/sdb2
格式化分区为swap类型的文件系统 :mkswap /dev/sdb3
6、进行挂载。
(1)、创建挂载目录
由于第二篇已经创建过挂载目录了,这里不再重复创建
(2)、挂载并激活交换分区
将dev目录下的sdb1分区,挂载到mnt目录下的ext4目录:mount /dev/sdb1 /mnt/ext4/。
将dev目录下的sdb2分区,挂载到mnt目录下的fat32目录 :mount /dev/sdb2 /mnt/fat32/。
激活交换分区不需要创建挂载目录: swapon /dev/sdb3。
光盘的挂载
光盘是一种只读类型的存储设备,一般在路径/dev/cdrom下,当有界面时会自动挂载至media下,无界面时需要手动挂载。光盘也可以使用fdisk -l 查看分区情况,使用mount进行挂载,挂载需要设置挂载目录。
挂载步骤:
创建挂载目录:mkdir /mnt/cdrom
进行挂载:mount /dev/cdrom /mnt/cdrom
硬盘的分区和挂载、光盘的挂载整个流程就完了。