硬盘概念
硬盘设备是由大量的“扇区”组成的,单个扇区容量为512字节,第一个扇区保存着主引导记录和分区信息,主引导记录需要占用446字节,分区表占用64字节,结束标记占用2字节。
当我们拿到一张大白纸,首先为了使用方便要裁剪,然后为了书写工整要画格。
“白纸”表示原始的硬盘,“裁剪”意味着分区,“画格”意味着格式化,最后写入数据,即新安装一块硬盘设备后,为了更充分、安全的利用硬盘空间首先要进行分区,然后格式化,最后挂载使用。
硬盘被划分为:主分区(必须有一个)、扩展分区(可以没有,但最多一个)和逻辑分区(若干)。
由于分区表总大小为64字节,每记录一个分区信息需要16字节,因此一个硬盘最多可以划分4个主分区。
主分区、扩展分区和逻辑分区的区别
主分区
主分区主要是用来启动操作系统的,它主要放的是操作系统的启动或引导程序,/boot分区最好放在主分区上;
扩展分区
扩展分区是不能使用的,它只是做为逻辑分区的容器存在的,先创建一个扩展分区,在扩展分区之上创建逻辑分区;
除去主分区所占用的容量以外,剩下的容量就被认定为扩展分区(也可以这么讲:一块硬盘除去主分区外的容量后,如果对剩下的容量进行了再分区,那么,这个再分区就是扩展分区)
逻辑分区
扩展分区可以分成若干个逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分——扩展分区如果不再进行分区了,那么扩展分区就是逻辑分区了。
真正存放数据的是主分区和逻辑分区,大量数据都放在逻辑分区中。
硬盘的容量=主分区的容量+扩展分区的容量
扩展分区的容量=各个逻辑分区的容量之和
Linux硬盘表示
/dev目录下的都是硬件设备
Linux系统中一切都是文件,硬盘也不例外。既然硬盘是文件,因此硬盘也必须有名称,系统内核的设备管理器(Udev)会自动将硬件名称规范起来。
一般硬盘设备都会以 /dev/sd 开头的,格式为 /dev/sd[a-p]n
一台主机上可以有多块硬盘,系统会按照识别顺序从a-p来代表16块不同的硬盘(默认从a开始分配)。每块硬盘会被划分为几个分区,主分区从1-4编号,逻辑分区从5开始编号。
对硬盘进行分区
fdisk命令用于管理磁盘分区,对磁盘进行分区,格式为“fdisk [磁盘名称]”,该命令是交互式的,执行命令之后,通过键入不同的命令选择不同的功能。
使用 fdisk -l 可以列出全部的磁盘分区。
交互式命令:
参数 | 作用 |
m | 查看全部可用参数 |
n | 添加新的分区 |
t | 改变某个分区的类型 |
p | 查看分区表信息 |
w | 保存并退出 |
q | 不保存直接退出 |
格式化文件系统
mkfs命令用于格式化文件系统,格式为“mkfs.文件类型名称 硬盘分区名称”或“mkfs -t 文件类型名称 硬盘分区名称”。
支持的文件类型有:cramfs、ext2、ext3、fat、msdos、xfs、btrfs、minix、vfat
挂载硬件设备
挂载操作指的是当用户需要使用硬盘设备或分区数据时,需要先将其与一个已经存在的目录做关联,关联动作就叫做挂载。
mount命令由于挂载文件系统,格式为“mount 文件系统 挂载目录”
mount常用参数为:
参数 | 作用 |
-a | 挂载所有在 /etc/fstab 文件中定义的文件系统 |
-t | 指定文件系统的类型,mount标准的格式为“mount –t 类型 文件系统 挂载目录” 该参数一般不需要额外使用,因为一般情况下操作系统会自动判断文件系统的类型 |
-l | 列出所有已挂载的文件系统,可以直接执行mount命令列出 |
使用mount命令执行挂载操作后立即就可以使用该文件系统了,但重启后会失效。想要重启后依然生效,必须将挂载信息按照指定的格式写入到/etc/fstab文件中。
格式为“设备文件 挂载目录 格式类型 权限选项 自检 优先级”
设备文件:一般为设备的路径+名称,也可以写UUID值等。
挂载目录:指定要挂载的目录,需要在挂载前创建好。
格式类型:即指定文件系统的格式,比如有ext3/ext4/xfs/iso9660/swap等,挂载光盘镜像时,类型设置为iso9660。
权限选项:默认为defaults(rw,suid,dev,exec,auto,nouser,async),可指定为acl或quota等。
自检:若为1,则开机后进行磁盘自检,0为不自检。
优先级:若“自检”为1,则可对多块硬盘进行优先级设置。
umount命令由于卸载已挂载的设备文件,格式为“umount [挂载点/设备文件]”