1. 虚拟机密码体系:宿主机、客户机与账号的边界
先花点时间把虚拟机密码这个东西的本质说清楚。很多人第一次接触虚拟机时,总有一个误解:觉得虚拟机的密码和宿主机的密码有关系,或者是某种“共享账号”。其实完全不是这么回事。
虚拟机(比如用 VMware Workstation、VirtualBox 创建的)本质上是一台运行在真实物理机里的“模拟电脑”。它的硬件是虚拟的,CPU、内存、硬盘、网卡都是软件模拟出来的,但它运行的操作系统是真实的、独立的。这就意味着:
- 虚拟机里的 Windows/Linux 账户信息存储在虚拟机自己的虚拟硬盘里,和宿主机完全不互通。
- 你在宿主机上改密码,虚拟机里的密码不会变;反过来,在虚拟机里改密码,宿主机也毫无感知。
- 虚拟机的无法登录、密码遗忘,可以有各种独特的恢复手段,因为你可以“绕过它的登录界面”去操作它的虚拟硬盘。
理解这个边界之后,操作起来思路就清晰了:修改虚拟机的密码,本质上就是在客户机操作系统上执行普通的密码修改操作,只不过你有一个额外的“宿主管控权”——你可以通过 VMware/VirtualBox 的管理界面去干预虚拟机的启动流程。这个额外的管控权,是物理机上没有的,也是后面所有救援手段的基础。
另外要区分几个概念:
- 宿主机(Host):你正在用的物理电脑。
- 客户机(Guest):在虚拟机软件里运行的虚拟系统。
- 虚拟机管理软件(Hypervisor):VMware Workstation、VirtualBox、Hyper-V、WSL2 等。
而 WSL2 有点特殊,它本质上不是传统虚拟机管理软件创建出来的“完整虚拟机”,而是通过虚拟化技术运行了一个轻量级 Linux 子系统。它的密码体系独立存在于发行版内部,但恢复思路和完整虚拟机又不太一样。后面我会单独拎出来说。
搞清楚这套边界之后,你再去看网上各种“修改虚拟机密码”的教程,就不会懵了。很多教程讲的其实是不同层面的东西:有的是操作系统内的普通改密,有的是忘记密码的紧急救援,有的是虚拟机无法启动时的修复操作。接下来我从最常见的场景开始讲起。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 登录正常时怎么改密码:Windows 与 Linux 两种路径
最常见的情况是:虚拟机还能正常启动,系统能进,只是你想换一个密码。这其实没有什么虚拟机专属的玄机,就是普通操作系统的改密流程。但既然是在虚拟机里操作,有几个细节值得单独说。
2.1 Windows 客户机改密码
如果你用的是 Windows 10/11 虚拟机,路径如下:
- 按下
Ctrl + Alt + Delete(在 VMware 里可能需要通过菜单发送,因为物理键盘的快捷键会被宿主机拦截)。或者直接点击开始菜单,输入“设置”; - 进入“账户” → “登录选项” → “密码” → “更改”;
- 输入当前密码,再输入两次新密码,确认即可。
如果你是在域环境或者用微软账户登录,改密码的逻辑略有不同。域账户密码由域控制器管理,改的是整个域账号的密码;本地账户则只改这台虚拟机的。
命令行方式更快:
bat复制# 以管理员身份打开 cmd 或 PowerShell
net user 用户名 新密码
比如:
bat复制net user administrator P@ssw0rd2025
执行之前最好先确认一下账号名。查看当前所有用户:
bat复制net user
2.2 Linux 客户机改密码
Linux 虚拟机相对更简单,在终端里输入:
bash复制passwd
这会修改当前用户的密码,系统会先让你输入旧密码,再输入两遍新密码。如果当前用户没有 sudo 权限,或者你想改别人的密码:
bash复制sudo passwd 用户名
root 账户的修改:
bash复制sudo passwd root
在 Ubuntu 默认环境下 root 通常是锁定的,用 sudo 就能提权。如果你想顺便解锁 root 账户,可以执行:
bash复制sudo passwd -u root
2.3 SSH 场景下的改密
很多人用虚拟机当 Linux 服务器用,平时都是通过 SSH 登进去的,根本没有在虚拟机界面操作。这种情况下改密码要注意:如果用 passwd 改了当前用户的密码,已经连接的 SSH 会话不会断,但如果你的 SSH 授权方式是密码登录,下次连接时就必须用新密码。
如果是为了安全审计或者临时给用户重置密码,推荐用:
bash复制sudo chage -d 0 用户名
把用户的密码过期时间设为 0,强制对方下次登录时立刻换密码。这个操作在做运维交付时非常实用,比直接告诉对方新密码要安全。
2.4 一些容易踩的坑
我给几个在虚拟机上改 Windows 密码时常见的坑,都是我实际遇到过或者看别人踩过的:
- 大小写和键盘布局:虚拟机的操作系统可能是英文版、日文版、德语版,物理键盘的布局和虚拟机的键盘布局可能不一致。密码里有特殊字符时,很容易打错。改完密码后如果重启发现进不去,第一件事不是怀疑密码,而是检查虚拟机的键盘布局。
- 忘关 Caps Lock:这个听着低级,但真的是最高频的原因。VMware 的自动捕获键盘功能有时会让人忽略大写状态。
- 微软账户密码和 PIN 码:如果你用微软账户登录 Windows 虚拟机,改密码要去微软账户设置里改,本地改的是 PIN 码或密码的缓存版本,有可能重启后还是旧密码生效,因为系统需要联网验证。
所以我在 Windows 虚拟机里一般建议用本地账户,省事,不受网络影响。
