Linux磁盘分区与挂载实操指南
在Linux系统中,磁盘作为核心存储设备,需通过分区规划与挂载关联才能被系统正常使用。无论是本地硬盘、U盘还是逻辑卷,都遵循“先分区(或准备存储单元)、再格式化、最后挂载”的核心流程。以下从基础分区工具、高级逻辑卷管理到挂载配置,带你掌握完整操作逻辑。
一、基础分区工具:parted
fdisk 仅支持2TB以下磁盘及MBR分区表,而 parted 兼容GPT分区表(支持2TB以上磁盘),是现代Linux更常用的分区工具。
核心参数速查
- -l :列出系统中所有磁盘及分区信息,无需进入交互模式。
- mklabel gpt :在磁盘上创建GPT分区表(若为2TB以下磁盘,可替换为 mklabel msdos )。
- mkpart :创建分区,需指定分区类型、文件系统类型、起始位置和结束位置。
- rm [分区号] :删除指定分区(如 rm 1 删除1号分区)。
- print :查看当前磁盘的分区表详情。
- quit :退出 parted ,操作即时生效(无需额外保存命令,需谨慎操作)。
实操步骤:用parted创建分区
以磁盘 /dev/sdb 为例,创建一个10GB的主分区:
1. 输入 parted /dev/sdb 进入该磁盘的交互模式。
2. 输入 mklabel gpt 初始化GPT分区表(若磁盘已分区,需先备份数据,此操作会清空分区表)。
3. 输入 mkpart primary ext4 1MiB 10GiB :
- primary 表示主分区(GPT无主分区数量限制);
- ext4 预设文件系统类型(仅标识,需后续格式化确认);
- 1MiB 起始位置(避开磁盘开头的保留区域);
- 10GiB 结束位置(分区大小为10GB)。
4. 输入 print 确认分区创建成功(会显示分区号、大小、类型等信息)。
5. 输入 quit 退出交互模式。
二、高级存储管理:LVM
当需要跨多个磁盘合并存储空间,或随时调整分区大小时,LVM(逻辑卷管理) 是最优选择。它通过“物理卷→卷组→逻辑卷”的层级结构,实现存储资源的动态分配。
核心概念与逻辑结构
- PE(物理扩展块):LVM的最小存储单元(默认4MB),所有物理卷、卷组、逻辑卷均以PE为单位分配。
- PV(物理卷):将磁盘分区或整个磁盘“包装”成LVM可识别的存储单元(如 /dev/sdb1 可转为PV)。
- VG(卷组):将多个PV合并为一个“存储池”,屏蔽底层磁盘差异(如将 /dev/sdb1 和 /dev/sdc1 的PV合并为 vg_data 卷组)。
- LV(逻辑卷):从VG中划分出的“虚拟分区”,可直接格式化并挂载使用(如从 vg_data 中划分15GB的 lv_doc 逻辑卷)。
关键命令实操
1. 创建LVM流程
- 制作PV: pvcreate /dev/sdb1 /dev/sdc1 (将两个分区转为PV)。
- 创建VG: vgcreate vg_data /dev/sdb1 /dev/sdc1 (合并PV为名为 vg_data 的卷组)。
- 创建LV: lvcreate -n lv_doc -L 15G vg_data (从 vg_data 中划分15GB的 lv_doc 逻辑卷)。
2. 扩展与查看
- 扩展VG:新增磁盘分区 /dev/sdd1 后,用 vgextend vg_data /dev/sdd1 将其加入卷组。
- 扩展LV: lvextend -L +5G /dev/vg_data/lv_doc (给 lv_doc 增加5GB空间,需先扩展VG或VG有剩余空间)。
- 查看状态: pvdisplay (查看PV)、 vgdisplay (查看VG剩余空间)、 lvdisplay (查看LV详情)。
3. 删除LVM(需先卸载逻辑卷)
- 删除LV: lvremove /dev/vg_data/lv_doc 。
- 删除VG: vgremove vg_data 。
- 删除PV: pvremove /dev/sdb1 /dev/sdc1 。
三、磁盘格式化:mkfs(为分区赋予文件系统)
分区或逻辑卷创建后,需格式化指定文件系统(如ext4、xfs),才能存储数据。 mkfs 是格式化的核心命令,不同文件系统对应不同子命令。
常用文件系统与命令
- ext4:Linux最经典文件系统,支持日志功能,兼容性好。
命令: mkfs.ext4 /dev/sdb1 或 mkfs -t ext4 /dev/vg_data/lv_doc 。
- xfs:CentOS 7+默认文件系统,擅长大容量存储,扩容效率高。
命令: mkfs.xfs /dev/sdc1 (xfs不支持缩减,需谨慎规划大小)。
- vfat:兼容Windows系统的FAT32文件系统,适合U盘、移动硬盘。
命令: mkfs.vfat /dev/sdd1 。
关键参数
- -L [标签名] :给分区设置标签(如 mkfs.ext4 -L data /dev/sdb1 ,标签可通过 blkid 查看)。
- -c :格式化前检查坏道(如 mkfs.xfs -c /dev/sdc1 ,耗时较长,适合新磁盘)。
四、挂载与开机自动挂载
Linux中,未挂载的分区/逻辑卷无法被访问,需将其“关联”到根目录下的某个空目录(挂载点),才能通过该目录操作存储内容。
1. 临时挂载(重启失效)
命令格式: mount [设备路径] [挂载点目录]
示例:
- 挂载ext4分区: mount /dev/sdb1 /mnt/data (将 /dev/sdb1 挂载到 /mnt/data )。
- 挂载LVM逻辑卷: mount /dev/vg_data/lv_doc /home/docs 。
- 挂载U盘(vfat格式): mount -t vfat /dev/sdd1 /mnt/usb ( -t 指定文件系统,通常可省略,系统自动识别)。
2. 永久挂载(修改/etc/fstab配置)
临时挂载重启后失效,需通过 /etc/fstab 文件配置永久挂载,该文件记录了系统开机时自动挂载的存储设备信息。
配置步骤
1. 查看设备UUID: blkid /dev/sdb1 (UUID是设备唯一标识,比路径更稳定,避免磁盘顺序变化导致挂载失败),输出类似:
/dev/sdb1: UUID="abc123-def4-5678-90gh-ijklmnopqrst" TYPE="ext4" LABEL="data" 。
2. 编辑 /etc/fstab : vi /etc/fstab ,在末尾添加一行(格式:UUID=xxx 挂载点 文件系统 权限 0 0):
UUID=abc123-def4-5678-90gh-ijklmnopqrst /mnt/data ext4 defaults 0 0 。
3. 验证配置: mount -a (加载 /etc/fstab 中的所有挂载项,无报错则配置正确)。
3. 卸载设备
命令: umount [挂载点] 或 umount [设备路径]
示例: umount /mnt/data 或 umount /dev/sdb1 。
注意:若提示“设备忙”,需先关闭该挂载点下的进程(如用 fuser -m /mnt/data 查看占用进程,再用 kill 结束)。
五、常用辅助命令
- lsblk :以树形结构显示磁盘、分区及挂载关系,直观查看存储拓扑(如 lsblk -f 可同时显示文件系统和UUID)。
- df -h :查看已挂载设备的磁盘占用情况( -h 以人类可读单位显示,如GB、MB)。
- du -sh [目录] :查看指定目录的实际占用空间(如 du -sh /home 查看/home目录大小)。
需要我针对某部分内容补充更详细的操作示例,比如“如何修复/etc/fstab配置错误导致的开机无法启动”,或者整理一份命令速查手册吗?
1888

被折叠的 条评论
为什么被折叠?



