VM虚拟机从入门到排障:安装、网络模式与共享文件夹高频问题全解析
2026/9/6 3:47:23 网站建设 项目流程

这篇文章真正要解决的问题,是很多人把“VM”只当成一个安装工具,装完系统就陷入各种玄学问题。文章会用场景化的方式,把从下载、安装、网络配置到常见故障排查的完整路径讲清楚。

VM 虚拟机从入门到排障:安装、网络、共享文件与高频问题全解析

如果你准备用虚拟机做实验、部署 Linux 环境或者装 Windows 老系统,先用 10 分钟看完这篇,能帮你省下一下午的排查时间。

1. VM 到底在解决什么问题,这篇文章能给你什么

几乎每个开发者和运维人员都会遇到这样的需求:手头只有一台 Windows 电脑,但想跑 Linux 命令、部署 CentOS 服务、尝试 Kali 工具或测试一个 ISO 镜像。以前的做法是准备第二台物理机,或者直接重装系统,代价都很高。VM 虚拟机就是为了解决“一台物理机同时跑多个操作系统”的问题而出现的。

很多人在搜索框里输入“vm 安装教程”,下载回来后一路点下一步,装完镜像却发现:虚拟机没网络、共享文件夹不显示、VMware 和 WSL 冲突、启动时报虚拟化错误、进入 PE 认不到硬盘。这篇文章不会只贴一个下载链接,而是把从安装到排障的完整路径梳理清楚,包括操作系统选择、网络模式原理、共享文件夹配置、硬盘扩容、开机自启动,以及那些“看起来很怪但经常遇到”的报错。

读完你能获得四个方面的能力:

  • 知道 VM 虚拟机与 Hyper-V、VirtualBox 的选用差异,不再乱选工具。
  • 掌握 VMware Workstation 的安装关键点和常见安装陷阱。
  • 搞清楚 NAT、桥接、仅主机模式的本质区别,并完成 CentOS 或 Ubuntu 的网络配置。
  • 遇到共享文件夹不显示、无法虚拟化、自启动无界面、连接超时等问题时,能按排查清单快速定位。

2. VM 虚拟机的基础概念:不只是“一个软件”

2.1 VM 到底指什么

VM 是虚拟机的通用缩写,但日常语境里有三层含义需要注意。第一层是“虚拟机技术”,指通过虚拟化层把物理硬件(CPU、内存、磁盘、网卡)抽象成多个独立环境;第二层是具体的虚拟机软件,比如 VMware Workstation,或者 Oracle 的 VirtualBox;第三层是某种行业软件的自带简称,例如海康威视的 VM 平台就是设备管理软件,和虚拟化没有关系。

这篇文章讨论的主要是 VMware Workstation 这一类桌面级虚拟化软件。要注意的是,VMware 官方已经对 Workstation Pro 调整了许可证策略,个人用户通常可以直接申请免费许可证,不要一上来就找“v16 许可证密钥”,先确认自己的使用场景是“个人用途”还是“商业用途”。

2.2 虚拟化层的角色:VMware、VirtualBox 与 Hyper-V

桌面虚拟化领域,主流选择是 VMware Workstation Pro、Oracle VirtualBox,以及 Windows 自带的 Hyper-V。

对比项VMware Workstation ProOracle VirtualBoxHyper-V
跨平台Windows / LinuxWindows / macOS / Linux仅 Windows
易用性高,图形化配置友好中,部分中文界面需要调整中,偏服务器管理员
性能图形和磁盘性能较好常规负载够用依赖 Windows 系统配置
与 WSL 兼容性默认不冲突,但需要关闭 Hyper-V 相关功能时注意同样受 Hyper-V 影响开启后 VS 和部分模拟器受影响
典型场景开发、测试、逆向、教程演示轻量实验、跨平台备份迁移企业级 Windows 环境

选择建议:如果主要跑 Windows 虚拟机,或者需要安装 macOS 做体验,VMware Workstation 通常是更顺手的选择;如果只是启动一个轻量 Linux 发行版,VirtualBox 也足够。这里不讨论破解和密钥问题,注意正版许可证使用边界。

2.3 为什么 VM 会存在“安装不了”或“无法勾选虚拟化”的问题

虚拟化能力是虚拟机软件工作的基础。很多人的物理机 CPU 支持虚拟化,但 BIOS/UEFI 中默认关闭了 Intel VT-x 或 AMD-V,导致 VMware 启动虚拟机时报错“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”。

