1. VMware虚拟机安装Ubuntu全流程指南
作为从业十年的Linux系统管理员,我经常需要在VMware Workstation上部署各种Linux发行版进行测试。Ubuntu凭借其友好的社区支持和丰富的软件生态,成为最常用的开发测试环境之一。本文将基于VMware Workstation 17 Pro和Ubuntu 22.04 LTS版本,详细演示从零开始的完整配置过程,并分享我在企业级环境中积累的实战经验。
提示:虽然标题中写的是"Wmware",但正确的产品名称为VMware。本文所有操作均基于VMware Workstation Pro 17.0.2版本验证通过。
1.1 环境准备与镜像获取
首先需要准备两个核心文件:
- VMware Workstation安装包(官网或授权渠道获取)
- Ubuntu系统镜像(推荐从官网下载)
我强烈建议使用LTS(Long Term Support)版本,目前最新的是Ubuntu 22.04.3 LTS。官网下载地址为:
code复制https://releases.ubuntu.com/22.04/
选择"ubuntu-22.04.3-desktop-amd64.iso"文件下载(约3.7GB)。下载完成后务必校验SHA256值,避免镜像损坏导致安装失败。企业环境中我通常会提前下载好镜像并存储在本地NAS中。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. VMware虚拟机创建与配置
2.1 新建虚拟机基础设置
打开VMware Workstation,点击"创建新的虚拟机":
- 选择"自定义(高级)"配置
- 硬件兼容性选择"Workstation 17.x"
- 选择"稍后安装操作系统"
- 客户机操作系统选择"Linux",版本选择"Ubuntu 64位"
- 虚拟机名称建议包含版本信息如"Ubuntu_22.04_Dev"
- 处理器配置:开发环境建议2核以上,生产测试建议4核
- 内存分配:桌面版建议至少4GB,服务器版可2GB起步
- 网络类型:初次使用建议"NAT"模式(后文会详解不同模式区别)
- I/O控制器类型保持默认"LSI Logic"
- 磁盘类型选择"SCSI"
- 选择"创建新虚拟磁盘"
- 磁盘容量建议40GB以上,选择"将虚拟磁盘拆分成多个文件"
- 指定磁盘文件位置(避免使用中文路径)
2.2 关键硬件配置优化
创建完成后不要立即启动,还需进行几项重要调整:
-
ISO镜像挂载:
- 右键虚拟机 → 设置 → CD/DVD
- 选择"使用ISO镜像文件"并指向下载的Ubuntu镜像
- 勾选"启动时连接"
-
显示设置:
- 显存建议设置为2GB
- 开启3D图形加速
-
处理器设置:
- 开启虚拟化引擎
- 勾选"虚拟化Intel VT-x/EPT或AMD-V/RVI"
-
USB控制器:
- 建议启用USB 3.0支持
3. Ubuntu系统安装详解
3.1 图形化安装过程
启动虚拟机后进入安装界面:
- 选择"Install Ubuntu"
- 语言选择"English"(避免后续终端出现编码问题)
- 键盘布局选择"Chinese" → "Chinese"
- 网络连接:建议跳过(安装完成后再配置)
- 安装类型选择"Normal installation"并勾选"Install third-party software"
- 磁盘分区选择"Erase disk and install Ubuntu"
- 时区选择"Shanghai"
- 创建用户账户(建议密码复杂度满足企业安全要求)
- 等待约15-20分钟完成安装
- 提示重启时选择"Restart Now"
3.2 安装后首次配置
首次登录后建议立即执行:
bash复制sudo apt update && sudo apt upgrade -y
然后安装VMware Tools增强工具:
- 在VMware菜单选择"虚拟机" → "安装VMware Tools"
- 挂载后解压VMwareTools-*.tar.gz
- 执行安装脚本:
bash复制tar -xzf VMwareTools-*.tar.gz
cd vmware-tools-distrib/
sudo ./vmware-install.pl
4. 网络配置深度解析
4.1 VMware网络模式对比
| 模式 | IP分配方式 | 外网访问 | 主机访问 | 其他虚拟机访问 | 适用场景 |
|---|---|---|---|---|---|
| Bridged | 物理网络DHCP | ✔ | ✔ | ✔ | 服务器模拟 |
| NAT | 虚拟网络DHCP | ✔ | ✔ | ✘ | 个人开发环境 |
| Host-Only | 专用网络DHCP | ✘ | ✔ | ✔ | 内部网络测试 |
| Custom | 用户自定义 | 可变 | 可变 | 可变 | 复杂网络拓扑 |
4.2 多网卡配置实战
企业测试环境中经常需要多网卡配置:
- 关闭虚拟机 → 右键设置 → 添加"网络适配器"
- 选择不同网络模式(如一个NAT用于上网,一个Host-Only用于内网通信)
- 启动后使用
ip a命令查看网卡 - 配置/etc/netplan/00-installer-config.yaml:
yaml复制network:
version: 2
ethernets:
ens33:
dhcp4: true
ens38:
addresses: [192.168.56.100/24]
gateway4: 192.168.56.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
- 应用配置:
sudo netplan apply
5. 常见问题排查手册
5.1 安装阶段问题
问题1:启动时卡在"Loading initial ramdisk"
- 原因:通常与显卡驱动有关
- 解决方案:
- 在启动菜单按'e'编辑GRUB
- 在linux行末尾添加
nomodeset - 按F10启动
- 安装完成后安装合适显卡驱动
问题2:安装程序无法识别磁盘
- 原因:VMware虚拟磁盘控制器配置不当
- 解决方案:
- 关闭虚拟机
- 将磁盘控制器改为"SATA"
- 重新启动安装
5.2 运行阶段问题
问题1:分辨率不正确
bash复制# 查看可用分辨率
xrandr
# 设置分辨率(示例)
xrandr --output Virtual1 --mode 1920x1080
问题2:剪贴板共享失效
- 确认VMware Tools已安装
- 检查服务状态:
bash复制systemctl status vmware-tools.service
- 重启服务:
bash复制sudo systemctl restart vmware-tools
5.3 网络连接问题
现象:能ping通外网但无法apt更新
- 解决方案:
bash复制# 检查DNS配置
cat /etc/resolv.conf
# 临时修改DNS
sudo systemd-resolve --set-dns=8.8.8.8 --interface=ens33
# 永久修改
sudo vi /etc/systemd/resolved.conf
# 添加DNS=8.8.8.8
sudo systemctl restart systemd-resolved
6. 性能优化与高级配置
6.1 内存交换优化
默认swap配置可能不适合虚拟机环境,建议调整:
bash复制# 查看当前swap
free -h
# 创建专用swap文件
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 永久生效
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
6.2 磁盘性能优化
修改虚拟机配置(.vmx文件)添加:
code复制mainMem.useNamedFile = "FALSE"
disk.EnableUUID = "TRUE"
scsi0:0.virtualSSD = 1
6.3 多快照管理策略
- 重要操作前创建快照:
- 系统初始化完成
- 关键软件安装前
- 重大配置变更前
- 定期清理旧快照
- 快照命名规范示例:
- "PostInstall_Clean"
- "PreDB_Config"
- "PostSecurity_Harden"
7. 开发环境配置示范
7.1 Python环境配置
bash复制# 安装miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 创建虚拟环境
conda create -n dev python=3.9
conda activate dev
7.2 Docker集成
bash复制# 安装docker
sudo apt install docker.io
# 添加用户到docker组
sudo usermod -aG docker $USER
# 配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF
sudo systemctl restart docker
在企业级应用中,我通常会使用Ansible将这些配置自动化。以下是一个配置SSH的playbook示例:
yaml复制- hosts: all
become: yes
tasks:
- name: Install openssh-server
apt:
name: openssh-server
state: present
- name: Configure SSH
template:
src: sshd_config.j2
dest: /etc/ssh/sshd_config
notify: restart ssh
handlers:
- name: restart ssh
service:
name: sshd
state: restarted
经过这些年的实践,我发现几个关键点:1) 安装完成后立即创建完整克隆作为备份 2) NAT模式下端口转发比桥接更安全 3) 定期清理快照可以显著提升性能。最近在为客户部署K8s测试环境时,这套配置流程帮助我们在2小时内完成了10个节点的标准化部署。
