在使用Linux服务器(尤其是云服务器、虚拟机)时,经常会遇到“磁盘总容量大于已使用容量”的情况——明明买了80G磁盘,却只用到了50G,剩余空间无法使用。这是因为磁盘未进行完整分区,空闲空间处于“未分配”状态,需要手动分区、格式化、挂载后才能正常使用。
本文结合实际操作场景(以80G磁盘为例,剩余30G空闲空间),一步步讲解从“查看空闲空间”到“分区、格式化、永久挂载”的完整流程,同时规避实操中常见的报错(如partprobe命令找不到、fstab配置错误导致开机故障),新手也能轻松上手。
一、前置准备:查看磁盘现状,确认空闲空间
首先需要明确磁盘的当前分区、挂载状态,确认空闲空间的位置和大小,避免误操作已使用的分区(比如系统分区)。
1. 查看所有磁盘与分区(推荐lsblk命令)
lsblk命令直观易懂,能清晰看到磁盘、分区、挂载点信息,是排查磁盘问题的首选命令:
lsblk实操输出示例(本文核心场景):
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 392K 0 rom
vda 254:0 0 80G 0 disk
|-vda1 254:1 0 47.4G 0 part /
|-vda2 254:2 0 1K 0 part
`-vda5 254:5 0 2.6G 0 part [SWAP]关键解读:
vda:总容量80G的磁盘(虚拟磁盘,云服务器常见命名);
vda1:已挂载到根目录(/),占用47.4G;
vda5:交换分区(SWAP),占用2.6G;
空闲空间:80G - 47.4G - 2.6G = 30G,处于未分配状态(无对应分区)。
2. 补充验证:查看分区表详情(fdisk命令)
若需确认空闲空间的具体位置,可使用fdisk命令查看分区表(需root权限):
sudo fdisk -l /dev/vda输出中会明确标注“空闲”空间的大小和扇区范围,确认无误后,即可开始分区操作。
二、核心操作:给空闲空间创建新分区
本次使用fdisk工具进行分区(Linux自带,无需额外安装),操作简单且兼容性强,适合新手。
1. 进入fdisk分区工具
执行以下命令,进入对vda磁盘的分区操作模式(交互模式):
sudo fdisk /dev/vda进入后,终端会显示fdisk的交互提示(输入指令即可执行对应操作)。
2. 分步创建新分区(交互指令)
按以下步骤输入指令,全程默认选项即可(避免手动输入错误),每一步的指令和作用如下:
执行w后,终端会提示“分区表已更新”,若提示“设备忙”,无需担心,后续步骤会解决。
3. 让系统识别新分区(避坑重点)
分区创建完成后,系统可能不会立即识别新分区,此时需要刷新分区表。很多新手会用partprobe命令,但部分精简版Linux系统(如轻量云服务器)会提示“partprobe: command not found”,这里提供两种解决方案:
方案1:安装partprobe(推荐,一劳永逸)
partprobe属于parted工具集,安装后可直接刷新分区表,适合后续多次操作磁盘:
# Debian/Ubuntu系统(本文场景)
sudo apt update
sudo apt install -y parted
# CentOS/RHEL系统(备用)
sudo yum install -y parted安装完成后,执行刷新命令:
sudo partprobe /dev/vda无输出即表示成功。
方案2:无需安装,直接验证(应急方案)
若不想安装额外软件,可通过以下命令直接验证新分区是否被识别:
# 重新读取分区表
sudo blockdev --rereadpt /dev/vda
# 查看新分区是否存在
lsblk /dev/vda若输出中出现vda6(本文场景),说明系统已识别新分区,可直接进入下一步。
三、关键步骤:格式化新分区(必须操作)
新创建的分区是“裸分区”,没有文件系统,无法直接挂载使用,需要先格式化。Linux最常用的文件系统是ext4(稳定、兼容好),本文以ext4为例。
# 格式化vda6为ext4格式,-F强制格式化(新分区无数据,放心执行)
sudo mkfs.ext4 /dev/vda6格式化过程会显示进度,完成后用以下命令验证:
sudo blkid /dev/vda6输出中若出现“TYPE="ext4"”和“UUID”,说明格式化成功(UUID后续永久挂载会用到)。
四、最终操作:临时挂载与永久挂载(重点避坑)
分区格式化后,需要挂载到指定目录才能使用,分为“临时挂载”(重启失效)和“永久挂载”(重启自动挂载),本文重点讲解永久挂载(避免新手重启后丢失挂载)。
1. 临时挂载(测试用)
临时挂载适合测试分区是否正常,步骤简单:
# 1. 创建挂载点(自定义目录,本文用/mnt/data)
sudo mkdir -p /mnt/data
# 2. 挂载vda6到/mnt/data
sudo mount /dev/vda6 /mnt/data
# 3. 验证挂载结果
df -h /mnt/data输出中若显示“/dev/vda6”挂载在“/mnt/data”,且大小约30G,说明临时挂载成功,可正常往该目录写入文件。
2. 永久挂载(核心,避免重启失效)
临时挂载重启后会失效,永久挂载需要将分区信息写入/etc/fstab文件(系统启动时自动读取),这里重点规避“fstab配置错误导致开机故障”的问题。
步骤1:获取新分区的UUID(关键!)
不建议用设备名(/dev/vda6)配置永久挂载,因为磁盘顺序变化可能导致设备名漂移(如vda6变成vda7),而UUID是分区的唯一标识,稳定性更高。
sudo blkid /dev/vda6复制输出中的UUID值(示例:12345678-1234-1234-1234-1234567890ab),后续会用到。
步骤2:备份/etc/fstab(安全第一)
/etc/fstab是系统核心配置文件,格式错误会导致系统无法启动,必须先备份:
sudo cp /etc/fstab /etc/fstab.bak若后续配置错误,可通过备份文件回滚。
步骤3:编辑/etc/fstab,添加挂载配置
使用nano编辑器(比vi更简单,新手友好)编辑fstab:
sudo nano /etc/fstab在文件末尾添加一行配置(替换成你的UUID和挂载点):
# 格式:UUID=你的UUID 挂载点 文件系统类型 挂载参数 dump fsck
UUID=12345678-1234-1234-1234-1234567890ab /mnt/data ext4 defaults 0 0参数说明(无需修改,默认即可):
defaults:默认挂载参数(可读可写、自动挂载、非根分区);
0(dump):禁用备份(一般非根分区都用0);
0(fsck):开机不检查文件系统(根分区用1,其他分区用0或2)。
步骤4:保存退出并验证配置
保存退出nano编辑器:
按Ctrl+O → 回车确认保存;
按Ctrl+X → 退出编辑器。
关键验证步骤:执行以下命令,检查配置是否正确(无报错即正常):
sudo mount -a若没有任何输出,说明配置正确;若报错,检查UUID、文件系统类型是否填写错误。
步骤5:最终验证永久挂载
重启服务器,验证挂载是否生效:
# 重启服务器
sudo reboot
# 重启后验证
df -h /mnt/data若输出中仍能看到/dev/vda6挂载在/mnt/data,说明永久挂载成功,后续重启服务器无需重新挂载。
五、常见问题与避坑总结
结合本次实操中遇到的问题,整理新手最容易踩的坑,提前规避:
报错“partprobe: command not found”:原因是未安装parted工具,执行sudo apt install -y parted(Debian/Ubuntu)即可解决;
fstab配置错误导致开机故障:提前备份fstab,配置后执行sudo mount -a验证,有报错及时修改;
分区后无法识别:用sudo blockdev --rereadpt /dev/vda重新读取分区表,或重启服务器;
格式化报错:确认分区号正确(如vda6),且该分区无数据(新分区可放心格式化)。
六、总结
Linux磁盘空闲空间使用的核心流程的是:查看空闲空间 → 创建新分区 → 格式化分区 → 永久挂载,全程操作不难,重点注意以下3点:
分区时用fdisk工具,按默认选项操作,最后一定要输入w保存;
永久挂载优先用UUID,避免设备名漂移;
编辑fstab前一定要备份,配置后必须验证(sudo mount -a)。
按照本文步骤操作,即可成功启用Linux服务器的空闲磁盘空间,适用于云服务器、虚拟机等大多数Linux场景(Debian/Ubuntu、CentOS均适用)。如果遇到其他报错,可留言反馈具体错误信息,逐一排查解决。
评论区