在 CentOS 的 VirtualBox 中配置虚拟机硬盘
一 创建与连接虚拟硬盘
- 在宿主机上打开 VirtualBox,选中目标虚拟机,进入 设置 → 存储。在 控制器 SATA 上点击添加硬盘图标,选择 创建新磁盘,常用格式为 VDI(仅在 VirtualBox 使用)或 VMDK(便于与其他平台互通);分配方式建议 动态分配(按需增长,节省空间),也可选 固定大小(性能略好、占用即时)。设置容量(如 20GB 起),完成后在存储树中确认新盘已连接到 SATA 控制器。安装系统时将安装目标指向该虚拟硬盘即可。
二 在 CentOS 内识别与初始化新盘
- 启动进入 CentOS,先确认新盘被识别:
- 查看块设备:lsblk
- 查看详细信息:sudo fdisk -l
- 常见新盘设备名为 /dev/sdb(若已有系统盘,通常为 /dev/sda)。以下以 /dev/sdb 为例进行分区与格式化(请按实际设备名替换)。
三 分区格式化与挂载
- 分区(MBR 示例,使用 fdisk)
- 执行:sudo fdisk /dev/sdb
- 交互步骤:输入 n 新建分区 → 选 p 主分区 → 回车使用默认分区号与扇区 → 输入 w 写入分区表并退出。
- 格式化(ext4 示例)
- 执行:sudo mkfs.ext4 /dev/sdb1
- 挂载使用
- 创建挂载点:sudo mkdir -p /mnt/newdisk
- 临时挂载:sudo mount /dev/sdb1 /mnt/newdisk
- 验证:df -h
- 开机自动挂载
- 编辑:sudo nano /etc/fstab
- 在末尾添加:/dev/sdb1 /mnt/newdisk ext4 defaults 0 0
- 注:如系统采用 LVM,优先在 LVM 层扩展逻辑卷与文件系统,再考虑直接对分区扩容。
四 扩展已有虚拟硬盘容量
- 宿主机侧扩容(关机操作)
- VDI 直接扩容(单位 MB):
- 命令:VBoxManage modifyhd “<虚拟机目录>/.vdi” --resize <新容量MB>
- VMDK 需先克隆为 VDI 后扩容,再按需转回 VMDK:
- 克隆:VBoxManage clonehd “disk.vmdk” “disk-cloned.vdi” --format vdi
- 扩容:VBoxManage modifyhd “disk-cloned.vdi” --resize <新容量MB>
- 如需 VMDK:VBoxManage clonehd “disk-cloned.vdi” “disk-resized.vmdk” --format vmdk
- 启动进入 CentOS 识别新容量
- 扩展分区与文件系统
- 非 LVM(ext4 示例):
- 调整分区表(删除旧分区并重建为更大的同一起始扇区,或使用 parted 调整大小),然后:
- 检查并调整文件系统:sudo resize2fs /dev/sda1
- LVM(常见默认):
- 扩展物理卷:sudo pvresize /dev/sdaX
- 扩展逻辑卷:sudo lvextend -l +100%FREE /dev/VolGroup/lv_root
- 扩展文件系统:
- ext4:sudo resize2fs /dev/VolGroup/lv_root
- xfs:sudo xfs_growfs /
- 验证:df -h。
五 常用命令与排错要点
- 宿主机常用 VBoxManage(CLI)
- 创建空盘:VBoxManage createhd --filename /disk.vdi --size
- 附加磁盘到虚拟机:VBoxManage storageattach “<VM 名称>” --storagectl “SATA” --port <端口> --device 0 --type hdd --medium /disk.vdi
- 系统内常用
- 识别磁盘:lsblk、sudo fdisk -l
- 分区工具:fdisk /dev/sdX 或 parted /dev/sdX
- 格式化:mkfs.ext4 /dev/sdX1
- 挂载与自动挂载:mount /dev/sdX1 <挂载点>;/etc/fstab 添加条目
- 排错要点
- 新增盘未显示:确认已连接到 SATA 控制器且虚拟机已重启;设备名可能为 /dev/sdb 或更高。
- 扩容后容量未生效:确认已扩展分区并调整文件系统(ext4 用 resize2fs,xfs 用 xfs_growfs;LVM 需先扩展 PV/LV 再扩文件系统)。
- 永久挂载失败:检查 /etc/fstab 语法与设备名是否正确,必要时先用 mount -a 测试。