
1. 项目概述为什么选择在虚拟机里装Ubuntu如果你是一名开发者、运维工程师或者单纯是对Linux世界充满好奇的技术爱好者那么“在虚拟机里安装Ubuntu”这件事大概率是你技术栈里绕不开的一个起点。这听起来像是个基础操作但背后涉及的工具选型、配置细节和避坑经验恰恰是决定你后续学习和工作效率的关键。我见过太多人卡在安装这一步要么是虚拟机性能拉胯要么是网络、共享文件夹这些基础功能没配好导致后续的每一步都走得磕磕绊绊。所以今天我们不谈空洞的理论就从一个有十多年经验的“老运维”视角来手把手拆解一遍“Ubuntu虚拟机安装”这个看似简单、实则暗藏玄机的过程。我会基于最主流的VMware Workstation Pro和Ubuntu 22.04 LTS这个黄金组合把每一步操作背后的“为什么”讲清楚并分享那些官方手册里不会写的实战经验和避坑指南。无论你是想在Windows或macOS上搭建一个纯净的Linux开发环境还是需要临时测试某个服务这篇文章都能让你一次配好少走弯路。2. 核心工具选型与准备工作2.1 虚拟机软件为什么是VMware Workstation Pro市面上虚拟机软件不少VirtualBox免费Hyper-V集成在Windows里那为什么我强烈推荐VMware Workstation Pro以下简称VMware这完全是从长期稳定性和生产力角度考虑的。首先VMware的硬件兼容性和性能表现尤其是在图形和I/O方面经过多年企业级市场的锤炼非常可靠。你在里面跑图形化桌面、编译大型项目或者运行数据库服务都能获得接近原生硬件的体验。其次它的“快照”功能堪称神器。你可以在系统配置到完美状态时拍一个快照之后随便折腾玩崩了瞬间就能回滚这对学习和测试来说是无可替代的安全网。最后VMware Tools或开源的open-vm-tools的集成度极高能无缝实现主机与虚拟机之间的文件拖拽、剪贴板共享、屏幕自适应调整这些细节极大地提升了日常使用的便利性。当然VMware Workstation Pro是商业软件需要许可证。对于个人学习和非商业用途你可以申请其提供的免费个人使用许可证或者使用功能稍少但核心体验一致的VMware Workstation Player。相比之下VirtualBox虽然免费开源但在高分辨率屏幕支持、3D加速和与宿主机深度集成方面偶尔会有些小毛病适合对成本极度敏感或轻度使用的场景。注意务必从VMware官网下载安装程序避免使用来路不明的破解版以防捆绑恶意软件或导致系统不稳定。2.2 Linux发行版为什么是Ubuntu 22.04 LTSLinux发行版百花齐放但Ubuntu尤其是其LTS长期支持版本无疑是新手和专业人士的最佳起点之一。选择Ubuntu 22.04 LTS理由很充分长期支持与稳定性LTS版本提供长达5年的标准支持这意味着在2027年之前你都能定期收到安全更新和关键Bug修复无需频繁重装系统为生产环境和长期项目提供了坚实基础。庞大的社区与生态Ubuntu拥有最活跃的社区之一。你遇到的几乎任何问题都能在Ask Ubuntu、Stack Overflow或无数博客中找到解决方案。软件生态也极其丰富无论是开发工具、服务器软件还是桌面应用官方仓库或PPA通常都能提供。新手友好默认的GNOME桌面环境直观易用安装过程图形化引导清晰。对于从Windows/macOS转来的用户学习曲线相对平缓。作为学习跳板Ubuntu基于Debian掌握了它的apt包管理器和系统管理方式如systemd你未来过渡到Debian、Linux Mint甚至学习服务器管理很多云服务器提供Ubuntu镜像都会非常顺畅。下载时请前往Ubuntu官网或国内镜像站如阿里云、清华大学的开源镜像站获取“Ubuntu 22.04 LTS Desktop”的ISO镜像文件。选择桌面版是因为它包含了图形界面更适合初学者上手和日常开发。2.3 宿主机硬件准备建议虚拟机性能直接吃宿主机你的物理电脑的资源。在开始前请确保你的电脑满足以下推荐配置以获得流畅体验CPU支持虚拟化技术Intel VT-x或AMD-V。这是必须的需要在BIOS/UEFI设置中开启。现代CPU基本都支持但默认可能关闭。内存至少16GB。这是当前流畅运行“Windows/macOS宿主 Ubuntu虚拟机”的甜点配置。分配4-8GB给Ubuntu虚拟机宿主系统保留8GB以上才能保证两者都不卡顿。如果只有8GB内存建议分配给虚拟机4GB但宿主机会比较吃紧。存储至少为虚拟机预留50GB的SSD空间。Ubuntu系统本身约20-30GB但你需要空间安装开发工具、容器镜像和项目文件。强烈建议使用SSD虚拟机磁盘的读写性能会有质的飞跃。磁盘格式为虚拟机创建虚拟磁盘时VMware会问你是用“单个文件”还是“拆分成多个文件”。对于放在NTFS或APFS分区上的虚拟机强烈建议选择“单个文件”。虽然大文件移动起来可能稍慢但能避免因宿主机文件系统特性如NTFS对大量小文件处理不佳导致的性能下降和潜在问题。3. 虚拟机创建与Ubuntu安装全流程解析3.1 创建并精细配置虚拟机打开VMware点击“创建新的虚拟机”。选择“典型”配置即可大部分设置我们后面可以调整。安装来源选择“安装程序光盘映像文件(iso)”并指向你下载的Ubuntu 22.04 LTS的ISO文件。客户机操作系统VMware通常能自动识别为“Linux”和“Ubuntu 64位”。如果没有请手动选择。命名与位置给虚拟机起个易懂的名字如“Ubuntu22.04-Dev”。位置请选择一个剩余空间充足的SSD分区路径不要有中文或特殊字符。磁盘容量建议设置为80GB或更多。选择“将虚拟磁盘存储为单个文件”。不要勾选“立即分配所有磁盘空间”这样它会按需增长节省初始空间。自定义硬件关键步骤在完成向导前点击“自定义硬件”进行精细调整内存根据宿主机总内存来分配。16GB宿主机可分8GB32GB可分12-16GB。确保宿主机自身运行流畅。处理器分配2个或更多核心。如果CPU核心数多如8核16线程可以分配4核能显著提升虚拟机内编译等任务的性能。网络适配器默认的“NAT”模式最适合大多数情况。它让虚拟机共享宿主机的IP上网像家中的一台设备通过路由器上网一样无需额外配置宿主机和虚拟机可以互相访问。显示器将“加速3D图形”勾选上这对于GNOME桌面流畅运行和运行一些图形化开发工具很有帮助。USB控制器建议保留方便未来接入U盘等设备。完成这些设置后虚拟机就创建好了但它还是一个空壳等待安装操作系统。3.2 Ubuntu系统安装步骤详解启动新创建的虚拟机它会自动从你指定的ISO镜像启动进入Ubuntu安装界面。选择语言与键盘布局按提示选择中文或英文。更新与其他软件正常安装vs最小安装如果你是做开发或日常使用选“正常安装”它会包含网页浏览器、办公套件、媒体播放器等常用软件开箱即用。如果追求极简或用于服务器学习可选“最小安装”。安装Ubuntu时下载更新建议不要勾选。因为安装过程中的网络下载可能会很慢甚至因网络问题导致安装失败。我们可以等系统装好后在稳定的环境下再更新。为图形或无线硬件安装第三方软件务必勾选。这个选项会安装额外的闭源驱动如某些显卡、Wi-Fi网卡驱动对硬件兼容性和性能提升至关重要。安装类型磁盘分区这是新手最容易困惑的一步。对于虚拟机我们通常选择最省事的“清除整个磁盘并安装Ubuntu”。不用担心这里“整个磁盘”指的是你之前为虚拟机创建的80GB虚拟磁盘而不是你宿主机的物理硬盘所以绝对安全。安装程序会自动为你创建必要的分区EFI系统分区、交换空间、根分区/。时区与用户创建选择你所在的时区如上海。然后创建你的第一个用户你的姓名显示名如“Dev User”。你的计算机名这会成为虚拟机的主机名在网络中可见建议用英文如“ubuntu-dev”。用户名用于登录和终端提示符建议小写英文和数字如“dev”。密码设置一个强密码。下方可以选择“自动登录”或“要求密码登录”从安全角度建议选择“要求密码登录”。等待安装点击“安装”系统将开始复制文件。这个过程大概需要10-30分钟取决于你的硬盘速度。安装完成提示安装完成后点击“现在重启”。重启时VMware可能会提示“请按任意键从CD-ROM引导”这时不要按任何键让系统自然启动否则又会进入安装界面。如果它一直卡在这个提示你可以在虚拟机设置里将启动顺序调整为“硬盘”优先或者直接移除ISO镜像文件。重启后输入你设置的密码就能进入全新的Ubuntu桌面了。4. 安装后必做的优化与核心配置系统装好只是第一步让它变得顺手、高效才是体现经验的地方。以下配置请务必逐一完成。4.1 安装VMware Tools或open-vm-tools这是实现宿主机与虚拟机无缝集成的核心。Ubuntu 22.04 默认已经预装了开源版本的open-vm-tools但为了功能完整我们最好再补充安装桌面组件。首先更新软件包列表打开终端CtrlAltT输入sudo apt update安装完整的open-vm-tools以及桌面集成组件sudo apt install open-vm-tools-desktop安装完成后必须重启虚拟机sudo reboot重启后你应该能实现自由调整虚拟机窗口大小且桌面分辨率自适应、在宿主机和虚拟机之间无缝移动鼠标、共享剪贴板可以在宿主机复制文本在虚拟机内粘贴。文件拖拽功能可能需要手动启用但剪贴板共享在大多数开发场景中已经足够。4.2 配置软件源与系统更新系统安装时跳过了更新现在第一件事就是更换为国内镜像源以获得飞一般的下载速度。备份原有源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup编辑源列表文件。你可以使用图形化的“软件和更新”设置在“下载自”里选择中国的服务器如阿里云 mirrors.aliyun.com。或者用命令行这里以使用sed命令一键替换为阿里云源为例适用于Ubuntu 22.04sudo sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list sudo sed -i s/security.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list更新软件包列表并升级所有已安装的包sudo apt update sudo apt upgrade -y这个-y参数表示自动确认省去手动输入“y”的步骤。升级过程可能需要一段时间并可能要求重启。4.3 基础开发环境搭建一个干净的开发环境通常需要以下组件构建工具链很多软件编译需要。sudo apt install build-essentialGit版本控制sudo apt install git git config --global user.name Your Name git config --global user.email your.emailexample.comPython3及pipUbuntu 22.04 默认已安装Python3但pip可能需要单独安装。sudo apt install python3-pip可选Node.js可以从NodeSource仓库安装较新版本。curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs4.4 配置共享文件夹与宿主机交换文件虽然可以通过剪贴板传文本但传输文件最方便的还是共享文件夹。VMware提供了这一功能。在VMware中设置先关闭虚拟机电源。在VMware的虚拟机设置中找到“选项” - “共享文件夹”。选择“总是启用”然后点击“添加”按照向导选择一个宿主机上的目录例如D:\VM_Share并给它起一个在虚拟机内看到的名称如host_share。你可以选择“启用此共享”和“只读”根据需求。在Ubuntu中访问启动Ubuntu。共享文件夹通常会自动挂载在/mnt/hgfs/目录下。打开文件管理器导航到该目录应该就能看到你共享的文件夹如host_share。如果/mnt/hgfs为空这可能是因为open-vm-tools的HGFS模块未正确加载。可以尝试手动加载并创建挂载点sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid1000 -o gid1000为了让其开机自动挂载可以将上述命令去掉sudo使用user_allow_other选项添加到/etc/fstab中但操作稍复杂。对于日常使用如果自动挂载不成功写一个简单的shell脚本放在桌面需要时运行一下更稳妥。5. 高频问题排查与实战技巧即使按照步骤操作你也可能会遇到一些典型问题。这里记录了我踩过的坑和解决方案。5.1 安装启动阶段常见问题问题现象可能原因与排查思路解决方案虚拟机启动后黑屏左上角光标闪烁1. 显卡驱动/3D加速兼容性问题。2. 系统未正确引导。1. 尝试在虚拟机设置中**关闭“加速3D图形”**选项然后重启。2. 检查虚拟机设置中是否已正确加载ISO镜像并确保启动顺序是硬盘优先。安装过程中卡在某个百分比如“正在探测文件系统”1. ISO镜像文件损坏。2. 虚拟磁盘创建有问题。1. 重新下载ISO镜像并校验SHA256值。2. 尝试在创建虚拟磁盘时选择“SCSI”类型而非“NVMe”兼容性更好。重启后提示“Please remove the installation medium”虚拟机仍试图从ISO镜像启动。在VMware中右键虚拟机 - “设置” - “CD/DVD (SATA)” - 连接选择“使用物理驱动器”或“断开连接”。然后重启。5.2 网络与性能优化问题虚拟机内无法上网NAT模式首先检查宿主机网络是否正常。在Ubuntu终端输入ping 8.8.8.8。如果能通是DNS问题检查/etc/resolv.conf文件或尝试修改网络设置使用静态DNS如114.114.114.114和8.8.8.8。如果不通检查VMware的虚拟网络编辑器在VMware主菜单“编辑”下。确保“NAT模式”对应的虚拟网络是开启的。有时重启VMware的NAT服务在Windows服务中重启“VMware NAT Service”能解决问题。虚拟机运行卡顿内存不足检查宿主机和虚拟机的内存使用情况。确保没有过量分配。CPU资源争抢在VMware的虚拟机设置中给虚拟机分配更多的CPU核心。同时在宿主机任务管理器中确保VMware进程的优先级正常。磁盘I/O瓶颈这是最常见的原因之一。务必确保虚拟机磁盘文件.vmdk存放在SSD上而不是机械硬盘。同时在虚拟机设置中将虚拟磁盘类型设置为“NVMe”或“SCSI”它们性能优于IDE。图形开销如果不需要复杂的图形界面可以在安装时选择“最小安装”或者安装后使用轻量级桌面环境如Xfce。对于服务器用途直接安装Ubuntu Server版无图形界面是更好的选择。5.3 快照管理与日常维护心得快照是虚拟机的“时光机”一定要善用。创建策略在完成一个关键且稳定的配置阶段后如刚装好系统并更新完配置好所有开发环境部署好项目基础服务立即创建一个快照并给予清晰的描述如“Clean Base with Dev Tools”。不要过度依赖快照会占用磁盘空间并且随着虚拟机使用快照链变长可能会轻微影响性能。定期清理旧的、不必要的快照。克隆功能当你有一个配置好的“黄金镜像”快照后可以使用VMware的“克隆”功能快速复制出一个全新的、独立的虚拟机。这对于需要创建多个相同测试环境的情况非常高效。最后一个小技巧对于开发环境我习惯将所有的项目代码都放在宿主机上通过共享文件夹映射到虚拟机内进行编辑和运行。这样做的好处是你可以用宿主机上更熟悉的IDE如VSCode、PyCharm直接打开共享文件夹进行编码享受宿主机的性能而在虚拟机内进行编译、运行和测试保证环境的一致性。这实现了开发环境与运行环境的解耦既方便又高效。