免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

VMware虚拟机安装、Linux部署与网络配置实战指南

VMware虚拟机安装、Linux部署与网络配置实战指南 虚拟机这个事我前后在十几台不同配置的机器上反复装过从最早把 VMware 装崩、Linux 系统起不来到后来网络配半天连不上外网、再到现在闭着眼睛也能把整套环境搭起来中间踩的坑能写满好几页纸。这篇就把 VM 软件下载、安装配置、Linux 系统部署、网络配置这几个环节从头到尾讲一遍顺带把大家最关心的软件授权问题说清楚。VM、Linux、网络配置这几个词对刚入行的朋友来说基本是三座大山——软件装不上、系统进不去、网怎么都连不通随便哪个环节都能卡住一整天。我准备按实际操作顺序把每一步的目的、参数背后的计算逻辑还有容易忽略的细节全部摊开讲让第一次接触的人也能跟着做下来。不管你用的是老笔记本还是台式机这套流程都能通用装完之后你能得到一个可以随便折腾、弄坏了直接删掉重来的 Linux 实验环境用来学命令、跑数据库、搭开发栈都合适。1. 先把思路捋清为什么要用虚拟机跑 Linux1.1 虚拟机到底替你解决了什么麻烦很多人第一次学 Linux 的困惑不是命令记不住而是根本没地方练。直接装双系统吧分区一不留神就把原来的 Windows 引导搞坏重装系统的成本太高买云服务器吧一个月几十块学生党或者刚入门的朋友未必愿意长期掏这个钱而且网络延迟、文件传输又是另一套麻烦。虚拟机的价值就在这里——它在你的物理机里用软件模拟出一台完整的假电脑有自己的 CPU、内存、硬盘、网卡你可以给它装任何系统哪怕装崩了删掉重来也就几分钟的事物理机纹丝不动。我习惯把虚拟机理解成一个沙盒。你在里面执行rm -rf /这种把整个系统删干净的骚操作最坏的结果就是重装系统主机上辛苦攒的资料一点没丢。这种安全感是让人敢放手去试错的前提。学 Linux 最怕的就是畏手畏脚虚拟机恰好把试错成本压到了最低。另外虚拟机还有一个隐形好处环境隔离。我在主机上装 Python 3.11虚拟机里可能只需要 Python 3.6 跑一个老项目两者互不干扰。数据库版本冲突、依赖库打架这些头疼的问题用虚拟机一隔就干净了。1.2 主流虚拟化软件怎么选市面上能选的方案其实不多桌面端主要就三家各自特点差异挺大选之前值得花五分钟对照一下软件授权方式性能表现上手难度适合人群VMware Workstation个人版可免费使用商业用途需授权强3D 和 USB 兼容好中等界面友好大多数人首选VirtualBox完全开源免费中等偶尔有驱动小毛病中等预算为零、喜欢开源Hyper-V随 Windows 专业版附带较强但独占性高偏难开关会互相冲突企业运维、Windows 重度用户我自己的主力是 VMware原因很实在快照功能稳定、拖拽传文件省事、网络模式切换直观遇到问题网上的解决方案也最多。VirtualBox 是很好的备选尤其适合完全不想为授权操心的朋友。Hyper-V 有个坑要提前说——它一旦启用会和 VMware、VirtualBox 抢占底层虚拟化权限导致后两者性能骤降甚至打不开所以这仨最好别同时开。提示如果你的机器是 Windows 家庭版系统里没有 Hyper-V这反而是好事省得跟 VMware 冲突。专业版用户可以手动关闭 Hyper-V路径在控制面板 - 程序和功能 - 启用或关闭 Windows 功能里。1.3 关于软件授权说点实在的大家搜教程时最容易被带偏的就是激活这俩字。我的态度很明确走官方正规渠道。VMware Workstation Player 对个人非商业使用是免费的功能上做学习实验完全够用Pro 版如果是公司或商业场景就老老实实买授权。预算实在紧张直接用 VirtualBox 或者免费开源的方案体验上完全能接受没必要去折腾来路不明的补丁那玩意儿轻则装一堆垃圾软件重则把系统搞出安全问题得不偿失。Linux 发行版这边大家更不用操心Ubuntu、CentOS、Rocky Linux、Debian 这些全部是开源免费下载的官方镜像站随便下不存在授权门槛。所以整个实验环境里唯一需要考虑授权的就是虚拟化软件本身而它有免费选项这事就被化解了。2. VM 软件下载与安装配置全流程2.1 下载渠道怎么选才安全下载这一步很多人不重视结果从某些下载站下到的安装包被捆绑了全家桶。我的建议是永远去官方站点下或者用官方镜像站。搜索的时候认准域名别点那些带着一堆广告的高速下载按钮。安装包一般分 32 位和 64 位现在基本都直接选 64 位除非你的老机器确实是 32 位系统。下载完成后务必核对一下文件大小和版本号是否对得上官方页面。我有一次下了半天发现版本下错了装到一半报错才发现白折腾。养成下载后先看大小和版本的习惯能省不少事。另外磁盘空间要提前规划。安装包本身可能几百兆但装完软件再加上后面 Linux 系统的镜像和虚拟磁盘至少要预留 60 到 80 GB 的可用空间。我建议单独划一个盘或者一个文件夹专门放虚拟机文件别跟系统盘混在一起否则系统盘爆红的时候你会很被动。2.2 安装过程的关键选项安装本身是傻瓜式的下一步下一步但有几个地方值得停一下。第一是安装路径。默认装 C 盘我一般会改到一个空间充裕的盘比如 D 盘新建一个VMware文件夹。原因很简单C 盘空间一旦紧张系统整体都会变卡而虚拟机软件和它的更新会持续占空间。第二是增强型键盘驱动选项默认勾上就行它能让你的快捷键在虚拟机和主机之间切换更顺滑。第三是首次启动时会让你输入授权信息。前面说过个人学习直接用免费版本就行该填的地方按官方流程走。安装过程中如果遇到杀毒软件拦截先临时关掉或者放行装完再打开。遇到过不少人卡在这里以为是软件坏了其实就是安全软件把安装驱动的动作挡了。装完之后重启一下确保虚拟网卡驱动正常加载。重启后你会发现在网络适配器列表里多出来几块VMnet开头的虚拟网卡这几块网卡就是后面网络配置的主角先记住它们的存在。2.3 装完先别急着建系统几个全局设置调一下打开软件之后先把偏好设置过一遍能少走弯路内存分配策略建议选允许交换大部分虚拟机内存这样能超配一点但别太过分。共享虚拟机路径统一到一个固定目录方便管理。快捷键默认的 CtrlAlt 释放鼠标有时候和输入法打架可以改成自己顺手的组合。还有 BIOS 里的虚拟化开关这个必须确认。Intel 平台叫 VT-xAMD 平台叫 SVM一般在 BIOS 的 CPU 设置或者高级设置里。如果这个没开虚拟机会报二进制转换与虚拟化不兼容直接起不来。开机时按 Del 或 F2 进 BIOS找到相关项设为 Enabled 就行。这个坑我第一次装的时候踩得结结实实折腾一晚上以为是软件问题最后发现是 BIOS 里的开关没开。3. Linux 系统安装镜像准备与虚拟机创建3.1 镜像选哪个发行版新手最容易纠结的问题Ubuntu 还是 CentOS我的建议分场景。如果你是想学桌面使用、日常敲命令、跑点开发环境选 Ubuntu软件源丰富社区活跃遇到问题一搜一大把答案而且它的 LTS 版本比如 20.04、22.04长期支持稳。如果你的目标是练服务器运维、企业级部署、学 yum 那一套选 CentOS 7 或者它的继任者 Rocky Linux 9命令风格和大量生产环境一致。我一般两个都装Ubuntu 用来日常折腾Rocky 或者 CentOS 用来模拟服务器。镜像文件从官方站点或国内镜像站下载格式通常是.iso。下载完最好校验一下哈希值虽然有点麻烦但能避免镜像损坏导致的安装中途失败——这种失败特别隐蔽会让你误以为是虚拟机配置的问题。3.2 创建虚拟机时的参数计算这一步是重头戏参数给得不合理后面系统要么卡要么慢。我按常见的中等配置机器16G 内存、i5 或 R5 以上来给参考值参数推荐值计算逻辑内存2~4 GB主机 16G 的话给虚拟机 2-4G留足给主机自己用CPU 核心2 核物理核心的一半以内别把 8 核全给虚拟机磁盘20~40 GB系统本身约 10G留出装软件和数据的空间磁盘类型单个文件便于迁移性能差别肉眼几乎看不出来网络模式先选 NAT装系统时最省事后面再讲怎么切内存这个事我特别想说一句不是给得越多越好。虚拟机内存是从主机物理内存里划走的你给虚拟机 8G主机就剩 8G一旦主机自己内存不够开始用硬盘当内存整台机器都卡成幻灯片。经验值是主机内存的 1/4 到 1/3。磁盘建议选将虚拟磁盘存储为单个文件虽然有人说拆成多个文件性能更好但实际体验差异可以忽略单个文件在复制迁移时方便太多。磁盘容量别抠宁可多给点因为虚拟磁盘是稀疏分配的——你给 40G它不会一开始就占 40G而是用到多少占多少。3.3 安装过程的关键分步虚拟机创建向导里会让你挂载 ISO 镜像。这里有个小技巧先选稍后安装操作系统这样你可以在配置好参数之后再手动点编辑虚拟机设置去挂载镜像避免向导自动帮你选了个不合适的系统类型。启动虚拟机后进入安装界面有几个岔路口第一语言和键盘布局选中文或者英文都行我习惯选英文命令输出和错误信息对照起来方便。第二磁盘分区。新手直接选自动分区或者使用整个磁盘就好别自己手动分分区方案没设计好容易出问题。等熟悉了再研究 LVM、独立挂载/home这些进阶玩法。第三用户创建。一定要设一个普通用户别全程用 root。Linux 的安全模型就是靠普通用户加 sudo 提权来控制的习惯从第一天就养成。密码设简单点没关系毕竟这是本地实验环境自己记得住最重要。第四安装类型。Ubuntu Server 版可以勾选安装 OpenSSH server这一步非常关键勾了之后你装完就能直接用 Xshell 远程连省得后面再补装。桌面版则无所谓系统自带。安装过程大概 10 到 30 分钟取决于你给的资源和镜像大小。装完提示重启记得先把 ISO 镜像从虚拟光驱里弹出否则它会又从镜像启动循环进安装界面这个现象第一次遇到会让人一脸问号。3.4 首次进入系统后的初始化进入系统后先做几件小事更新软件源、装常用工具、确认网络状态。Ubuntu 系用sudo apt update sudo apt upgrade -yCentOS 系用sudo yum update -y。第一次更新可能比较慢因为它要从默认源拉一堆索引国内用户建议先换成国内镜像源速度能快好几倍。换源这个操作我单独提一下因为它是后面网络配置能不能顺畅的前提。源配置对了装软件嗖嗖的源是默认国外地址下一个包等到天荒地老。具体换源步骤在下一节网络配置里会结合讲因为它和 DNS、网络连通性直接相关。4. 网络配置从连不通到畅通无阻4.1 三种网络模式到底啥区别网络配置这块是绝大多数人卡壳的地方我得先把原理讲透不然你照着改参数也是瞎改。NAT 模式虚拟机藏在主机后面通过主机的网络出去。相当于你和主机共用一个出口。虚拟机能上网、能访问主机但局域网里别的机器看不到它。适合只是想让虚拟机上外网、不搞复杂服务的场景。桥接模式虚拟机和主机平起平坐直接从路由器那拿一个和主机同网段的 IP在局域网里就是一台独立设备。适合需要让其他机器访问虚拟机的场景比如你搭个网站想让同宿舍的哥们访问。仅主机模式虚拟机只能和主机通信出不了外网。适合做纯隔离的实验一般学习用不上。我个人的默认选择是 NAT装系统、日常使用都省事。需要对外提供服务时再切桥接。4.2 NAT 模式下的上网配置装完系统如果发现ping www.baidu.com不通先别慌按顺序排查。第一步ip addr看虚拟机的网卡有没有拿到 IP。正常情况下 VMware 的 DHCP 会给虚拟机分配一个类似192.168.x.x的地址。如果没拿到说明虚拟网卡可能没起或者 DHCP 出问题了。第二步检查主机上的 VMnet8 这块虚拟网卡状态。如果它显示网络电缆被拔出或者有个感叹号说明 VM 的 NAT 服务没起来。解决办法是去服务里找到 VMware 相关的几个服务把它们启动并设为自动。第三步确认虚拟机的 DNS。有时候能 ping 通 IP 但 ping 不通域名就是 DNS 的问题。可以把 DNS 改成223.5.5.5或者8.8.8.8这类公共 DNS 试试。我遇到最多的情况是虚拟机网卡是 down 状态。用sudo ip link set ens33 up把它拉起来再用sudo dhclient ens33重新申请 IP基本上就通了。ens33这个网卡名根据你的系统可能不一样用ip addr看一下实际的即可。4.3 改成静态 IP别让地址每次都变动态获取的 IP 每次重启都可能变这对需要固定连接的场景很烦。比如你用 Xshell 保存了一个连接地址一变就得重配。所以配个静态 IP 是迟早要做的事。以 Ubuntu 20.04 及以后版本为例网络配置走的是 netplan配置文件在/etc/netplan/目录下通常是一个.yaml文件。编辑它network: version: 2 renderer: networkd ethernets: ens33: dhcp4: no addresses: - 192.168.100.88/24 gateway4: 192.168.100.2 nameservers: addresses: [223.5.5.5, 8.8.8.8]几个参数要注意addresses里的 IP 要选在你虚拟机所在 NAT 网段内并且避开 DHCP 自动分配的池子免得起冲突。gateway4填 VMware NAT 的网关地址这个地址可以在主机虚拟网络编辑器里查到一般是网段的.2。改完执行sudo netplan apply生效。CentOS 7 和 Rocky 9 的配置方式不太一样走的是/etc/sysconfig/network-scripts/ifcfg-ens33这个文件TYPEEthernet BOOTPROTOstatic ONBOOTyes IPADDR192.168.100.88 NETMASK255.255.255.0 GATEWAY192.168.100.2 DNS1223.5.5.5改完sudo systemctl restart networkRocky 9 用nmcli或systemctl restart NetworkManager。这里最容易忘的是ONBOOTyes不设成 yes开机网卡不启动你又得手动拉白配。4.4 配置国内软件源提速网络通了之后第一件事就是换源。Ubuntu 的源文件在/etc/apt/sources.list把里面的官方地址替换成国内镜像站地址然后sudo apt update刷新。Rocky/CentOS 的源在/etc/yum.repos.d/里同理替换。换源之后装软件的速度能有质的提升。这也是为什么我建议网络配置做完就立刻换源否则后面装 MySQL、装 Git、装 Node.js 的时候你会被龟速折磨。如果用的是 CentOS 7官方源停更后可能需要换到 vault 归档源或者第三方镜像这个情况比较特殊改的时候注意路径要写对写错了会报 404。注意改源之前先备份原文件cp sources.list sources.list.bak改坏了两分钟就能还原别把自己逼到重装系统的地步。5. 远程连接与常用环境搭建5.1 用 Xshell 连上你的 Ubuntu本地开个终端敲命令当然可以但真实工作中我们几乎都是远程连服务器。提前在虚拟机里练熟这套流程以后上手真机就不慌。Xshell 连接的前提是虚拟机装了 SSH 服务。Ubuntu Server 在安装时勾了 OpenSSH 就自带了桌面版或者 CentOS 最小安装可能没有需要sudo apt install openssh-server或sudo yum install openssh-server补上。装完确认服务在跑sudo systemctl status sshd。然后在 Xshell 里新建会话主机填虚拟机的 IP端口 22用户名填你创建的那个普通用户。第一次连接会提示保存主机密钥接受即可然后输密码就进去了。如果连不上八成是防火墙挡住了 22 端口Ubuntu 用sudo ufw allow 22CentOS 用sudo firewall-cmd --add-port22/tcp --permanent sudo firewall-cmd --reload。这里有个坑值得说桥接模式和 NAT 模式下虚拟机的 IP 类型不同。桥接的话局域网内任何机器都能连NAT 的话只有主机能连。你要是想从另一台电脑连就得用桥接。5.2 搭建一套顺手的开发环境环境跑通之后可以往里装点常用的东西把虚拟机变成一个趁手的实验室。我一般会装这些MySQL 的安装Ubuntu 用sudo apt install mysql-server装完跑sudo mysql_secure_installation做安全初始化。CentOS/Rocky 用的是 MariaDB 或者从官方仓库装 MySQL命令略有不同。装完记得开放远程访问权限并放行 3306 端口不然外部工具连不上。Git 的安装和配置更简单sudo apt install git然后配一下用户名和邮箱git config --global user.name 你的名字和git config --global user.email 你的邮箱。这两条命令看似不起眼但提交记录里的作者信息全靠它。Node.js 建议用 nvm 来管理版本比直接 apt 装灵活得多能随时切换不同版本。Maven 安装完记得配MAVEN_HOME环境变量再把它加到 PATH 里。这些环境搭好之后你手上就有一台功能完整的 Linux 开发机想怎么折腾都行坏了重装也快。5.3 快照虚拟机最香的功能说到重装快就不得不提快照。这是虚拟机相比物理机最大的优势之一。在装完系统、配好网络、装完环境之后打一个快照相当于给整个系统按了个存档键。之后无论你把系统搞得多乱恢复快照就能瞬间回到那个干净状态。我的习惯是打两层快照一层是纯净系统刚装完系统和网络另一层是开发环境就绪装好全套工具后。这样既可以退回干净状态重来也可以保留一个现成的开发环境。快照不是越多越好它会占用额外磁盘空间而且层级多了管理起来乱。一般保留两三个关键节点就够了。6. 常见问题排查与避坑实录6.1 网络适配器异常与连接不上VMnet1 有感叹号虚拟机没有网络适配器这类问题是我被问得最多的。根源通常是 VMware 的虚拟网络服务没启动或者主机上装了其他虚拟化软件抢了驱动。解决思路先在主机服务列表里确认 VMware 相关的几个服务都是运行状态如果还是不行用管理员身份打开软件进虚拟网络编辑器点还原默认设置它会重建虚拟网卡大多数情况下能修复。如果还原之后还有感叹号试试更新主机的网卡驱动或者卸载重装虚拟机软件。我遇到过一次是因为系统更新把某个网络组件改了重装软件才彻底解决。6.2 排查网络问题的固定套路网络不通的时候别瞎改参数按这个顺序走一遍基本能定位ip addr看网卡有没有 IP、是不是 up 状态。ping 网关IP看能不能到网关。ping 223.5.5.5看能不能出去。ping www.baidu.com看 DNS 通不通。cat /etc/resolv.conf看 DNS 配置对不对。这五步走完问题出在哪一层就清清楚楚了——出不去是路由或网关问题能 ping IP 不能 ping 域名就是 DNS 问题网卡没 IP 就是 DHCP 或者网卡没起。把这套流程背下来以后遇到网络问题心里就有底了。6.3 其他高频坑点下面这张表是我这些年攒下来的高频问题速查遇到对号入座现象大概率原因处理办法虚拟机开机报虚拟化不兼容BIOS 里的 VT-x/SVM 没开进 BIOS 开启虚拟化支持装完系统重启又回到安装界面ISO 还挂在虚拟光驱里弹出镜像或断开光驱连接系统装完卡在登录界面转圈磁盘或内存给太少关机调大资源再启动主机能 ping 通虚拟机虚拟机出不去网关或 DNS 配错检查 gateway 和 nameservers解压中文文件名乱码系统 locale 编码没设对配置 UTF-8 locale 或换解压工具解压乱码这个事特别常见尤其是在 Windows 上打包、Linux 上解压的场景。根因是 Windows 用 GBK 编码Linux 默认 UTF-8。解决办法是装个支持指定编码的解压工具或者用unzip -O GBK指定编码解压。这种问题看似小但在实际项目里处理数据文件时特别烦早点搞懂能少受罪。7. 关于命令行几点经验之谈7.1 常用命令要在用中学很多人一上来就想背命令大全背了几百条过两天全忘了。我的经验是别刻意背遇到需求现查现用用多了自然记住。真正高频的就那么几十个ls、cd、cp、mv、rm、mkdir、cat、grep、find、chmod、chown、ps、top、df、du加上网络相关的ip、ping、curl、netstat。这些覆盖了日常八成的操作。man命令是你最好的老师遇到不认识的命令直接man 命令名看手册比搜博客靠谱。再配合命令 --help基本能解决大部分疑问。7.2 养成安全习惯有几个命令用起来要格外小心。rm -rf的破坏力不用多说执行前务必确认路径chmod -R 777图省事给整个目录开满权限会埋下安全隐患别养成这个习惯。新建用户这件事用useradd或adduser创建独立账户需要高权限时用 sudo 提权而不是一路 root 到底。还有一点重要操作前先打快照这几乎是我每次折腾前的肌肉记忆。花十秒打个快照能省下几个小时的重装时间这笔账怎么算都划算。我个人最大的体会是虚拟机这套东西不怕折腾就怕你不折腾。装坏了顶多重来配错了顶多改回成本极低。刚开始配置网络那两天我也烦躁过但把 NAT、桥接、静态 IP 这几套打通之后你会发现无论换到哪台机器、哪个云平台底层的网络逻辑都是相通的。这套本地环境真正帮我省下的是无数次不敢下手的试错成本。
返回列表