一,磁盘基本概念
1.磁盘:磁盘是一种计算机的外部存储器设备,由一个或多个覆盖有磁性材料的铝制或剥离制的碟片组成,用来存存储用户的信息,这种信息可以被反复的读取或改写,绝大多数磁盘被永久的封存在一个密封的盒子里


2.磁盘运行机理:多个盘片之间靠主轴连接,电机带动主轴做旋转运动,通过多个磁头臂的摆动和主轴的旋转,磁头就可以在磁盘旋转的过程中读取到磁盘中存储的各种数据


3.磁盘的扇区,磁道,柱面
(1)磁道:磁盘的每个盘面被划分为许多同心圆,这些同心圆的轨道叫做磁道
(2)扇区:一个盘面划分为若干个内角相同的扇形,这样盘面上的每个磁道就被分为若干段圆弧,每个圆弧叫做一个扇区,每个扇区作为一个单元被同时读入或写入, 每一个扇区是512字节,其中有64个字节存储分区表,一条分区信息占16个字节
(3)柱面:每一个盘片同一大小的同心圆可以看成连在一起的柱面,磁盘在分区的时候最小单位是柱面,每一个盘片的上下面都可以读取数据,每一个磁头,不可以跨盘面读取 数据



4.磁盘的分类
(1)IDE磁盘:特点价格低廉,兼容性强,性价比高,数据传输慢,不支持热插拔等等。
(2)SCSI磁盘:传输速率高,读写性能好,运行稳定,可连接多个设备。可支持热插拔,占用CPU低,但是价格相对来说比较贵,一般用于工作站或服务器上。
(3)SATA磁盘:结构简单、支持热插拔
(4)USB其中IDE的磁盘的文件名为 /dev/hd[a-d] 而SCSI、SATA、USB的磁盘文件名为/dev/sd[a-p]
二,MBR
1.定义: MBR主引导记录( 让系统加载引导程序,找到启动镜像启动操作系统,加载分区表 )
2.位置: MBR位于硬盘第一个物理扇区处001
MBR中包含硬盘的主引导程序和硬盘分区表,分区表有四个分区记录区,每个分区记录区占16个字,共64个字节,446个字节存放主引导程序,2字节校验
主引导记录由三个部分组成,引导程序占用前446字节,随后的64字节为DPT硬盘分区表,最后的两字节‘55AA’是结束标注
3.为什么要进行磁盘分区:
(1)易于管理和使用:比如说我们把磁盘分了sda1、sda2、sda3、sda4盘,我们假设sda1盘为系统盘,其他的比如说游戏、办公、软件盘,这样我们要重新分哪个区就直接在对应的盘分就可以了,不需要整块磁盘进行分区。根据用途我们也能较快的去使用相应的磁盘。
(2)有利于数据的安全:通过分区可以降低数据损失的风险。出现硬盘坏道、错误操作、重装系统都有可能造成数据损失,如果分区了,那么我们就可以将损失最小化。
(3)节约寻找文件的时间:这个我觉得跟第一条比较像,但是这里所说的寻找文件的时间,是指电脑搜索文件的时间。分区以后,电脑搜索文件时只需要在相对应的分区搜索就可以了,没必要进行全盘搜索。大大节省了寻找文件的时间。
4.硬盘分区表示(Linux中将硬盘等设备均表示为文件)



5.硬盘分区结构
硬盘中的主分区数目只有4个,因此主分区和扩展分区的序号也就限制在1-4,扩展分区再分为逻辑分区,逻辑分区的序号始终从5开始
物理磁盘:真实的硬盘称作物理磁盘 physical disk
逻辑磁盘:分区后使用的C,D磁盘泛称为逻辑磁盘,一台物理磁盘可以分割成一块逻辑磁盘,也可分割成多块,依据需要来调整


6.扩展分区
扩展分区可以被继续划分为多个逻辑分区,逻辑分区是可以进行格式化的。
扩展分区把逻辑分区的分区信息在扩展分区中找了一个位置给存起来。 假如说p4扩展分区划分了三个逻辑分区那么第1个逻辑分区命名为sda5、第2个为sda6、第3个sda7,以此类推。上面所说的是一个磁盘被分为四个分区,第四个分区被设置为扩展分区,第一个逻辑分区为sda5。但是当整个磁盘被分为3个分区的时候,我们把扩展分区划分的第1个逻辑分区依然命名为sda5,而不是其它的。
;总结一下,就是不论磁盘有几个主分区,第一个逻辑分区一定是从sda5开始。
7.文件系统类型
1、EXT4,第4代(Extended)文件系统,存放文件和目录数据的分区,典型的日志型文件系统,系统中默认使用的文件系统。
2、SWAP,交换文件系统,为Linux系统建立交换分区,类似于windows系统的虚拟缓存
3、Linux支持的其他文件系统,FAT16、FAT32、NIFS、XFS、JFS
三,VM虚拟机添加磁盘
1.如图添加磁盘,后重启系统完成添加
2.若不想重启系统,则
//首先找到您的主机总线编号# grep mpt /sys/class/scsi_host/host?/proc_name
//使用下面命令扫描SCSI总线# echo "- - -" > /sys/class/scsi_host/host0/scan



