Proxmox中AlmaLinux虚拟机因密码含特殊符号无法登录,求助解决方法
Proxmox中AlmaLinux虚拟机因密码含特殊符号无法登录,求助解决方法
我完全理解你现在的焦虑——服务器被黑折腾一番后,还因为密码里的特殊符号卡在VNC登录这一步,简直雪上加霜。别慌,给你几个靠谱的解决办法,按步骤来应该能搞定:
方法一:进入单用户模式重置密码(最快捷)
这是Linux系统忘记密码时的经典操作,在Proxmox的VNC控制台就能完成:
- 在Proxmox面板找到你的AlmaLinux虚拟机,点击Start启动,立刻打开Console窗口盯着GRUB启动菜单。(如果没看到GRUB,先去虚拟机的
Options里把GRUB Timeout调大,比如设为5秒) - 选中默认的内核选项,按e进入GRUB编辑界面。
- 找到以
linux开头的那一行,把里面的ro参数改成rw init=/sysroot/bin/sh。 - 按Ctrl+X或者F10启动,进入单用户急救模式。
- 执行命令挂载系统根目录:
chroot /sysroot - 重置root密码(换成一个不含特殊符号的简单密码):
按提示输入两次新密码即可。passwd root - 因为AlmaLinux默认开启SELinux,执行以下命令避免后续权限问题:
touch /.autorelabel - 最后退出并重启:
重启后就能用新密码登录VNC控制台了,之后再慢慢处理网络和服务器的问题。exit reboot -f
方法二:通过挂载磁盘修改密码(适合GRUB无法编辑的情况)
如果单用户模式走不通,还可以把虚拟机的磁盘挂载到其他系统修改密码:
- 先把出问题的AlmaLinux虚拟机彻底关机(状态为Stopped)。
- 在Proxmox面板找到这个虚拟机的磁盘(比如
scsi0),点击Detach卸载磁盘。 - 找一台Proxmox上的空闲虚拟机(或者直接在Proxmox物理主机上操作),把刚才卸载的磁盘挂载进去:点击
Add->Disk->Use existing disk,选中目标磁盘完成挂载。 - 启动挂载了磁盘的系统,进入后找到挂载的磁盘分区(可以用
fdisk -l查看,一般挂载到/mnt目录下)。 - 切换到挂载的系统根目录并重置密码:
chroot /mnt/你的磁盘挂载路径 passwd root - 密码修改完成后,卸载磁盘,再把它重新挂载回原来的AlmaLinux虚拟机,启动后就能登录了。
方法三:尝试VNC控制台的特殊字符输入技巧(备选)
如果实在不想重置密码,可以试试调整VNC的键盘映射:
- 在Proxmox的VNC控制台右上角,找键盘布局切换按钮(一般是键盘图标),切换到英国键盘布局,然后按
AltGr + L试试能不能打出£符号; - 或者尝试用ASCII码输入:按住Alt键(VNC控制台里的Alt),然后在小键盘输入
0163,松开Alt键应该能打出£。
不过这个方法依赖VNC的键盘映射兼容性,成功率不如前两个方法高,优先推荐重置密码。
等你登录进去后,就可以检查NetworkManager的配置,恢复服务器的网络连接和SSH访问了。
备注:内容来源于stack exchange,提问作者Maikel Yordan




