如果你跟我一样,在 Windows 笔记本上折腾过 Linux,一定知道双系统来回重启有多麻烦:正在写代码,要切到 Ubuntu 跑一下服务,重启;改完代码回 Windows 做 PPT,又重启。几次下来,我直接把物理机上的 Ubuntu 卸了,改成在虚拟机里装 Ubuntu。日常开发、测试、练习 Linux 命令,基本都在这台虚拟机里完成,宿主机该上网上网,该办公办公,互不打扰。
这也是我决定写这篇文章的原因。网上 VMware 安装 Ubuntu 的教程一搜一大堆,但大多只讲“点下一步”,很少告诉你怎么选参数、为什么这么选,出了问题又怎么修。这篇文章就按我实际操作的顺序,把从下载镜像、创建虚拟机、安装系统,到换源、配输入法、开 SSH 的完整过程,连同踩过的坑一起记录下来。适合两类人看:一是第一次接触 Linux、想在 Windows 上多一个 Ubuntu 环境的初学者;二是已经装过系统,但被网络、驱动、远程连接这些问题卡住的普通用户。如果你只是想在虚拟机里快速跑一个 Ubuntu 看看长什么样,照着第一部分和第三部分走就够了;想长期当开发机用,建议把第四章也看完。
1. 安装前的准备:软件、镜像和资源规划
1.1 为什么要用虚拟机跑 Ubuntu
先讲清楚一个基础问题:为什么我不推荐双系统,而是用虚拟机。
双系统的核心问题是“切换成本高”。每次切换都要重启,而且物理机上装 Linux 后,碰到硬件兼容性问题的概率并不低:NVIDIA 驱动崩了要进恢复模式,Wi-Fi 网卡没有 Linux 驱动得换 USB 网卡,声卡睡眠唤醒后失灵等等。折腾几次之后你会发现,如果只是写代码、跑服务、学 Linux 命令,虚拟机的隔离性反而成了优势。虚拟机里跑坏了,拍个快照,一分钟恢复;不想用了,整个删除,物理机一点不影响。
另一个场景也特别适合虚拟机:你想试一个实验性的环境,比如把某个服务装在干净的 Ubuntu 24.04 上测试,但不想污染自己的开发机。这时候开一台虚拟机,装完测完直接关掉,比维护双系统省心太多。
虚拟机方案的核心工具就三样:虚拟机软件(VMware 或 VirtualBox)、Ubuntu 系统镜像 ISO、一台配置够用的宿主机。下面我一个个说。
1.2 VMware 怎么装:版本选择和安装前避坑
虚拟机软件我优先推荐 VMware Workstation Pro。虽然它现在是付费工具,但 Broadcom 接手后对个人用户放开了免费 License,注册一个账号就能拿到序列号,个人学习使用完全够。VirtualBox 免费开源也不错,但 VMware 在 3D 加速、USB 设备透传、快照管理这些方面更成熟,对新手的容错率更高。
下载和安装过程里有几个坑,我按顺序说:
- 安装路径不要放到 C 盘。虚拟机软件本身占空间不大,但它后面会缓存很多临时文件,放在系统盘容易把 C 盘塞满。建议装到 D 盘或者 E 盘的 Program Files 目录。
- 安装路径和虚拟机文件路径都别用中文。中文路径在 VMware 里通常没问题,但后续涉及 Linux 挂载共享目录时,中文路径偶尔会变成乱码,排查起来很费劲。
- 旧版本如果没有卸载干净,安装新版本时容易报错
错误代码: 0x80070424。这个错误在 Windows 的安装器层面很常见,多半是 Windows Installer 服务被禁用或旧版本残留导致的,我后面会在第五章详细说怎么修。 - 安装完首次启动如果提示“VMware Workstation 无法连接到虚拟机”,通常是 VMware 的 Windows 服务没有正常启动,或者杀毒软件拦截了 VMware Authorization Service。右键点击 VMware 图标选“以管理员身份运行”最直接。
1.3 镜像下载:官网、国内镜像和 SHA256 校验
Ubuntu 的版本选择上,我建议直接上 LTS(长期支持)版本。目前最新最稳的是 Ubuntu 24.04 LTS 系列,官方支持到 2029 年,日常工作完全够用。别急着追求新版本,没必要当小白鼠。
镜像下载有两条路:
第一条是官网。Ubuntu 官网的下载页面会引导你下载桌面版 ISO,文件名类似ubuntu-24.04.3-desktop-amd64.iso,大概 6GB 左右。官网速度在国内有时不太稳定,但胜在版本最新、文件最官方。
第二条是国内镜像源。清华大学 TUNA 镜像、阿里云镜像、中科大镜像都有 Ubuntu Releases 目录,速度通常能跑满带宽。比如清华的路径是mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/24.04/,阿里云是mirrors.aliyun.com/ubuntu-releases/24.04/。选择镜像站下载时要注意:只从.iso文件旁边找.SHA256SUMS文件,里面是官方校验值。
下载完成后,强烈建议校验一下 SHA256。别嫌这一步多余,我见过不止一次镜像文件下到一半损坏,安装器装到一半弹“无法读取 CD/DVD”的错误,浪费半小时。Windows 下用 PowerShell 执行:
Get-FileHash .\ubuntu-24.04.3-desktop-amd64.iso -Algorithm SHA256然后把输出的 hash 值和官网/镜像站上的 SHA256SUMS 比对,一致再进入下一步。
1.4 给虚拟机分配多大的磁盘和内存
创建虚拟机之前,先规划好资源,这决定了后面用得顺不顺手。我直接给一个经过实测的配置参考:
| 配置项 | 最低配置 | 推荐配置 | 说明 |
|---|---|---|---|
| 内存 | 2 GB | 4 GB - 8 GB | 宿主机若有 16 GB 内存,给 4 GB 起步;若只有 8 GB,给 2-4 GB,再低会卡 |
| CPU | 1 核 | 2 - 4 核 | 不用把宿主机的所有核心都塞进去,4 核足够日常编译和跑服务 |
| 磁盘 | 20 GB | 60 GB - 80 GB | 系统本身占十几 GB,装完开发环境和 Docker 很容易到 40 GB |
| 虚拟磁盘类型 | VMDK | VMDK | VMware 默认格式,兼容性最好 |
| 虚拟磁盘拆分 | 单个文件 | 拆分为多个文件 | 方便以后用 WinSCP 拷贝、迁移、备份 |
有几个细节要说一下。虚拟磁盘的大小一定别卡在 20 GB,因为 Ubuntu 装完基础系统加常用软件后就已经十几 GB 了,后面再装 Docker 镜像、Nginx 日志、编译缓存,分分钟爆盘。我建议一开始就设 60 GB,反正虚拟磁盘是“按需占用”的,不会一次性在你物理硬盘上占满 60 GB,只在里面实际写入时才慢慢增长。
内存分配可以看宿主机情况:Windows 宿主机如果有 16 GB 内存,平时浏览器和 IDE 大概占 6-8 GB,给虚拟机 4 GB 是安全线;想跑 JetBrains 全家桶或者编译大型项目,给 6-8 GB 会更舒服。开虚拟机之前把宿主机上暂时不用的程序关掉,体验会好很多。
2. 创建虚拟机:先把这些参数选对
2.1 新建向导里的关键选项
打开 VMware Workstation Pro,点击“创建新的虚拟机”,选择“典型(推荐)”即可。典型模式已经够用,不需要“自定义”模式里的高级选项。
在“安装客户机操作系统”这一步,选择“安装程序光盘映像文件(ISO)”,浏览选中你下载好的 Ubuntu ISO。VMware 会自动识别出 Ubuntu,如果它没有自动识别,你在下面的“版本”下拉菜单里手动选“Ubuntu 64 位”即可。这一步别选错成 32 位,现在绝大多数 ISO 都是 64 位,选错会导致无法启动或提示“不是有效的操作系统映像”。
接下来是虚拟机命名和位置。命名建议用英文,比如ubuntu-24-04-dev,位置选择刚才规划好的非系统盘目录。再往下是磁盘容量设置,直接改成 60 GB,勾选“将虚拟磁盘拆分成多个文件”。最后进入“自定义硬件”页面,把内存调到 4 GB 或 8 GB,处理器数量选 2-4 核,网络类型先保持默认的 NAT。
这里有个小细节:自定义硬件页面下方有个“新 CD/DVD (IDE)”选项,确认它是“启动时连接”,如果被取消勾选,虚拟机开机时会找不到安装介质,直接进入黑屏或 GRUB 救援模式。这个坑很常见,创建向导最后一步一定要回头看一眼。
2.2 网络模式:NAT、桥接和“为什么连不上”
网络模式的选择直接影响你之后能不能上网、能不能 SSH。VMware 提供三种主要模式,我简单解释一下:
- NAT 模式:虚拟机通过宿主机的 IP 访问外部网络。来源 IP 被 NAT 转换过,外部设备不能直接访问虚拟机,但宿主机可以访问虚拟机的 IP。这是默认模式,也是我最推荐的模式,因为最稳,不需要关心路由器配置,换网络环境也不会断。
- 桥接模式:虚拟机像是直接插在同一个局域网里的独立设备,有一个和宿主机同网段的 IP。局域网内其他设备可以直接 SSH 到虚拟机,公司里想要同事访问你的开发环境时比较方便。但缺点也明显,路由器 DHCP 如果严格,或者办公网络有准入认证,虚拟机可能拿不到 IP,直接连不上网。
- Host-Only 模式:只能和宿主机通信,默认不能上外网。一般用于测试网络隔离场景,日常使用不建议。
如果你发现用了 NAT 后虚拟机不能上网,先检查宿主机能否正常上网,再检查两个 Windows 服务:VMware NAT Service和VMware DHCP Service。这两个服务在 Windows 服务管理里可以看到,如果停止状态,右键启动。很多时候是 VMware 安装后没重启,或者杀毒软件把这些服务禁了,导致虚拟机有网卡但拿不到 IP。
2.3 打开虚拟机之前,先规避蓝屏和启动失败
点“开启此虚拟机”之前,有一个大坑必须先讲:Windows 系统如果开启了 Hyper-V 或者基于虚拟化的安全(VBS),VMware 和 Hyper-V 抢同一个 CPU 虚拟化资源,容易直接蓝屏或者报“无法启用虚拟机平台”。
怎么判断你的电脑开了 Hyper-V?最简单的方法:打开“任务管理器”—“性能”—“CPU”,看右下角“虚拟化”那一项。如果显示“已启用”,说明 CPU 虚拟化开着;再打开 PowerShell,以管理员身份跑一句:
bcdedit /enum | findstr hypervisorlaunchtype如果输出里有hypervisorlaunchtype Auto,说明 Windows 自带 Hyper-V 的 hypervisor 在开机时自启了,VMware 很容易和它冲突。解决办法是关闭它:
bcdedit /set hypervisorlaunchtype off然后重启电脑。如果之后你还要用 WSL2 或 Docker Desktop,再把该设置改回 Auto,这两者不能同时和 VMware 愉快相处。
补充一点:如果进安装界面后光标闪几下就重启,多半是 BIOS 里的 Intel VT-x 或 AMD-V 没打开。进主板 BIOS 设置里找Intel Virtualization Technology或SVM Mode,打开并保存重启即可。
3. Ubuntu 安装全流程:从开机到登录桌面
3.1 从 ISO 启动到安装向导
确认配置没问题后,点击“开启此虚拟机”。由于 VMware 已经挂载了 ISO 镜像,开机时会看到一行提示Press any key to boot from CD or DVD...,这时候在虚拟机窗口里按一下回车键,让它从 ISO 启动。如果超过几秒钟没按键,虚拟机可能会直接尝试从虚拟硬盘启动,然后进入黑屏界面。
按回车后,你会看到 Ubuntu 的 GRUB 启动菜单,通常有“Try or Install Ubuntu”和“Ubuntu (Safe Graphics)”两个选项。如果你的显卡或显示器兼容性差,选“Safe Graphics”能避免花屏,但 VMware 里一般直接回车就行。选第一个选项后,系统会加载桌面环境,进入一个“试用/安装”界面,桌面中间有一个大大的“安装 Ubuntu”图标。
在安装向导的“准备安装 Ubuntu”页面,建议把“安装 Ubuntu 时下载更新”取消勾选。下载更新会拖慢整个安装,而且国内网络环境下很容易卡在“正在下载更新”这一步,不如装完系统后连内网换源再 apt update,速度反而快得多。
3.2 分区:自动分区还是手动分区
安装向导到“安装类型”这步,很多新手会被吓到,界面上有“清除整个磁盘并安装 Ubuntu”“与 Windows 共存”“其他选项”等好几个选项。虚拟机里没有物理机数据安全的问题,我建议直接选“清除整个磁盘并安装 Ubuntu”,然后点“立即安装”。
这里的“清除整个磁盘”指的是虚拟机自己的虚拟磁盘,这一步对宿主机的物理硬盘完全没有影响,你可以放心大胆地选。如果你之前试过在物理机上装双系统,在这里可能会犹豫“会不会把我的 C 盘清了”,虚拟机里不会有这个问题。
进阶用户想手动分区也不是不行,但要注意虚拟机固件类型。如果是 UEFI 启动,你必须留一个至少 100 MB 的 EFI 系统分区;如果是传统 BIOS,需要留/boot分区。新手没必要折腾,用默认自动分区方案最稳妥,Ubuntu 会自己创建ext4根分区和swap交换空间。
3.3 用户信息与第三方软件选择
分区确认后,进入“您在哪儿”页面,时区选择Shanghai,系统会自动设置好时区和语言。接着是“您是谁”页面,填写姓名、计算机名和密码。这里有个我用血泪换来的建议:用户名一定要用英文小写。很多人在这里顺手填了个中文名,后面装开发环境时,/home/中文名路径里夹着中文和空格,很多编译工具和 Docker 挂载目录直接报错,处理起来特别麻烦。显示名称可以填中文,但登录用户名必须干净。
下一页会问你“选择您的登录方式”,在虚拟机里选“自动登录”更方便,但如果你有点洁癖,选“需要密码登录”也可以。安装完成后重启,就进入桌面了。
3.4 装完系统后立刻要做的两件事
进入 Ubuntu 桌面后的第一件事,打开终端(Ctrl+Alt+T),执行系统更新:
sudo apt update && sudo apt upgrade -y第二件事,安装 VMware Tools。VMware 17 一般会在创建虚拟机时自动给你装 open-vm-tools,但如果装系统前没自动装,或者你发现无法全屏、无法复制粘贴、无法拖放文件,那就手动装:
sudo apt install open-vm-tools open-vm-tools-desktop -y装完重启虚拟机,窗口可以自适应分辨率,剪贴板也能共享了。这时候强烈建议在 VMware 菜单栏“虚拟机 → 快照 → 拍摄快照”,给目前这个“干净系统”状态做一份快照。以后所有折腾,比如装显卡驱动失败、误删系统文件,直接恢复到快照节点,比重装省太多时间。
共享文件夹也顺手设置一下:VMware 菜单“虚拟机 → 设置 → 选项 → 共享文件夹”,选择“总是启用”,添加一个宿主机目录。设置完成后,这个目录会出现在虚拟机的/mnt/hgfs/下面,你在 Windows 里放进去文件,虚拟机里马上能读取,比拷贝镜像方便得多。
4. 装完系统后的必做配置:换源、输入法、SSH、开发环境
4.1 换国内软件源:别在 apt update 上浪费时间
Ubuntu 默认的软件源服务器在境外,apt update的速度懂得都懂,几十 KB/s 的进度条能让人崩溃。换源是我每次装完系统后必做的第一件事。
这里要分版本说明。Ubuntu 22.04 及更早版本,软件源配置文件是/etc/apt/sources.list,直接替换命令:
sudo sed -i 's|archive.ubuntu.com|mirrors.aliyun.com|g; s|security.ubuntu.com|mirrors.aliyun.com|g' /etc/apt/sources.listUbuntu 24.04 开始,软件源换成了 deb822 格式,配置文件在/etc/apt/sources.list.d/ubuntu.sources:
sudo sed -i 's|//.*archive.ubuntu.com|//mirrors.aliyun.com|g; s|//security.ubuntu.com|//mirrors.aliyun.com|g' /etc/apt/sources.list.d/ubuntu.sources改完之后执行sudo apt update,速度会有质的提升。如果你不确定自己系统的版本,用lsb_release -a查看。桌面版用户也可以打开“软件和更新”图形界面,在“下载自”下拉菜单里直接选“阿里云”或“清华”,效果一样。
4.2 中文输入法:fcitx5 是首选,搜狗输入法也可以
Ubuntu 自带的中文输入法框架是 IBus,能用但词库一般。我装完后直接用 fcitx5 全家桶,体验接近搜狗,而且完全不折腾。终端执行:
sudo apt install fcitx5 fcitx5-chinese-addons -y im-config -n fcitx5装完注销重进,然后在系统“设置 → 区域与语言 → 输入源”里点击“+”添加“中文(智能拼音)”。按Ctrl+Space切换中英文输入,按Ctrl+Shift在中文输入法之间切换。
如果你确实想装搜狗输入法 Linux 版,去官网下载 deb 包,然后:
sudo apt install ./sogoupinyin_*.deb -y如果提示依赖问题,执行sudo apt -f install -y修复。但要注意,搜狗官方对 Ubuntu 24.04 的支持目前还不算完美,有时候装完重启后输入法图标不见了。我的建议是:新手先用 fcitx5,词库已经满足日常输入需求了;如果你离不开搜狗皮肤和词库,再去折腾。
4.3 开启 SSH 和远程桌面:不占物理显示器也能干活
开发机上 SSH 是刚需。装完 Ubuntu 后很多人习惯于在虚拟机窗口里敲命令,但窗口分辨率、剪贴板偶尔抽风,远不如直接用 Windows 的终端 SSH 过去舒服。开启 SSH:
sudo apt install openssh-server -y sudo systemctl enable --now ssh然后看虚拟机 IP:
ip addr查看网卡ens32或ens33下面的inet地址。宿主机上打开 PowerShell:
ssh user@192.168.xxx.xxx输入密码即可登录。注意如果虚拟机防火墙 ufw 启动且没有放行 22 端口,宿主机是连不上的:
sudo ufw allow ssh远程桌面也可以顺带开启,用 Xrdp 加 Windows 自带的“远程桌面连接”最简单:
sudo apt install xrdp -y sudo systemctl enable --now xrdp然后在 Windows 上按Win+R,输入mstsc,连接虚拟机 IP,就能看到 Ubuntu 桌面。这个方案对后面想“用平板远程写代码”的场景也很香。
4.4 开发环境:gcc、Git、Nginx 多站点配置
如果你是要拿这台虚拟机做开发环境,基础工具链先装上:
sudo apt install build-essential git curl wget -ybuild-essential包含了 gcc、g++、make 等编译工具;git 和 curl 属于必备。之后如果你需要 Node.js、Python、Docker 等,按自己的项目再补。
这里多说一句,很多同学问“本地 + 虚拟机怎么配多端口 Nginx 开发环境”,其实思路很简单。在 Ubuntu 虚拟机里装好 Nginx 后,编辑/etc/nginx/sites-available/default,或者新增两个 server 块监听不同端口,例如:
server { listen 8080; server_name site1.local; root /var/www/site1; index index.html; } server { listen 8081; server_name site2.local; root /var/www/site2; index index.html; }然后在宿主机 Windows 的C:\Windows\System32\drivers\etc\hosts文件里加上一行:
192.168.xxx.xxx site1.local 192.168.xxx.xxx site2.local浏览器访问http://site1.local:8080和http://site2.local:8081,就实现了本地多站点的自定义域名访问。这样不用在 Windows 里装一堆服务端组件,全部跑到虚拟机里,干净又隔离。
4.5 显卡驱动:查看、安装和卸载的注意事项
虚拟机的显卡用的是 VMware 虚拟显卡,不需要官方 NVIDIA/A MD 驱动。用lspci | grep -i vga就能看到:
lspci | grep -i vga如果你在物理机上装了 Ubuntu,想装 N 卡驱动,可以先用:
ubuntu-drivers devices查看官方推荐驱动版本,然后sudo apt install nvidia-driver-xxx安装。
最麻烦的情况是“显卡驱动卸载不掉”。在虚拟机里因为默认虚拟显卡,装错驱动后系统会黑屏或花屏。解决办法是进入纯文本模式(Ctrl+Alt+F3),然后用 purge 彻底卸载:
sudo systemctl stop lightdm sudo apt purge '^nvidia' sudo apt autoremove sudo reboot如果你的虚拟机已经黑屏进不了桌面,就重启进入 GRUB 恢复模式,选择 root shell,再执行上面的卸载命令。建议在虚拟机里不要轻易装物理显卡驱动,真的没意义,虚拟显卡已经足够支撑桌面、编译和跑小型 GUI 应用了。
5. 高频问题排查:安装和日常使用中的踩坑实录
5.1 VMware 报错、蓝屏和无法连接虚拟机
先整理三类最常见的启动问题:
第一类是VMware 安装或启动时报 0x80070424。这个错误出现时,经常是在安装 VMware 的最后一步,或者打开虚拟机时提示“错误代码: 0x80070424”。问题根源通常是 Windows Installer 服务异常或旧版本残留。我试过有效的方法是:管理员身份打开 PowerShell,依次执行msiexec /unregister和msiexec /regserver修复 Windows Installer,再关闭杀毒软件,重装 VMware。如果还不行,去 VMware 官网下载官方清理工具,把旧版本彻底清干净再装。
第二类是开启虚拟机后蓝屏。我在 2.3 里已经讲过 Hyper-V/VBS 冲突的问题,这里再补充一个排查顺序:先看任务管理器里虚拟化是否启用;再检查 BIOS 里的 VT-x/AMD-V;然后检查 bcdedit 里 hypervisorlaunchtype 是否为 off;最后更新主板 BIOS 或重新安装 VMware Tools。
第三类是VMware Workstation 无法连接到虚拟机。双击桌面快捷方式直接打开 VMware,不做任何操作,等 20 秒再开虚拟机,多数时候是服务没拉起。按Win+R输入services.msc,找到VMware Authorization Service,右键启动并设置成“自动”,然后重启 VMware。另外,杀毒软件(尤其是 360 和火绒)经常拦截 VMware 的服务和驱动,遇到问题先把 VMware 加入白名单。
5.2 忘记 Ubuntu 密码怎么重置
这个场景我遇到过不止一次,尤其是你几周不登录某台测试虚拟机,密码自然就忘了。
最稳妥的方法是启动时进入 GRUB 恢复模式。如果 GRUB 菜单一闪而过,可以在开机时不停按Shift键(传统 BIOS)或Esc键(UEFI 启动)。在 GRUB 菜单里选择“Advanced options for Ubuntu”,再选带有“(recovery mode)”的内核版本,然后在菜单里选“Drop to root shell”。
进入 root shell 后,先看一下你的磁盘挂载情况,正常情况下根分区已经以只读方式挂载。重新挂载为可写:
mount -o remount,rw /然后修改密码:
passwd your-username输入两遍新密码后执行reboot -f重启。如果 recovery mode 进不去,就用 Ubuntu 安装 ISO 引导,选择“试用 Ubuntu”,挂载根分区后 chroot 进去重置,原理一样。
5.3 环境变量配置错误,命令全部失效怎么救
在 Ubuntu 里改环境变量翻车的频率远比你想象得高。常见症状是:打开终端后,所有命令都提示command not found,连ls、cat都找不到了。这是因为你改了~/.bashrc或/etc/profile里的 PATH,覆盖了系统默认路径。
这时候不要慌,用绝对路径先把 PATH 恢复出来:
/usr/bin/export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin恢复后打开出问题的配置文件,比如:
/usr/bin/nano ~/.bashrc把里面你自己加的那行错误路径注释掉,然后source ~/.bashrc或重启终端。如果是全局配置文件被改坏了,就编辑/etc/environment,这个文件是系统级 PATH 的来源,删除错误行后重启。
命令行里一定要小心:不要直接用sudo echo去覆盖/etc/environment或/etc/profile,因为重定向符和 sudo 一起用经常会意外截断文件,导致系统级 PATH 直接空掉。
5.4 SSH 连不上、usbfs 缓冲和复制粘贴失效
SSH 连不上的排查有个固定套路:先确认虚拟机有 IP,且宿主机能 ping 通。如果 ping 都 ping 不通,大概率是网络模式问题。NAT 模式下虚拟机和宿主机之间通常没问题;桥接模式下虚拟机可能拿到了公网或隔离网段 IP,导致宿主机路由不到。
如果 IP 通,但 SSH 连接超时,执行:排查 SSH 服务是否在监听22端口:
systemctl status ssh ss -tlnp | grep 22再用sudo ufw status看防火墙,如果Status: active,执行sudo ufw allow ssh放行。还有一个隐藏问题:如果虚拟机的 IP 经常变,SSH 连接时要用最新 IP,或者干脆在/etc/hosts里配一个固定的映射。
再说一个与 USB 设备相关的报错。在虚拟机里插 USB 设备时,有时系统会提示usbfs: buffer size之类的问题,常见于使用 USB 3.0 采集卡、调试器等设备。解决办法是在/etc/default/grub里的GRUB_CMDLINE_LINUX_DEFAULT这一行追加:
usbcore.usbfs_memory_mb=1024然后执行sudo update-grub并重启。这个参数能扩大 USBFS 缓冲,解决大部分缓冲不足的报错。
最后是复制粘贴失效。这个问题的优先级就一条:先确认open-vm-tools-desktop是否安装成功,其次检查 VMware 菜单“虚拟机 → 设置 → 选项 → 客户机隔离”里是否勾选了“启用复制粘贴”。两个确认没问题后还是不行,重启虚拟机基本能解决。
5.5 常见问题速查表
| 问题现象 | 常见原因 | 解决办法 |
|---|---|---|
| 虚拟机开机黑屏 | 未按键从 ISO 启动 | 开机时按回车,在启动界面选“Try or Install Ubuntu” |
| 安装过程中报 0x80070424 | Windows Installer 异常 | 管理员运行msiexec /unregister后msiexec /regserver,重装 VMware |
| 安装 Ubuntu 时蓝屏 | Hyper-V/VBS 冲突 | bcdedit /set hypervisorlaunchtype off后重启 |
| 虚拟机无法启动,提示 VT-x 不可用 | BIOS 虚拟化被关闭 | 进入 BIOS 开启 Intel VT-x / AMD-V |
| NAT 模式下虚拟机不能上网 | VMware NAT 服务停止 | 在 Windows 服务中启动 VMware NAT Service |
| 宿主机 SSH 连不上虚拟机 | 防火墙拦截或 SSH 未启动 | sudo ufw allow ssh,确认systemctl status ssh正常 |
| Ubuntu 开机后命令全部 command not found | PATH 被改坏了 | 用绝对路径恢复 PATH,修复.bashrc//etc/environment |
| 忘记登录密码 | 密码遗忘 | GRUB 恢复模式进入 root shell,执行passwd重置 |
| 虚拟机复制粘贴失效 | Tools 未装或服务异常 | 安装 open-vm-tools-desktop,重启虚拟机 |
| 安装 Ubuntu 时卡在“正在下载更新” | 网络慢 | 安装向导取消勾选“安装时下载更新”,装完后再 apt update |
| 磁盘空间不够 | 虚拟磁盘太小 | 用 VMware 自带的“扩展磁盘大小”功能扩容,或新建大磁盘虚拟机 |
| 远程桌面连不上 Ubuntu | xrdp 未启动 | sudo apt install xrdp,sudo systemctl enable --now xrdp |
6. 用熟之后的一些个人习惯
虚拟机用顺手之后,我总结了几条自己的固定习惯,不一定适合所有人,但足够让我少踩很多坑。
第一条是快照一定要勤。每次装完新软件、改完重要配置、准备折腾某个东西之前,先拍一个快照。很多人觉得快照占空间,其实 VMware 快照的差异存储做得很聪明,恢复到上一个稳定节点,比重装系统快太多了。我在虚拟机里折腾 Docker、Nginx、显卡驱动时,基本是“快照走天下”。
第二条是项目文件尽量通过共享目录或 Git 仓库放在宿主机里。虚拟机的磁盘本质上是个文件,如果哪天虚拟机文件损坏,至少你的代码还在宿主机上。我习惯在共享目录/mnt/hgfs/share里建项目,Windows 里备份、编译、传输都方便。
第三条是重置密码、换源、开 SSH 这三件套,在安装完系统后立刻做完。如果哪次虚拟机装完没来得及配置,过几周再打开的时候大概率会连不上网络或忘密码,到时全靠“恢复模式”救命,平白多花半小时。
再补充一个容易被忽略的习惯:虚拟机不是物理机,别拿它当游戏机。虚拟机里跑大型 3D 游戏、图形渲染、视频压制,效率都远低于裸机,而且会把 CPU 和内存吃满,宿主机都跟着卡。如果你想玩 Linux 生态里的大程序,或者需要 GPU 直通的场景,双系统才是正路。虚拟机的定位是“开发、测试、学习和跑轻量服务”,认清这个边界,用起来才开心。
这台虚拟机装好之后,我基本每周都会在里面跑容器、编译点小工具、写写脚本,偶尔还会把 Windows 里临时要跑的任务丢进去隔离执行。如果你也准备照着这套流程装一台,遇到具体卡点可以对照问题速查表逐项排查。装完记得先拍快照,后面所有折腾都会感谢这个动作。