目录
因为计算机中有了硬盘设备才使得我们游戏通关过后可以保存记录而不是再重新开始,硬盘设备则是由大量的“扇区”组成的,其中第一个扇区保存着主引导记录与分区表信息。单个扇区容量为 512bytes 组成,主引导记录需要占用446bytes,分区表的为64bytes,而每记录一个分区信息需要 16bytes,那么问题来了,好像只能记录4个分区信息?
所以运维人员一般会选择用3 个主分区加1 个扩展分区的方法,扩展分区中能够创建无限个逻辑分区,这样我们就可以用逻辑分区来满足多分区的需求了,当然这里大家只需明白为什么主分区不能超过4 个。
在Linux中一切皆是文件,那么硬件设备也不例外,常见的硬件设备命名如下:
硬件设备 | 文件名称 |
IDE设备 | /dev/hd[a-d] |
SCSI/SATA/U盘 | /dev/sd[a-p] |
软驱 | /dev/fd[O-1] |
打印机 | /dev/lp[0-15] |
光驱 | /dev/cdrom |
鼠标 | /dev/mouse |
磁带机 | /dev/st0 或/dev/ht0(IDE设备) |
因为现在的 IDE 设备已经很少见啦,所以一般硬盘设备都会是以“/dev/sd”开头的,而一台主机上
可以有多块硬盘,系统便会用 a-p 来代表 16 块不同的硬盘(默认从a 开始分配) 且分区编号也很有
讲究。主分区编号从1开始至 4 结束,按顺序 (也可指定分配数字)。逻辑分区从编号 5 开始按顺序
(也可指定分配数字)。
那么来分析下”/dev/sda5“代表着什么硬件设备吧~
下面我们开始学习
磁盘分区是在硬盘或其他存储设备上划分出独立的逻辑区域,每个分区被视为一个独立的存储空间。在Unix/Linux系统中,磁盘分区的主要目的是:
1.组织数据: 分区可以将操作系统、用户文件、应用程序和交换空间等不同类型的 data 分开存储,使得系统更易于管理和维护。
2.提高数据安全性: 通过将操作系统和其他重要数据放在单独的分区上,可以防止由于单一分区满载或发生问题而导致整个系统的崩溃。
3.优化性能: 根据不同的使用需求,可以为特定的应用程序或服务创建专门的分区,并调整其大小、文件系统类型和挂载选项,以优化存储性能。
最好在关机状态下添加磁盘
1.右击设置
2.点击添加磁盘
3.后面除了设置磁盘大小外,其余默认下一步就行
4.查看一下磁盘
方法1:输入ll? /dev/sd*? :查看磁盘,sda是系统的磁盘,sdb是新建的磁盘
方法2:输入lsblk? 列出块设备状态
如果是在开机的状态下添加的话,第一次查看可能会查看不到,重启之后就可以查看到了
或者输入下面这串命令,刷新一下磁盘接口就可以了
echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan
fdisk是一个在Unix/Linux系统中用于创建、删除、调整和查看磁盘分区的命令行工具。它主要用
对硬盘、SSD或其他块设备进行分区管理。使用该命令,需要有超级用户的权限
1.输入fdisk? /dev/sdb? :进入磁盘分区界面
fdisk命令基本选项:
命令 | 描述 |
n | 添加新的分区 |
d | 删除某个分区信息 |
l | 列出所有可用的分区类型 |
t | 改变某个分区的类型 |
p | 查看分区表信息 |
w | 保存并退出 |
q | 不保存直接退出 |
①输入 n :新建分区
②输入p:选择主分区,不输入直接回车默认是主分区
③输入1:按序号进行分区,默认是1,如果已经创建过一次分区,默认就是2,按顺序进行分区
④选择分区起始位置,默认即可
⑤根据磁盘大小区设置分区大小
输入p查看分区情况,而后输入w保存退出
查看分区结果,如果不显示的话,输入partprobe ?/dev/sdb(设备名)进行刷新? 不加设备名默认全部刷新
输入:mkfs.xfs /dev/sdb1? 格式化并为该分区创建文件系统,常见的文件系统类型包括ext4、xfs、Btrfs等。这里我们使用xfs格式
使用mount命令进行挂载
语法:mount? 【选项】 设备名? 目录名
输入mount? (-t? ?xfs) /dev/sdb1? /fdisk1? ?:mount命令会自动识别类型,所有-t 选项可以不添加
挂载后输入df查看挂载状态
-r? :表示只读挂载
正常挂载,是默认有读写权限的
输入mount 查看挂载的权限
加上-r 后 ,就只有读取权限
-o :(挂载文件系统的选项),多个选项使用逗号分隔
选项 | 功能 |
rw/ro | 是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。 |
async/sync | 此文件系统是否使用同步写入(sync)或异步(async)的内存机制,默认为异步 async。 |
dev/nodev | 是否允许从该文件系统的 block 文件中提取数据,为了保证数据安装,默认是 nodev。 |
auto/noauto | 是否允许此文件系统被以 mount -a 的方式进行自动挂载,默认是 auto。 |
suid/nosuid | 设定文件系统是否拥有 SetUID 和 SetGID 权限,默认是拥有。 |
exec/noexec | 设定在文件系统中是否允许执行可执行文件,默认是允许。 |
user/nouser | 设定此文件系统是否允许让普通用户使用 mount 执行实现挂载,默认是不允许(nouser),仅有 root 可以。 |
defaults | 定义默认值,相当于 rw、suid、dev、exec、auto、nouser、async 这 7 个选项。 |
remount | 重新挂载已挂载的文件系统,一般用于指定修改特殊权限。 |
如果有人正在使用挂载文件,无法解挂载,想要修改权限
输入:mount -o remount,rw /opt
这样就可以创建文件了
umount 设备名或挂载点
命令挂载只是临时的,系统启动后挂载就会失效,要想永久挂载需要写到/etc/fstab文件里,最好使用UUID号进行挂载
输入blkid? 设备名 查看UUID号
输入vim? /etc/fstab 进入编辑界面,输入下面内容
这个文件的内容是开机时自动加载,如果输入错误,开机检测不出来,就无法正常启动机器,所以一定要输入正确
下面给大家演示一下,如果该文件输入错误,怎么处理
把UUID号输入错误后,保存退出,再重启机器
重启超时后会显示出下面这个界面,系统会提示你按ctrl? + d重新启动,启动失败,是加载fstab文件时出现错误,重启也没用,要进入root用户,进行修改
把UUID号补全,或者把这一行删除,如果你不记得UUID号,也不想删除,可以在开头加#注释掉后登陆正常界面后再补全。编辑好后,输入reboot重启后就可以正常使用了
当磁盘建立四个分区后,想要再建立分区的话,需要建立扩展分区,而后建立逻辑分区,建立之前需要删除一个主分区
输入? d ,进行删除
要想建立逻辑分区,必须先建立扩展分区
①输入 n :新建分区
②输入e:选择扩展分区
③输入4:按序号进行分区,默认是1,如果已经创建过一次分区,默认就是2,按顺序进行分区
④选择分区起始位置,默认即可
⑤根据磁盘大小区设置分区大小
⑥再次输入n,建立新分区
后面按之前步骤,根据自己的磁盘大小进行配额,分区完成后按w回车保存退出
查看方法与挂载方法,与主分区一致
如果只有一块分区就建立逻辑分区的话按下图步骤
Swap交换分区是在Unix/Linux系统中用于虚拟内存的一种特殊类型的磁盘分区。当系统的物理内存(RAM)不足时,操作系统会将部分暂时不用的内存数据移到swap分区中,以便为当前运行的程序腾出更多的RAM空间。如果没有足够的swap空间,系统可能会因为无法分配更多内存而导致应用程序崩溃或系统挂起。
在创建虚拟机手动分区时,就已经建立了swap分区。输入free? -h? 查看一下? -h表示显示单位,加不加都可以,为方便大家观看,这里加上
我们现在想给他扩建一下,按下图步骤
输入 L (大写) 来查看分区ID号
设置完毕后,输入w保存退出
输入mkswap? /dev/sdb2? 格式swap化分区,
输入swapon? + 设备名? :开启swap分区
swap?毕竟是用硬盘资源虚拟的,所以速度上比真实物理内存要慢很多,一般只有当真实物理内存耗尽时才会调用swap