解决前先检查电脑的任务管理器——性能页签里的 CPU 部分,如果“虚拟化”显示“已启用”,说明 BIOS 层面是开的。如果显示“已禁用”,需要进入 BIOS 的 Advanced 或 Security 菜单,找到 Intel Virtualization Technology / SVM Mode 并改为 Enabled。

另一个常见坑是 Windows 的 Hyper-V 与 VMware 冲突。开启 Hyper-V 后,VMware 会提示“VMware Workstation 与 Device/Credential Guard 不兼容”,或直接无法启动虚拟机。如果不需要 Hyper-V,请在“启用或关闭 Windows 功能”里取消勾选 Hyper-V、Windows 虚拟机监控程序平台和虚拟机平台,然后重启。

3. 环境准备与前置条件

在实际动手之前,建议先按表格确认环境,避免安装到一半才返工。

项目推荐要求
操作系统Windows 10/11 64 位,或主流 Linux 发行版
CPU支持并开启 Intel VT-x 或 AMD-V
内存建议 16 GB,至少 8 GB
磁盘至少留出 50 GB 可用空间
虚拟化设置BIOS/UEFI 中启用虚拟化,关闭或理解 Hyper-V 的影响
镜像文件官方 ISO,例如 ubuntu-xx.iso、CentOS-7-x86_64.iso

如果电脑内存只有 8 GB,创建虚拟机时不要分配超过 2 GB 内存,否则物理机会变得非常卡。安装系统之前,先确认镜像来源。热门下载站可能存在镜像被修改的风险,建议到发行版官方网站或可信镜像站下载。

如果终端已经开启 WSL,在安装 VMware 之前要评估是否会冲突。WSL 2 基于 Hyper-V 架构,它会让 VMware Workstation 部分情况下无法使用嵌套虚拟化。如果日常主要用 WSL 做轻量开发,又偶尔需要完整的 Linux 桌面,可以考虑 WSL 和 VMware 共存,但要注意 Windows 功能里的虚拟机平台开启情况。

4. VMware Workstation 下载、安装与新建虚拟机

4.1 从官方渠道获取安装包

搜索“vm 下载”时,经常遇到各种第三方站点推广捆绑安装包。更稳妥的判断是:直接访问 VMware 官网的下载页面,选择 Workstation Pro,按提示下载安装包。如果官网下载速度不理想,可以寻找受信任的软件镜像站,但下载完成后最好校验文件哈希。

安装包通常是一个几百 MB 的 exe 文件。安装时如果出现“需要重新启动计算机”的提示,可以先重启再接着装,否则可能遇到注册表或驱动不完整的问题。

4.2 安装过程中的关键选项

安装 VMware Workstation 的步骤基本都是许可协议、安装位置、快捷方式、是否检查更新。这里真正容易踩坑的是“增强型虚拟键盘驱动程序”选项。如果计划在虚拟机里使用特殊键盘布局或远程输入,建议勾选此项;普通用户不勾选影响也不大。

安装路径尽量不要选择包含中文和空格的目录,虽然新版支持中文路径,但为了后续命令行操作和共享目录配置的稳定性,推荐使用纯英文路径,例如D:\VMware

安装完成后打开软件,在“编辑”菜单的“首选项”里可以设置默认虚拟机位置,这个位置会存放所有虚拟机的 vmx 配置文件和 vmdk 虚拟磁盘文件。建议把它放在非系统盘的大容量分区,避免 C 盘被占用。

4.3 新建虚拟机的通用流程

创建一个虚拟机,本质上是在硬盘上生成一组文件,然后通过配置告诉 VMware“这台机器有 2 个 CPU、4 GB 内存、60 GB 磁盘”。当你选择“创建新的虚拟机”时,有三种方式:典型、自定义、通过镜像直接创建。

典型方式适合大多数场景:

  1. 选择安装程序光盘映像文件,也可以选择“稍后安装操作系统”。
  2. 客户机操作系统类型选择 Linux / Windows 对应的版本。
  3. 自定义命名,例如ubuntu-dev,位置选择刚才设置的默认路径。
  4. 指定磁盘容量,例如 60 GB。
  5. 点击完成,然后继续设置内存、CPU、网络和共享文件夹。

