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 虚拟机里一般建议用本地账户,省事,不受网络影响。
3. 忘记密码的恢复路线:从 GRUB 救援到 livecd
这个才是真正有“虚拟机特色”的部分。物理机忘密码了,你得拆机、用 PE 盘、折腾各种硬件;虚拟机忘密码了,你最大的优势就是可以直接操作虚拟磁盘、修改启动参数、甚至挂载 ISO 镜像来引导救援系统。简单说:恢复手段比物理机多得多,而且不用碰任何螺丝刀。
3.1 Windows 虚拟机忘记密码
Windows 虚拟机忘了密码,首选方案不是暴力破解,而是在登录界面下方的“重置密码”引导(如果有的话),没有的话就进入安全模式。Win10/11 的安全模式进入方法:开机时强制断电两次以上,触发 WinRE(Windows 恢复环境),然后选择“疑难解答” → “高级选项” → “启动设置” → “重启” → 选“启用安全模式”。
在安全模式下,命令提示符可以用 net user 来重置密码:
bat复制net user administrator 新密码
不过现实是——大多数用户是唯一管理员,忘了密码根本进不了安全模式,因为登录还是要密码。这时候就需要用外部手段了,虚拟机的外部手段有三个层次。
层次一:用安装镜像的“修复计算机”入口
挂载一个 Windows 安装 ISO(和虚拟机的 Windows 版本一致),在安装界面左下角选择“修复计算机”,然后打开命令提示符。在命令行里替换粘滞键程序为命令提示符,利用 Win10 登录界面的“辅助功能”按钮来获取一个 system 权限的 cmd。这是网上流传很广的“粘滞键后门”方法,思路是:
bat复制# 在 WinRE 的命令行中,找到系统盘符(通常是 D: 或 E:,取决于虚拟机的分区结构)
move D:\Windows\System32\sethc.exe D:\Windows\System32\sethc.exe.bak
copy D:\Windows\System32\cmd.exe D:\Windows\System32\sethc.exe
然后重启虚拟机,在 Windows 登录界面按 5 次 Shift 键,会直接弹出 cmd,且是 SYSTEM 权限。在那里执行 net user 用户名 新密码 就能把密码改掉。改完建议把 sethc.exe 还原。
这个方法在物理机上也能用,但在虚拟机上更简单,因为你不怕搞坏硬件,而且虚拟机的启动介质切换只需要在设置里改一下启动顺序,非常方便。
层次二:用 PE 系统
如果不想动系统文件,可以直接下载一个 PE 镜像(比如微PE、优启通),挂载为虚拟机的 ISO 光驱,从光盘引导进入 PE。PE 里有现成的密码重置工具,比如 NTPWEdit、Passper Win Key,图形界面点几下就能清除或重置密码。
NTPWEdit 的工作原理是直接修改 C:\Windows\System32\config\SAM 文件,这是 Windows 的密码哈希数据库。虚拟机方式做这个操作,比物理机用 U 盘 PE 更稳妥,因为虚拟磁盘 IO 是软件模拟的,极少出现磁盘读写冲突。
层次三:注册表工具离线改密码
如果不想进 PE,还有一个更轻量的方式:用 Linux livecd 挂载 Windows 分区,然后直接用 chntpw 工具离线清密码。这个工具的用法我在下面专门讲,因为它在 Linux 虚拟机场景下特别好用。
3.2 Linux 虚拟机忘记密码(GRUB 编辑法)
Linux 虚拟机忘记密码,首选方案是进恢复模式改密码。Ubuntu、Debian、CentOS 系都适用,核心是利用 GRUB 引导菜单的 recovery mode 或 init=/bin/bash 参数来绕过登录。
以 Ubuntu 22.04 为例,步骤如下:
- 启动虚拟机,在 VMware 界面里点击一下客户机窗口,然后立刻按住
Shift键(某些版本是Esc),确保 GRUB 菜单出现。 - 选择默认内核那一行,按
e进入编辑模式。 - 找到以
linux开头的那一行,在末尾添加:init=/bin/bash(有些系统要写成rd.break或single)。 - 按
Ctrl+X或F10启动,会进入一个 root 的 bash shell。
这时文件系统可能是只读挂载的,需要重新挂载为可写:
bash复制mount -o remount,rw /
然后直接用 passwd 改密码:
bash复制passwd 用户名
如果忘了用户名,可以先看:
bash复制cat /etc/passwd
改完后:
bash复制exec /sbin/init
或者直接输入 reboot -f 重启虚拟机。
这个方法在物理机上同样适用,但虚拟机的优势在于:GRUB 菜单的闪现时机更容易控制,因为虚拟机的启动过程相对固定,按 Shift 键的时机比较从容。
3.3 Linux 虚拟机忘记密码(livecd 挂载法)
如果 GRUB 编辑搞不定(比如磁盘加密了、GRUB 密码保护了),或者有些精简版本没有 GRUB 菜单,就用 livecd 方式。
以 Ubuntu 虚拟机为例:
- 在 VMware 的虚拟机设置里,把 Ubuntu 安装 ISO 挂载到 CD/DVD 光驱。
- 启动虚拟机,按
F2进 BIOS,把 CD/DVD 启动顺序调到第一位(或者在启动瞬间按Esc选启动菜单)。 - 选“试用 Ubuntu”进入 live 环境。
- 打开终端,先看磁盘分区:
bash复制sudo fdisk -l
sudo lsblk
- 挂载根分区:
bash复制sudo mount /dev/sda2 /mnt
注意分区号不固定,通常 /dev/sda1 是 EFI 分区,/dev/sda2 是根分区。如果不确定,可以用 lsblk -f 看每个分区的文件系统类型和挂载点判断。
- chroot 进系统:
bash复制sudo chroot /mnt
- 改密码:
bash复制passwd 用户名
- 退出并重启:
bash复制exit
sudo umount /mnt
sudo reboot
如果虚拟机开启了 LUKS 全盘加密,上面的流程要在 chroot 之前先解密并映射 LUKS 分区:
bash复制sudo cryptsetup open /dev/sda2 cryptroot
sudo mount /dev/mapper/cryptroot /mnt
3.4 chntpw:用 Linux 改 Windows 密码
前面提到 chntpw,这里展开讲讲,因为它真的是虚拟机的“万能钥匙”。
在 Ubuntu livecd 环境里,安装和使用步骤如下:
bash复制sudo apt update
sudo apt install chntpw
挂载 Windows 分区(以 /dev/sda3 为例):
bash复制sudo mkdir /mnt/windows
sudo mount /dev/sda3 /mnt/windows
进入 SAM 文件目录:
bash复制cd /mnt/windows/Windows/System32/config
sudo chntpw -l SAM
这会列出 SAM 数据库里的所有用户。然后指定要改的用户:
bash复制sudo chntpw -u Administrator SAM
这时会进入交互界面,选择:
1清除密码(使密码为空)2设置新密码(直接写入新密码哈希)3把用户提升为管理员
选 1 或 2 都行。如果选 1,重启后 Windows 登录界面直接回车就能进桌面,不需要输入密码;选 2 则可以指定一个新密码明文,工具会自动计算哈希写入。
这个工具我建议只用在离线虚拟机镜像上,不要在运行中的系统上用,不要在域控制器虚拟机里乱用,因为 SAM 数据库和域控的密码策略联动,直接改 SAM 有可能会让系统认为密码策略异常。家用、测试、实验环境随便折腾没问题。
3.5 密码恢复的注意事项
恢复密码的操作本质上是“越权操作”,我提醒几个要点:
- BitLocker 是最大的拦路虎:如果 Windows 虚拟机的 C 盘开了 BitLocker 加密,无论是挂 PE 还是 chntpw,操作系统在启动时都会要求插恢复密钥。没有恢复密钥的话,改密码没有任何意义,因为系统启动都过不了加密验证。物理机 BitLocker 恢复需要 48 位恢复密钥,虚拟机完全一样。创建虚拟机时如果系统顺带开了 BitLocker,建议先在宿主机上备份好恢复密钥。
- Linux 的 LUKS 加密同理:磁盘加密的虚拟机和没加密的虚拟机,恢复手段完全不同。最稳妥的方式是提前创建好加密口令的备份,别把密码丢到无可恢复的境地。
- 快照才是虚拟机最大的优势:在用各种技巧改密码之前,先想想——是不是之前创建过快照?VMware 和 VirtualBox 都支持快照回滚。如果你记得一个旧密码,先回滚快照再继续用,比折腾 SAM 文件要安全和干净得多。
4. 修改密码后的故障排查:虚拟机起不来、连不上、没网络
改完密码,理论上重启虚拟机就能用了。但根据网上热搜词的反馈,很多人改完密码后遭遇了一连串后续问题,比较典型的几个我一个个拆解。
4.1 “VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用”
这是 VMware 用户经常遇到的一个弹窗。如果你是在修改密码之后遇到这个问题,通常是以下原因之一:
- 当前账户权限不足:VMware 服务(VMware Authorization Service、VMware Host Agent)运行在一个不具备足够权限的上下文中。尤其是你改了 Windows 的登录密码之后,如果 VMware 的服务配置里用了“某账户登录”的方式,而密码没有同步更新,服务就启动不了。解决办法是打开“服务”管理器,找到所有名字带 VMware 的服务,右键 → 属性 → “登录”选项卡,选择“本地系统账户”,或者在“此账户”里重新输入新的密码。
- 虚拟机文件被占用了:改了密码后如果虚拟机处于挂起状态,重新打开时容易报这个错。把 VMware 进程结束掉,再重新启动 VMware Workstation 即可。
- VMware Tools 里的用户权限问题:VMware Tools 服务在客户机里以一个特殊的账户运行。如果客户机操作系统的账户密码改变了,VMware Tools 在客户机里的服务可能无法正常启动,进而 VMware Workstation 报“无法连接”。这时需要先启动虚拟机(用第 3 节的救援手段),进入系统后重新安装或修复 VMware Tools。
4.2 “WSL2 无法启动,因为此计算机上未启用虚拟化”
这句话是一个典型的误伤场景。有人在修改了 Windows 密码后,重启了一次,WSL2 就起不来了。其实这个和密码本身没有直接关系,但很多人的操作时序是这样的:改密码 → 重启 → 重启时不小心改了 BIOS 设置 → 导致虚拟化被关闭 → WSL2 报错。
排查方向:
- 进入宿主机 BIOS,确认
Intel VT-x或AMD-V处于开启状态。 - 在 Windows 中检查“启用或关闭 Windows 功能”,确认“虚拟机平台”和“适用于 Linux 的 Windows 子系统”都勾选了。
- 以管理员身份打开 PowerShell,执行:
powershell复制bcdedit /set hypervisorlaunchtype auto
这个命令会强制 Windows 开启 Hypervisor 服务。WSL2 依赖虚拟化架构,这一步能解决大部分“未启用虚拟化”的报错。
- 如果问题依旧,执行:
powershell复制dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后重启宿主机再试。
WSL2 本身没有独立的图形登录界面,密码是 Ubuntu 子系统内部的账户密码。如果你想修改 WSL2 里 Ubuntu 的密码,直接在 Windows 的终端里输入:
bash复制wsl -d Ubuntu
passwd
如果忘记了 WSL2 里的 Linux 密码,有一个官方支持的默认方案:在 Windows 的 cmd 或 PowerShell 中进入发行版:
powershell复制wsl -d Ubuntu --user root
如果默认用户不是 root,用这种方式可以直接以 root 身份进入系统,不需要密码(因为 WSL2 的 root 默认是可以免密切换的,这也是 WSL2 和传统虚拟机的一个显著区别)。进入后执行:
bash复制passwd 用户名
就能重置密码。
4.3 Ubuntu 虚拟机网络图标出现问号
改完密码后发现系统能用了,但右上角的网络图标一直显示一个问号,这是 Ubuntu 虚拟机的经典问题。常见原因和解决办法:
- 网络服务没起来:
bash复制sudo systemctl restart systemd-resolved
sudo systemctl restart NetworkManager
- IP 没获取到:检查虚拟机的网络模式。NAT 模式下如果 DHCP 服务异常,手动
/etc/netplan/里的 YAML 配置是否正常,然后执行sudo netplan apply。 - 网卡被系统识别成“未托管”:这时
nmcli device status会显示 unmanaged。解决办法是编辑/etc/NetworkManager/NetworkManager.conf,确认managed=false没有被错误设置,必要时改成managed=true后重启 NetworkManager。
4.4 VMware 虚拟机安装 Ubuntu 时蓝屏
有人问“虚拟机安装 Linux 蓝屏”,这里需要明确:Windows 才会蓝屏,Linux 安装时如果崩溃,通常是花屏或者 kernel panic。在这个语境下,大概率是:
- BIOS 设置里开启了 Hyper-V,和 VMware 的嵌套虚拟化冲突。解决办法是关闭 Hyper-V,或者用 VMware 15.5 以上版本。
- 虚拟机的固件类型和 ISO 不匹配,比如你创建虚拟机时选了 UEFI 固件,但 Ubuntu ISO 是传统 BIOS 引导的。
- 分配的内存太小,Ubuntu 桌面版建议至少分配 4GB 给虚拟机,分配 2GB 以下容易在安装过程中卡死。
这种情况下和改密码关系不大,但因为我看到热搜词里频繁出现,顺手放进排查清单。虚拟机调试本身就是一条线下来的,密码只是其中一环,系统装不稳,后面改什么都是白搭。
4.5 修改虚拟机密码时“AccessControl 门禁修改密码”相关需求
热搜词里有“accesscontrol门禁修改密码”,这个可能让人疑惑,和虚拟机有什么关系?其实这类查询通常来自一些做了门禁系统二次开发的人,他们用虚拟机跑门禁控制软件,然后需要修改软件的管理密码。这种情况本质上还是在 Windows/Linux 客户机里修改应用层密码,和操作系统的账户密码无关。
如果你也遇到了这类“应用软件密码”问题,注意以下几点:
- 软件的管理密码一般存在数据库里,比如 SQLite、MySQL、或自研的文件。找到配置文件,通常能找到账号和密码的存储位置。
- 如果实在忘了,可以直接在虚拟机里重装这个应用(前提是数据能导出),或者找应用的官方重置工具。
- 很多门禁控制软件在首次安装时会生成一个默认密码,存在安装日志或文档里。翻一翻虚拟机的 /opt 或 C:\Program Files 目录,往往有惊喜。
5. 虚拟化环境本身的密码与许可问题
这一部分容易被忽略,但我建议每个玩虚拟机的人都认真看一下。很多人把“虚拟机的密码”理解为“虚拟化软件的密码”,其实还有另一层含义:VMware Workstation 本身也有一套授权/账户体系。
5.1 VMware Workstation 的许可证密钥和授权
VMware Workstation 从 17.x 开始,个人用户已经可以免费使用,但需要注册一个账户并下载免费许可证。如果你在虚拟机里改了密码,然后 VMware Workstation 出现“许可证丢失”之类的提示,大多数情况下不是密码导致的,而是许可证文件被安全软件清理了,或者注册表权限变了。重新输入许可证密钥即可。
排查方法:
- 打开 VMware Workstation,菜单栏 → 帮助 → 关于 VMware Workstation。
- 看许可证状态,如果显示未激活,点“输入许可证密钥”,重新填入你的免费许可码。
- 如果提示“无法验证许可证”,可以在管理员权限的命令行里执行:
bat复制net start vmware-authd
确认 VMware Authorization 服务在运行。
5.2 vSphere/ESXi 虚拟机密码
如果你用的是更重的虚拟化平台,比如 vSphere 或 ESXi,那么密码体系至少分三层:
- ESXi 主机的 root 密码;
- vSphere Web Client 的管理员账户密码;
- 虚拟机内部客户机的操作系统密码。
如果你改的是 ESXi 主机的密码,要注意:直接改 root 密码只需要 SSH 进去执行 passwd 即可;但如果改了密码后 vCenter 连接失败,多半是 vCenter 存储了旧凭据,需要重新注册或更新凭据。
典型的报错是“用户名或密码不正确”,即使你确认密码确实是对的。这时候去 vCenter 的账户管理里删除旧的 ESXi 主机记录,重新添加即可。这个坑在真实的生产环境里我遇到过不止一次。
5.3 虚拟机的 BIOS/固件密码
VMware 虚拟机的 BIOS 密码和操作系统的密码是两回事。如果你在虚拟机开机的瞬间按 F2 进入 BIOS,设置了系统密码(开机密码),那么每次虚拟机启动都会要求输入密码,而不是进入客户机的登录界面。这种情况下“改密码”要去 BIOS 设置里改,和 Windows/Linux 用户密码毫无关系。
如果在虚拟机设置里开启了“安全引导”并设置了密钥,忘记密码时只能重置虚拟机的 NVRAM,路径是:
- VMware:编辑虚拟机设置 → 选项 → 高级 → 引导选项 → 重置。
- VirtualBox:VBoxManage modifyvm 虚拟机名 --firmware-efi,或者直接删除虚拟机的 .nvram 文件(注意先备份)。
这个重置会影响所有 BIOS 层面的自定义设置,但不会影响虚拟硬盘里的操作系统。
5.4 嵌套虚拟化的密码风险
很多人会在一台虚拟机里再装虚拟机,也就是嵌套虚拟化。这种情况下修改密码的层级就更多了:
- 宿主机的用户密码;
- 第一层虚拟机的用户密码;
- 第二层虚拟机(嵌套虚拟机)里的用户密码。
排查密码问题时,要先确定你当前处在哪一层。如果报错来自第二层虚拟机的 VMware Workstation,那么先确认第一层虚拟机的“虚拟化 CPU 性能计数器”是否开启,否则第二层虚拟机可能根本启动不了,谈不上密码问题。
6. 实操总结与个人的几个建议
虚拟机修改密码从来不是一个单一操作,它是一套方法论。根据我的实际操作经验,把整个思路浓缩成一张决策表:
| 当前状态 | 推荐方案 | 耗时 | 风险等级 |
|---|---|---|---|
| 能正常登录 | GUI 设置或 net user / passwd |
1 分钟 | 极低 |
| 能进系统但忘了密码 | 用已知管理员账户重置,或安全模式 | 5 分钟 | 低 |
| 进不了系统但之前打过快照 | 回滚快照 | 2 分钟 | 低 |
| 进不了系统,没有快照,Windows | 挂载 ISO 进 WinRE 粘滞键法 | 10 分钟 | 中 |
| 进不了系统,没有快照,Windows | PE + NTPWEdit / chntpw | 15 分钟 | 中 |
| 进不了系统,没有快照,Linux | GRUB 编辑 init=/bin/bash |
5 分钟 | 低 |
| 进不了系统,Linux 且磁盘加密 | livecd + cryptsetup + chroot | 15 分钟 | 中 |
| WSL2 忘记密码 | wsl --user root 进入重置 |
2 分钟 | 低 |
整个流程走下来,我最大的感受是:虚拟机环境下的密码问题,大多数时候不是“系统多安全”,而是“你有多熟悉虚拟化平台的额外入口”。VMware 的虚拟磁盘、启动参数、ISO 挂载、快照功能,每一个都是救援的抓手。把这些工具用熟练了,密码问题基本不会成为拦住你的门槛。
另外一个比较现实的经验:虚拟机里的系统,尤其是测试环境,密码复杂度没必要设置得过于变态。我见过不少同学在生产系统上用了 24 位随机密码,然后丢在虚拟机里,过三个月自己也不记得了,最后折腾半天才进去。测试环境的密码用个中等强度就够了,或者干脆把自动登录开起来,减少不必要的麻烦。
最后建议你养成两个习惯:
- 创建虚拟机后立刻打一个“初始状态”快照,密码还没有应用任何修改时的状态,是最好的回滚点。
- 所有重要的虚拟磁盘文件定期导出备份,VMware 的
.vmdk、VirtualBox 的.vdi,备份到外部存储。密码丢失只是小问题,磁盘文件损坏才是真正的灾难。
如果你按这个思路去操作,虚拟机密码的事情基本就难不倒你了。相关的高频问题像“VMware 无法连接”“虚拟化未启用”“Ubuntu 网络问号”,大概率也能顺着这条排查链一并解决。
