在 CentOS 的 VirtualBox 虚拟机中设置分辨率
一、准备与安装增强功能
- 安装编译依赖(以 CentOS 7 为例):
- sudo yum install -y kernel kernel-core kernel-modules kernel-devel gcc make perl elfutils-libelf-devel
- 确认内核头文件与运行内核一致:ls /usr/src/kernels 与 uname -r;如不一致,先重启到新内核再继续。
- 安装 VirtualBox Guest Additions:
- 在虚拟机菜单 Devices → Insert Guest Additions CD image 挂载镜像,执行:
- sudo mount /dev/cdrom /mnt
- cd /mnt && sudo ./VBoxLinuxAdditions.run
- 安装完成后重启系统。安装日志位于 /var/log/vboxadd-setup.log,失败可据此排查。
二、图形界面下的快速调整
- 运行 Guest Additions 后,可在虚拟机窗口菜单 View → Virtual Screen 1 → Resize to [resolution] 直接选择所需分辨率,或在 GNOME/KDE 设置 → 显示 中选择并应用。
- 若未安装增强功能,通常只有 800×600 等低分辨率可选;安装后分辨率列表会显著丰富。
三、命令行设置分辨率(X11 与 xrandr)
- 查看当前输出与可用模式:
- 设置分辨率(将 <display_name> 替换为 xrandr 输出中的名称,如 Virtual1):
- xrandr --output <display_name> --mode 1920x1080
- 常见示例:
- xrandr --output Virtual1 --mode 1920x1080
- 若需要持久化,可将上述命令加入用户登录脚本(如 ~/.xprofile)或系统级会话启动脚本。
四、进阶与常见问题
- 自定义分辨率(当列表中无目标分辨率时):
- 使用 VBoxManage 注入自定义视频模式(示例为 1920×1080×32):
- VBoxManage setextradata “<VM 名称>” CustomVideoMode1 1920x1080x32
- 启动虚拟机后,用 xrandr 选择该模式,或在运行时通过 VBoxManage controlvm “<VM 名称>” setvideomodehint 1920 1080 32 应用。
- 让虚拟机随窗口/全屏自动匹配主机分辨率:
- VirtualBox 全局设定 → 显示 → 最大屏幕尺寸 设为 Hint(提示),然后在虚拟机设置 → 显示 → 屏幕 → 显卡控制器选择 VBoxVGA,重启后在 View 菜单使用自动适配/全屏即可跟随主机分辨率。
- 安装增强功能失败排查:
- 确保已安装与运行内核匹配的 kernel-devel/headers,并安装 gcc、make、perl、elfutils-libelf-devel 等工具;查看 /var/log/vboxadd-install.log 与 /var/log/vboxadd-setup.log 获取具体错误并针对性修复。