Kali Linux 磁盘扩容后内部分配完整教程

适用场景:VMware/VirtualBox 等虚拟机中已扩展虚拟磁盘容量,但 Kali 系统内部根分区空间未增加。


⚠️ 重要提醒

  • 操作前务必备份虚拟机快照或重要数据,磁盘操作存在风险
  • 确保虚拟机处于 关机状态 时再进行虚拟磁盘扩容操作

一、VMware 中扩展虚拟磁盘

  1. 关闭 Kali 虚拟机
  2. 右键虚拟机 → 设置硬盘扩展
  3. 输入新的磁盘大小(如从 50GB 扩展到 100GB)
  4. 点击 确定 保存

二、Kali 内部扩容操作

启动 Kali 后,按以下步骤操作:

步骤 1:确认磁盘已识别新容量

bash 复制代码
sudo lsblk

预期输出示例

复制代码
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0  100G  0 disk     ← 磁盘总容量已变为 100G
├─sda1                      8:1    0  512M  0 part /boot/efi
├─sda2                      8:2    0  244M  0 part /boot
└─sda3                      8:3    0   49G  0 part     ← 但 sda3 分区仍是 49G
  └─kali--vg-kali--lv     253:0    0   49G  0 lvm  /   ← 根分区也只有 49G

磁盘总容量增加了,但分区 sda3 和逻辑卷大小未变,需要手动扩展。


步骤 2:扩展物理分区

安装 growpart 工具(如未安装):

bash 复制代码
sudo apt update
sudo apt install cloud-guest-utils

扩展 /dev/sda3 分区到磁盘末尾:

bash 复制代码
sudo growpart /dev/sda 3

注意growpart 后参数是 磁盘设备名分区号 ,中间有空格,不是 /dev/sda3

验证分区扩展:

bash 复制代码
sudo lsblk

预期输出

复制代码
sda                         8:0    0  100G  0 disk
└─sda3                      8:3    0   99G  0 part     ← sda3 已扩展到约 99G

步骤 3:扩展 LVM 物理卷(PV)

让 LVM 识别分区的新大小:

bash 复制代码
sudo pvresize /dev/sda3

验证 PV 大小:

bash 复制代码
sudo pvs

步骤 4:扩展逻辑卷(LV)

将卷组剩余空间全部分配给根分区:

bash 复制代码
sudo lvextend -l +100%FREE /dev/mapper/kali--vg-kali--lv

路径名可能不同,可用 sudo lvs 查看实际的逻辑卷名称。

验证 LV 大小:

bash 复制代码
sudo lvs

步骤 5:扩展文件系统

根据文件系统类型选择命令:

ext4 文件系统

bash 复制代码
sudo resize2fs /dev/mapper/kali--vg-kali--lv

xfs 文件系统

bash 复制代码
sudo xfs_growfs /

Kali 默认通常使用 ext4,可用 df -Th 查看文件系统类型确认 。


步骤 6:验证扩容结果

bash 复制代码
df -h /

预期输出

复制代码
Filesystem                      Size  Used Avail Use% Mounted on
/dev/mapper/kali--vg-kali--lv    98G   25G   69G  27% /

根分区已成功扩展!


三、完整命令速查

bash 复制代码
# 1. 确认磁盘容量
sudo lsblk

# 2. 扩展物理分区
sudo apt install cloud-guest-utils
sudo growpart /dev/sda 3

# 3. 扩展 PV
sudo pvresize /dev/sda3

# 4. 扩展 LV
sudo lvextend -l +100%FREE /dev/mapper/kali--vg-kali--lv

# 5. 扩展文件系统(ext4)
sudo resize2fs /dev/mapper/kali--vg-kali--lv

# 6. 验证
df -h /

四、常见问题

问题 原因 解决
growpart 报错 "NOCHANGE" 分区后无未分配空间 确认已在 VMware 中扩容虚拟磁盘
resize2fs 报错 "Bad magic number" 文件系统类型不是 ext4 df -Th 确认,xfs 用 xfs_growfs
逻辑卷路径名不对 不同版本命名不同 sudo lvs 查看实际路径
无法在线扩展 分区正在使用中 确保是根分区在线扩展,LVM 支持在线操作

五、LVM 扩容流程图

复制代码
VMware 扩容虚拟磁盘
        ↓
Kali 识别新磁盘容量 (lsblk)
        ↓
扩展物理分区 (growpart /dev/sda 3)
        ↓
扩展物理卷 (pvresize /dev/sda3)
        ↓
扩展逻辑卷 (lvextend -l +100%FREE ...)
        ↓
扩展文件系统 (resize2fs / xfs_growfs)
        ↓
验证 (df -h)

总结 :Kali 使用 LVM 管理分区,扩容需要依次完成 分区扩展 → PV 扩展 → LV 扩展 → 文件系统扩展 四个步骤,缺一不可 。

相关推荐
刻BITTER1 小时前
VirtualBox 安装Armbian x86 虚拟机
linux·嵌入式硬件
想唱rap1 小时前
应用层协议与序列化
linux·运维·服务器·网络·数据结构·c++·算法
苏宸啊1 小时前
linux进程控制(一)
linux
开开心心_Every1 小时前
轻量级PDF阅读器,仅几M大小打开秒开
linux·运维·服务器·安全·macos·pdf·phpstorm
云达闲人2 小时前
搭建DevOps企业级仿真实验环境:006Proxmox 基础环境验证
运维·devops·proxmox ve·sre·仿真实验环境·快照与克隆·运维实操教程
the_fat_bird2 小时前
ubuntu install nvidia gpu driver
linux·运维·ubuntu
江南风月2 小时前
WGCLOUD如果使用SQL Server数据库推荐哪个版本
运维·网络·zabbix·运维开发·prometheus
IMPYLH2 小时前
Linux 的 tac 命令
linux·运维·服务器·bash
计算机安禾2 小时前
【Linux从入门到精通】第50篇:专栏总结与Linux学习之路的未来展望
linux·运维·学习