3.fdisk -l ----查看磁盘分区情况

注意:上图中/dev/sda1 后面有个*,表示该磁盘用于引导系统进行启动。
sda1:存放的是与系统相关的文件
sda2:虚拟内存交换分区
sda3:为我们系统上的跟分区start、end表示分区开始的扇区位置和结束的扇区位置。
blocks:表示块的信息,一个块里面有多个扇区。
Id:表示磁盘编号
system:表示Linux系统分区的一个分区信息。
4.(1)fdisk /dev/sda 使硬盘进入分区模式

(2)开始创建分区,输入n回车进入下图

红色线条上表示0个主分区,0个扩展分区,3个闲置分区 (default p)表示默认为主分区
我们除了直接回车进入下一步,也可以输入e进入下一步。


此时 直接回车位置表示选择输入起始位置,也就是起始扇区。当然,我们不用输入,直接回车就好进入下一步。它就是为了能够将后面的所有可用扇区充分的利用上,而默认选择可用扇区的起始最小扇区。

此时再设置的分区就成了 逻辑分区,方法同上
设置完成后输入 p查看分区情况
之后输入 w保存

但是此时还不能使用磁盘,必须对磁盘进行格式化后才能进行数据的存储
格式化:指将分区格式化成不同的文件系统
文件系统:之操作系统用于明确存储设备或分区上的存储文件和数据结构的方法,即在存储设备上组织文件的方法
Linux下的文件类型有:ext2、ext3、ext4、xfs等等,我们可以使用命令: mkfs . 然后用按TAB TAB来查看有哪些文件类型

(2)磁盘的格式化
命令行输入 mkfs.ext3 /dev/sdb5 意思是对格式化根下的sdb5分区,格式化类型为ext3
出现done表示格式化完成

格式化完成后,输入ll /dev/sdb5查看格式化完毕后的分区文件类型信息

sdb5为一个块设备文件,8表示主设备号,21表示从设备号
但是此时还是不能使用格式化完成后的sdb5,因为还需要挂载
(3)挂载
Linux的宗旨是一切皆文件,从以上我们也看到。我们存储的所有文件都在sdb4下存放着,sdb4 也就是我们的根。那我们要在sdb5中写入文件时,首先要sdb5要与sdb4 先建立一个联系,这个联系就是一个目录。建立联系的过程我们叫做挂载。
挂载点目录:我们将磁盘切到根目录, media 和 mnt 这两个目录被叫做挂载点目录。除此之外,我们也可以自己创建一个目录作为一个挂载点目录,

临时挂载:将指定的一个目录作为挂载点目录时,如果挂载点的目录有文件,那么文件会被隐藏。因此当我们需要挂载目录时,最好新建一个空文件夹来作为挂在点目录。(重启后失效)
最好挂载在一个新的空目录下,否则在有文件的目录下挂载会导致源目录下文件的丢失
首先在/目录下创建一个test目录用于测试,在test目录中创建一个文件file和一个目录directory

然后挂载sdb1,使用命令mount /dev/sdb1 /test 指将/dev/sdb1挂载到/test下
刷新一下重新进入test

(4)命令blkid:查看对应分区的UUID(编号)。UUID唯一标识每一个分区,防止错误的挂载。除此之外,还会显示分区的类型。(建议先复制一下sda5的UUID,一会儿会用到)
df -Th -----lsblk-f-------也可以查看分区格式化文件类型



( 5)永久挂载
1.使用vim编辑 /etc/fstab 在命令行直接输入vim /etc/fstab 就可以编辑,实现开机自动挂载 。
2. 在将光标移到UUID行,在命令模式下按o键进入插入模式,同时换行。将(4)步骤中复制好的sda5的UUID编号,粘贴进来。/test挂载点目录,ext3文件系统类型,第一个0表示不备份,第二个0表示不检查。注意格式一定要正确,可以不用对齐,最好的判断依据是依照颜色。写完之后保存退出。


版权声明:本文为weixin_67312727原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。