“稍后安装操作系统”更适合需要精细控制安装选项的情况,比如手动分区、选择最小化安装。如果使用 ISO 直接创建,VMware 会用简易安装模式自动填写用户名和密码,好处是省事,坏处是可能会安装默认的 open-vm-tools 之外的工具,反而不够纯净。

5. 完整示例:创建 CentOS 7 虚拟机并完成网络配置

下面用一个最小可复现的 CentOS 7 示例,把“创建虚拟机 → 安装系统 → 配网络 → 验证连通性”整个流程跑通。Ubuntu 和 Debian 的思路基本一致,只是包管理命令和网络配置文件名略有差异。

5.1 创建虚拟机配置

启动 VMware Workstation,点击“创建新的虚拟机”,选择自定义。

虚拟硬件建议:

配置项推荐值说明
内存2048 MB安装时 2 GB 足够,安装完成后可以改大
处理器2 核与物理机 CPU 型号无关
网络类型NAT方便虚拟机访问外网且不占用局域网 IP
I/O 控制器LSI LogicCentOS 7 默认兼容
虚拟磁盘类型SCSI性能较 IDE 好
磁盘容量40 GB拆分成多个文件更便于复制迁移

新建完成后,在虚拟机设置里挂载 CentOS ISO 镜像,启动虚拟机。

5.2 安装 CentOS 7 的关键步骤

启动后进入安装引导界面,选择 Install CentOS 7。语言选择中文或 English 都可以。软件选择处,如果只做最小化服务器环境,选“基础设施服务器”或“最小安装”;如果需要图形界面,选“带 GUI 的服务器”。

安装位置选择“我要配置分区”,创建如下分区:

/boot -> 1024 MB, 标准分区 / -> 剩余全部空间, LVM

注意不要删除系统默认保留的 BIOS Boot 分区或 EFI 分区,否则引导会失败。在“网络和主机名”处,打开以太网连接,否则装完系统后网络默认是关闭的。然后开始安装,设置 root 密码并创建普通用户。

5.3 配置静态 IP,解决开机后 IP 变化问题

安装完成后,虚拟机的网络默认使用 DHCP,重启后 IP 可能变化。如果是做实验环境,建议配置静态 IP。

编辑网卡配置文件:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

内容参考:

TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.88.128 NETMASK=255.255.255.0 GATEWAY=192.168.88.2 DNS1=8.8.8.8 DNS2=114.114.114.114

这里GATEWAY=192.168.88.2是 VMware NAT 模式的默认网关,如果记不住,可以打开 VMware 的“虚拟网络编辑器”,查看 VMnet8 子网和网关。

重启网络:

systemctl restart network

修改配置文件前,先复制一份备份:

cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak

5.4 验证网络连通性

ip addr show ens33 ping -c 4 8.8.8.8 ping -c 4 baidu.com

如果ping 8.8.8.8通,但ping baidu.com不通,说明 DNS 配置有问题。检查/etc/resolv.conf中是否写入了 nameserver,或者在网卡配置里补上 DNS 后重启网络。

6. 网络模式与常见连接问题:NAT、桥接、仅主机

6.1 三种网络模式怎么选

VMware 的虚拟网络编辑器里,VMnet0 默认桥接,VMnet1 默认仅主机,VMnet8 默认 NAT。

模式虚拟机能否访问外网外部能否访问虚拟机适用场景
NAT默认不能开发机需要上网,不关心局域网互访
桥接能,需占用局域网 IP模拟真实服务器加入局域网
仅主机不能隔离测试环境,仅宿主机与虚拟机通信

这里最常见的问题是:用 Finalshell 或 Xshell 连接虚拟机时提示java.net.ConnectException: Connection timed out

排查顺序如下:

  1. 确认虚拟机 IP 与宿主机的网段。
  2. 确认目标端口(默认 22)是否监听:ss -tlnp | grep 22
  3. 确认防火墙是否拦截:
systemctl status firewalld systemctl stop firewalld

如果不想关防火墙,可以放行端口:

firewall-cmd --permanent --add-port=22/tcp firewall-cmd --reload
  1. 检查 SSH 服务:
systemctl status sshd systemctl start sshd systemctl enable sshd

6.2 为什么 Nginx 或 Docker 端口外部访问不到

