Linux基础知识 ·

Linux分区、格式化、校验与挂载

[隐藏]

一块新硬盘装载在Linux系统之后还不能使用,需要:

  1. 对磁盘分区,新建可用分区。
  2. 对分区格式化,创建可用文件系统。
  3. 校验文件系统完整性(可选)。
  4. 创建挂载点,挂载分区。

磁盘分区:fdisk、gdisk、parted、swap

fdisk -l 设备 可以显示设备分区内容,直接加设备可以进行分区。

其常用选项:

p:打印分区表。

d:删除分区。

n:创建分区

w:保存更改。

q:不保存退出。

m:获取帮助。


gdisk与fdisk命令相同,除了获取帮助是“?”。

fdisk会创建MBR类型的分区表,gdisk则支持GPT类型分区表。


parted命令是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具,与fdisk不同,它支持调整分区的大小。作为一种设计用于Linux的工具,它没有构建成处理与fdisk关联的多种分区类型,但是,它可以处理最常见的分区格式,包括:ext2、ext3、fat16、fat32、NTFS、ReiserFS、JFS、XFS、UFS、HFS以及Linux交换分区。

parted 选项 设备

其常用选项:

-h:显示帮助信息。

-i:交互式模式。

-s:脚本模式,不提示用户。

内部命令:

align-check:分区表对齐检查。

mklabel:设置分区表类型。

mkpart:创建分区【"primary"主分区, "logical"扩展分区, "extended"逻辑分区】需指定大小默认单位M,否则全盘分区。

name:设置分区名称。

print:显示分区表。

rescue:扫描指定范围内,修复丢失分区。

rm:删除分区。

select:选择要操作设备。

set:设置分区激活状态。

unit:指定显示单位。

toggle:切换分区状态。


swap分区,其为内存从磁盘划分的备用交换空间。

mkswap 设备  可将分区构建为swap格式。

swapon 设备  可开启swap分区。

swapoff 设备  可关闭swap分区。

当物理内存不够用时,系统会将swap分区作为缓冲区域,目前swap总量最大不得超过64GB。

修改文件系统参数

e2label 设备 新卷标名

通过卷标挂载文件系统优点是无论设备号如何变化,系统只会通过卷标识别分区,缺点也是显而易见的,若是有分区卷标相同,系统则会无法分辨。


tune2fs 参数 设备   重新设定ext系列文件系统可调整参数的值

其常用选项:

-l:查看指定文件系统超级块信息; super block

-L 'LABEL':修改卷标

-m #:修预留给管理员的空间百分比

-j: ext2升级为ext3

-O: 文件系统属性启用或禁用, –O ^has_journal

-o: 调整文件系统的默认挂载选项, –o ^acl

-U UUID: 修改UUID

分区格式化:mkfs、mke2fs

mkfs -t 文件系统格式 设备 可格式化分区

而mkfs还有更方便的命令mkfs.ext2、mkfs.ext3等等,可以不用添加选项手动输入文件系统格式,不过这些命令是看系统是否支持的哦。

mke2fs ext系列的文件系统工具

其常用选项:

-b:设置每个block大小,目前支持1K、2K、4K大小。

-i:每个iNode容量大小,应小于block大小。

-N:创建多少个iNode。

-c:磁盘检测,一个-c读取测试,两个-c -c读写测试。

-L:设置卷标名。

-j:使用etx3日志创建文件系统,需内核支持ext3。

-O FEATURE[,...]:启用指定特性

-O ^FEATURE:关闭指定特性

磁盘校验:fsck、badblock

当发生异常情况导致文件系统错乱时,我们就需要进行磁盘的校验了。

fsck 选项 设备

其常用选项:

-t:指定文件系统,一般会自动识别,无需指定。

-A:依据/etc/fstab 的内容,扫描需要的设备。

-a:自动修复检测到的问题。

-y:与-a 类似,但是某些问价那系统仅支持-y。

-C:显示进度。

ext系列额外参数(e2tsck提供)

-f:强制细化检查。

-D:针对文件系统下的目录进行优化配置。


badblock 选项 设备

其常用选项:

-s:列出进度。

-v:显示进度。

-w:写入方式检测,若有数据会摸除。

硬盘挂载:mount

  1. 单一文件系统不应重复挂载于不同挂载点;
  2. 单一目录不应重复挂载多个文件系统;
  3. 挂载点最好是空目录,若不为空将会暂时隐藏。

mount 选项 设备 挂载点

其常用选项:

-a:依据/etc/fstab 内容,将未挂载磁盘挂载上。

-l:增加显示label名称。

-t:指定欲挂载文件系统格式。

-n:不将挂载信息写入/etc/mtab 文件。

-L:(label)卷标方式挂载。

-o:挂载额外常用参数:

ro,rw:只读(ro),读写(rw)。

async,sync:默认同步写入(sync),异步写入(async)。

auto,noauto:是否允许mount -a 自动挂载。

dev,nodev:是否允许在此分区创建设备文件。

suid,nosuid:是否允许此分区含有suid/sgid文件。

exec,noexec:是否允许此分区有可执行binary文件。

user,nouser:是否允许此分区让任何用户挂载,默认只有root可以。

defaults:默认值【rw,suid,dev,exec,auto,nouser,async】

acl,noacl:是否开启acl权限。

remount:重新挂载。

特殊设备loop挂载:mount -o loop 设备名【如镜像、文件模拟磁盘等】


设置开机挂载

设置开机挂载需将挂载信息保存于/etc/fstab。

挂载的条件:

根目录必须挂载且必须是第一挂载项。

其他挂载点需为已有目录,最好遵守FHS标准原则。

每个挂载点同时只能挂载一个设备。

所有分区在同一时间内只能挂载一次。

如需卸载,其挂载设备需处于空闲,无使用状态。

其格式为一行六段,每段以空格隔开。

第一段:设备名或卷标名,也可以是分区UUID。

第二段:挂载点。

第三段:磁盘分区的文件系统格式。

第四段:文件系统挂载属性。

第五段:能否被dump备份命令作用(0关闭,1开启)。

第六段:是否开机fsck自检文件系统完整性(0关闭,1首先检测【一般设于根目录】,2次于1检测)。

卸载设备:umount

umount 挂载点

其常用选项:

-f:强制卸载。

-n:不更新/etc/mtab ,卸载。

参与评论