目录
- 引言
- 一、磁盘类型及 linux 中的表示方法
- 二、磁盘与分区查看工具
- 三、分区方案:MBR 与 GPT
- 四、磁盘分区操作
- 1. 写入磁盘标签(选择分区方案)
- 2. 创建 MBR 分区(以/dev/sdc为例)
- 3. 创建 GPT 分区
- 4. 使用fdisk工具分区(适合 MBR)
- 五、格式化分区(创建文件系统)
- 六、挂载分区(临时与永久)
- 1. 临时挂载(重启后失效)
- 2. 永久挂载(写入/etc/fstab)
- 七、交换分区(虚拟内存)管理
引言
磁盘管理是 Linux 系统运维的基础,涉及磁盘类型识别、分区方案选择、格式化及挂载等操作。本文将系统讲解不同磁盘类型的表示方法、分区工具的使用、MBR 与 GPT 分区方案的差异,以及临时和永久挂载的配置,帮助读者全面掌握磁盘管理流程。
一、磁盘类型及 Linux 中的表示方法
不同接口的磁盘在 Linux 系统中会被分配不同的设备文件名,便于识别和管理:
- SATA/SCSI/SAS 磁盘
- 以
sd
为前缀,第一块硬盘为sda
,第二块为sdb
,以此类推。 - 分区表示:第一块硬盘的第一个分区为
sda1
,第二个为sda2
,依此类推。
- 以
- NVMe 磁盘(高速固态硬盘)
- 以
nvmeXnYpZ
为格式,其中:X
:通道号(第一通道为0
);Y
:硬盘序号(第一块为1
);Z
:分区序号(第一个分区为1
)。
- 示例:
nvme0n1p1
表示第一通道的第一块 NVMe 磁盘的第一个分区。
- 以
- virtio-block 磁盘(虚拟机常用)
- 以
vd
为前缀,第一块硬盘为vda
,第一个分区为vda1
,命名规则类似 SATA 磁盘。
- 以
二、磁盘与分区查看工具
通过以下命令可查看磁盘类型、分区布局等信息:
- fdisk -l
- 列出所有磁盘及分区详情,包括设备名(
Device
)、引导标志(Boot
)、起始 / 结束位置(Start
/End
)、大小(Size
)、分区 ID(Id
,如83
表示 Linux 分区,82
表示 swap 分区)等。
- 列出所有磁盘及分区详情,包括设备名(
- parted -l
- 更详细地显示磁盘分区表信息,支持 MBR 和 GPT 分区方案,适合查看大磁盘(>2TB)的分区情况。
- 查看单块磁盘的分区表:
parted /dev/sda print
(将/dev/sda
替android换为目标磁盘)。
三、分区方案:MBR 与 GPT
磁盘分区需先选择分区方案,两种主流方案的差异如下:
特性 | MBR(主引导记录) | GPT(全局唯一标识分区表) |
---|---|---|
最大磁盘 分区大小 | 2TB | 支持 8ZB(远超 2TB,适合大磁盘) |
最大分区数 | 最多 15 个(主分区 + 扩展分区内的逻辑分区) | 最多 128 个分区(几乎无限制) |
引导记录存储 | 与分区表存在同一扇区(512 字节,含 446 字节引导代码、64 字节分区表) | 引导记录与分区表分离,分区表首尾各存一份(自带备份) |
兼容性 | 所有系统支持 | 需 UEFI 固件支持(现代系统普遍兼容) |
四、磁盘分区操作
分区前需先为磁盘写入标签(指定分区方案),再创建分区:
1. 写入磁盘标签(选择分区方案)
- MBR 标签:
parted /dev/sdb mklabel msDOS
(将/dev/sdb
替换为目标磁盘)。 - GPT 标签:
parted /dev/vdb mklabel gpt
(适用于大磁盘)。
2. 创建 MBR 分区(以/dev/sdc为例)
parted /dev/sdc # 进入分区工具,操作/dev/sdc磁盘 mklabel msdos # 确认使用MBR方案(若已写入可跳过) unit MB # 设置单位为MB(便于计算) mkpart # 新建分区 primary # 选择主分区类型(扩展分区用extended) xfs # 标记文件系统类型(仅标记,未格式化) 1MB # 起始位置(从1MB开始,避开引导区) 501MB # 结束位置(分区大小为500MB) quit # 退出,自动保存 udevadm settle # 等待系统识别新分区,生成/dev/sdc1设备文件
简化命令(非交互式):
parted /dev/sdc mkpart primary xfs 1MB 501MB
3. 创建 GPT 分区
操作与 MBR 类似,仅需将标签改为gpt
,支持更大分区和更多数量,适合 2TB 以上磁盘:
parted /dev/sdd mklabel gpt
(写入 GPT 标签)parted /dev/sdd mkpart primary xfs 1GB 100GB
(创建 1GB-100GB 的分区)
4. 使用fdisk工具分区(适合 MBR)
fdisk /dev/sdb
(进入交互式分区工具),常用指令:
n
:新建分区(主分区 / 扩展分区);d
:删除分区;p
:查看当前分区表;t
:修改分区 ID(如改为 swap 分区需设为82
);w
:保存退出;q
:不保存退出。分区后执行partprobe /dev/sdb
,让系统立即识别新分区。
五、格式化分区(创建文件系统)
分区需格式化后才能使用,常见文件系统类型为xfs
(Centos 7 + 默认)和ext4
:
mkfs.xfs /dev/sdc1
:将sdc1
格式化为 xfs 文件系统;mkfs.ext4 /dev/sdc2
:将sdc2
格式化为 ext4 文件系统。
六、挂载分区(临时与永久)
分区需挂载到目录才能访问,分临时和永久两种方式:
1. 临时挂载(重启后失效)
mkdir /data # 创建挂载点目录 mount /dev/sdc1 /data # 将sdc1分区挂载到/data
2. 永久挂载(写入/etc/fstab)
需将挂载信息写入javascript/etc/fstab
,格式如下(字段用空格分隔):
UUID=xxx /挂载点 文件系统类型 挂载参数 dump备份 fsck检查顺序
- 第 1 字段:建议用 UUID(分区唯一标识,避免设备名变动),通过
blkid /dev/sdc1
查询。 - 第 2 字段:挂载点目录(如
/cy
),需提前创建。 - 第 3 字段:文件系统类型(如
xfs
、ext4
)。 - 第 4 字段:挂载参数(
defaults
表示默认,含rw
、async
等)。 - 第 5 字段:
0
表示不备份(dump 工具),1
表示需要备份。 - 第 6 字段:
0
表示不检查(xfs 文件系统建议设为 0),1
/2
表示检查顺序(根分区设为 1)。
示例(挂载sdc1
到/cy
):
blkid /dev/sdc1 # 获取UUID,如"UUID=abc123..." mkdir /cjsy vim /etc/fstab # 添加一行: UUID=abc123... /cy xfs defaults 0 0 mount -a # 生效配置(检查是否有误,错误会导致重启失败)
七、交换分区(虚拟内存)管理
交换分区用于缓解物理内存不足,操作如下:
创建 swap 分区
parted /dev/sdc mkpart primary linux-swap 1MB 501MB # 创建分区 mkswap /dev/sdc1 # 格式化为swap文件系统
永久启用 swap
写入/etc/fstab
:
UUID=xxx swap swap defaults 0 0
生效:swapon -a
(开启所有 swap);swapoff -a
(关闭所有 swap)。
查看 swap 使用情况:free -m
(Swap
栏显示总大小、已用和空闲)。
通过以上步骤,可完成从磁盘识别、分区、格式rUdwbrO化到挂载的全流程管理,根据业务需求选择 MBR 或 GPT 方案,并通过/etc/fstab
实现永久挂载,确保系统稳定运行。
到此这篇关于Linux磁盘编程分区与挂载的完整流程的文章就介绍到这了,更多相关Linux磁盘分区与挂载内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论