虚拟机网络是 NAT 模式时,宿主机可以直接访问虚拟机的服务,但局域网内其他电脑无法通过虚拟机 IP 访问。这不是 Nginx 或 Docker 配置错误,而是 NAT 相当于一层路由器网关,默认不会把外部请求转发到虚拟机内部。

如果是个人开发环境,直接用宿主机浏览器访问虚拟机的 IP 和端口即可,一般不需要配置端口转发。如果确实需要局域网访问,可以把虚拟机模式改为桥接,让虚拟机直接获得一个与宿主机同网段的 IP。

7. 磁盘扩容、快照与迁移

7.1 如何在虚拟机磁盘快满时扩容

创建虚拟机时如果只分配了 20 GB,后面安装 Docker 镜像和编译工具后很容易报磁盘满。有两种扩容方式。

第一种是直接在 VMware 界面操作:

  1. 关闭虚拟机。
  2. 虚拟机设置 → 硬盘 → 扩展。
  3. 将磁盘容量调大到目标值。
  4. 启动虚拟机,使用lsblk查看磁盘。

第二种是在 Linux 内完成分区和文件系统扩展。例如原磁盘 /dev/sda2 对应根分区,在 VMware 中扩展后,使用 gdisk 或 parted 扩展分区,然后执行:

lsblk df -h xfs_growfs /dev/centos/root

如果是 ext4 文件系统,使用resize2fs

7.2 快照不是备份,而是“后悔药”

VMware 快照保存的是虚拟机在某个时间点的磁盘状态和内存状态。做系统更新、写危险命令、测试脚本前,先拍一个快照。需要注意的是,快照不是完整的备份,它依赖于原始虚拟磁盘文件,长期保留大量快照会导致磁盘占用膨胀,也影响性能。

建议:短周期实验用快照,长周期数据用导出 OVF 模板或复制虚拟机目录。

7.3 把虚拟机迁移到另一台电脑

场景:你在公司电脑上装好了 Ubuntu 开发环境,回家还要继续用。迁移前先关闭虚拟机,然后在 VMware 菜单里选择“文件 → 导出为 OVF”,或者直接把虚拟机目录拷贝到移动硬盘。用 OVF 方式更规范,因为导出的文件包含了硬件配置信息和磁盘文件。

另一台电脑导入时选择“打开”并选中 .ovf 文件即可。如果出现“无法打开虚拟机”的提示,优先检查 VMware 版本是否过旧,以及虚拟机配置文件 vmx 里是否指定了不存在的硬件路径。

8. 共享文件夹、自启动与 WSL 冲突:高频问题排查清单

8.1 共享文件夹不显示

在虚拟机设置里添加“共享文件夹”后,Linux 客户机中通常需要手动挂载。

vmhgfs-fuse .host:/ /mnt/hgfs

如果提示vmhgfs-fuse: command not found,说明没有安装 open-vm-tools:

# Ubuntu 系: apt update && apt install open-vm-tools open-vm-tools-desktop # CentOS 系: yum install -y open-vm-tools open-vm-tools-desktop

Ubuntu 和 CentOS 安装完成后需要分别执行:

# Ubuntu mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other # CentOS systemctl restart vmtoolsd

如果要永久生效,将挂载命令写入/etc/fstab

.host:/ /mnt/hgfs fuse.vmhgfs-fuse defaults,allow_other 0 0

注意,Windows 客户机一般不需要手动配置共享文件夹,VMware 的共享文件夹功能通过 VMware Tools 自动映射。

8.2 VMware 开机自启动且不显示界面

有人想设置成开机自动启动虚拟机,类似于服务器重启后自动拉起虚拟机。可以通过 VMware Workstation 的“共享虚拟机”功能配合vmrun命令实现,但这属于进阶操作。VMware Workstation 本身的图形界面不会常驻后台,直接双击 vmx 文件在登录后启动即可。

如果希望虚拟机后台运行,可以用命令行:

vmrun -T ws start "D:\VMware\ubuntu-dev\ubuntu-dev.vmx" nogui

nogui参数表示不显示界面,适合服务器自动拉起的场景。

8.3 WSL 与 VMware 冲突

WSL 2 开启后,Windows 的 Hyper-V 功能会被一并启用,导致 VMware Workstation 提示“不兼容”。解决路径有三个方向:

  • 在 Windows 功能中关闭 Hyper-V、虚拟机监控程序平台,然后重启。代价是 WSL 2 无法使用,WSL 1 不受影响。
  • 保留 WSL 2,同时使用支持 Hyper-V 架构的 VirtualBox 6.1 以上版本,或使用 VMware Workstation 的“WHPX”模式,但性能可能下降。
  • 如果确定不常用 WSL 2,建议关闭以换取 VMware 的稳定体验。

