温馨提示×

VirtualBox中Linux系统如何进行磁盘管理

小樊
43
2025-12-31 16:01:47
栏目: 智能运维

VirtualBox 中 Linux 磁盘管理实操指南

一、前置准备与总体思路

  • 操作前务必关闭虚拟机,并优先完整备份重要数据(可用 rsync、dd、tar 等方式)。
  • 扩容思路分两步:先在宿主机用 VBoxManage 扩大虚拟磁盘文件;再在虚拟机内让 分区表与文件系统识别并利用新增空间。
  • 若当前磁盘为 VMDK,可先克隆为 VDI 再扩容:
    VBoxManage clonehd “源.vmdk” “目标.vdi” --format VDI
    然后对新 VDI 执行扩容命令。

二、扩展现有虚拟磁盘容量(宿主机操作)

  • 查看磁盘信息(获取 UUID 或路径):
    VBoxManage list hdds
  • 调整 VDI 大小(单位:MB;示例将磁盘扩至 50GB=51200MB):
    VBoxManage modifyhd “C:\VMs\vm\disk.vdi” --resize 51200
  • 若是 VMDK,先克隆为 VDI 后按上条命令扩容,再在虚拟机设置里用“使用现有虚拟盘”指向新 VDI。
  • 启动虚拟机,确认系统已识别更大容量(如 fdisk/lsblk 看到更大总容量)。

三、在 Linux 内扩展分区与文件系统

  • 识别设备与空间:lsblk、sudo fdisk -l,确认新增的未分配空间位置与大小。
  • 场景 A(非 LVM,直接在已有分区上扩容,示例为 ext4)
    1. 使用 parted 在线调整分区大小(保持起始扇区不变,仅扩展结束扇区):
      sudo parted /dev/sda
      (parted) resizepart 1 100%
      (parted) quit
    2. 扩展文件系统:
      sudo resize2fs /dev/sda1
  • 场景 B(使用 LVM 扩容,常见于 CentOS/RHEL 等)
    1. 创建新分区并设为 LVM 类型(示例新增分区为 /dev/sda3):
      sudo fdisk /dev/sda → n → p → 3 → 回车(起始扇区)→ 回车(占用全部未分配)→ t → 3 → 8e → w
      如遇“设备或资源忙”,执行 partprobe 或重启后再继续。
    2. 初始化为物理卷并扩容卷组与逻辑卷:
      sudo pvcreate /dev/sda3
      sudo vgextend <VG名> /dev/sda3
      sudo lvextend -l +100%FREE /dev/<VG名>/<LV名>
    3. 扩展文件系统:
      • ext2/ext3/ext4:sudo resize2fs /dev/<VG名>/<LV名>
      • xfs:sudo xfs_growfs /挂载点(如 / 或 /home)
  • 场景 C(新增一块虚拟硬盘,而非扩容原盘)
    1. VirtualBox 设置 → 存储 → SATA 控制器 → 添加虚拟硬盘(优先使用 SATA,避免 IDE)。
    2. 在系统内分区(fdisk/parted)、格式化(mkfs.ext4/mkfs.xfs)、挂载(mount),并在 /etc/fstab 写入持久化挂载条目。

四、常用命令速查表

目标 命令示例
宿主机扩容 VDI VBoxManage modifyhd “disk.vdi” --resize 51200
克隆 VMDK 为 VDI VBoxManage clonehd “a.vmdk” “b.vdi” --format VDI
查看磁盘与分区 lsblk、sudo fdisk -l
调整分区大小 sudo parted /dev/sda resizepart 1 100%
扩展 ext4 文件系统 sudo resize2fs /dev/sda1
扩展 XFS 文件系统 sudo xfs_growfs /mountpoint
LVM:创建 PV sudo pvcreate /dev/sda3
LVM:扩容 VG sudo vgextend vg_name /dev/sda3
LVM:扩容 LV sudo lvextend -l +100%FREE /dev/vg_name/lv_name
持久化挂载 echo ‘/dev/sdb1 /data ext4 defaults 0 0’

以上命令需按实际设备名(如 /dev/sda/dev/sdb)、卷组名(如 centosvg_aimin)与文件系统类型调整。

五、常见问题与排错要点

  • 虚拟机无法启动或分区表异常:检查分区起始扇区是否被改变;必要时用 LiveCD/救援模式修复或回滚。
  • 文件系统损坏:先卸载后执行 fsck 检查修复。
  • 扩展后 df 未变化:确认已对正确的 LV 执行了文件系统扩容(ext4 用 resize2fs,xfs 用 xfs_growfs 且对挂载点执行)。
  • 空间未识别:执行 partprobe 或重启,使内核重新读取分区表。
  • 扩容前务必完整备份,并在操作过程中保持电源与存储稳定。

0