这种冲突没有“完美解决”,本质上是两套虚拟化栈在竞争同一块 CPU 虚拟化资源。实际项目里更推荐按工作场景做取舍,而不是同时硬扛。

8.4 虚拟机进入 PE 认不到硬盘

安装 Windows 时进入 PE 系统,发现列表里看不到虚拟机硬盘。这个问题通常不是磁盘坏了,而是 PE 缺少 SCSI 控制器驱动。解决办法是新建虚拟机时把磁盘类型改为 SATA,或者在 PE 中加载对应驱动。更省事的方案是:创建虚拟机时选择“自定义 → I/O 控制器类型 → SATA”,再安装系统。

8.5 安装时卡在“正在安装虚拟网络”

安装 VMware 时卡在这一步,多半是系统里残留了旧的虚拟网卡驱动或第三方安全软件拦截。先退出安全软件,清理 VMware 后重装,或者用 VMware 安装包自带的修复功能。如果仍然失败,打开设备管理器,卸载所有 VMware 相关虚拟网卡再重装。

9. 性能优化、快照策略与安全边界

9.1 最影响虚拟机性能的三件事

第一,内存分配太多会拖垮宿主机。建议 16 GB 内存的电脑,虚拟机分配 4 GB 以内;32 GB 内存可以分配到 8 GB。第二,磁盘碎片化会降低 IO 速度,尽量把虚拟机磁盘文件放在 SSD 上。第三,CPU 分配不要超过物理机逻辑核心数的一半,否则调度开销很大。

在 VMware 设置中,可以勾选“加速 3D 图形”来提升图形界面流畅度,但只有在安装 VMware Tools 之后才有效果。如果虚拟机不跑 GUI 应用,把内存和 CPU 适当调低,反而整体更稳定。

9.2 快照和克隆:什么时候用哪个

快照适合短周期试错。克隆适合需要多台同环境虚拟机,例如要部署三台节点做集群实验。在 VMware 里创建克隆时,选择“创建完整克隆”可获得独立副本,选择“创建链接克隆”则依赖母盘,后者省空间但母盘不能移动。

实际项目中更稳妥的模板管理方式是用 Packer 或 Ansible 构建镜像,但实验环境用完整克隆已经足够。

9.3 安全边界:别把生产环境随便放进个人虚拟机

虚拟机不是隔离一切的保险箱。共享文件夹是宿主机与虚拟机共用的通道,恶意脚本可以读取挂载目录;桥接模式下,虚拟机直接暴露在局域网中,测试 SQL 或 Redis 时会成为攻击者的入口。

给一个最低安全清单:

  • 生产环境备份不要只放在虚拟机内部。
  • 宿主机防火墙和虚拟机防火墙按最小开放原则配置。
  • 不要在共享文件夹里保存私钥、密码文件。
  • Windows 虚拟机内不要关闭 Windows Defender,即使它拖慢速度。
  • 关闭虚拟机后,再复制或移动虚拟磁盘文件,避免文件损坏。

10. 总结与下一步

这篇从 VM 是什么讲起,覆盖了 VMware 安装选型、创建虚拟机、CentOS 网络配置、NAT/桥接/仅主机差异、磁盘扩容、共享文件夹、自启动、WSL 冲突、PE 认盘等大量实际场景,也给出了每类问题的最小排查步骤。最核心的判断是:虚拟机的难点不在“安装”,而在“网络模式、驱动、虚拟化开关和资源分配”这四件事上。

如果你现在手头有具体的虚拟机报错,建议打开虚拟机目录下的日志文件,比如 vmware.log,先看最后几十行,大多数问题都能从日志里找到线索。下一步可以尝试自己动手做三件事:

  • 创建第二台 Ubuntu 虚拟机,用 NAT 模式配置静态 IP,练习 SSH 登录。
  • 给虚拟机增加一块虚拟磁盘,练习分区格式化挂载。
  • 在虚拟机里安装 Docker,跑一个 Nginx 容器,感受容器和虚拟机的边界。

对正版许可证和版本兼容性有疑问的,直接参考 VMware 官方文档。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询