虚拟机密码忘记了怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟机密码忘记了怎么办相关的知识,希望对你有一定的参考价值。

1,启动虚拟机,出现下面的倒计时界面时,按键盘上的e键

(说明:要确保光标此时已经在虚拟机内了,要不然,按了e键,也是在windows内,无效。e代表edit,启动前编辑) 

2,进入如下后界面,再按e键 

3,进入如下界面后,使用键盘上的上下键,选中第二项以kernel开头的项。选中后,再次按e键

4,进入以下界面后,在最后面输入空格和s,然后回车。(注意:有的系统显示的内容可能和我下面出现的这一行不一样,没关系,直接加空格和s就行,不影响的;也就说什么呢,只要进入到这个页面,直接加空格和s,不要管他显示的是什么;) 

5,接着会回到如下界面,然后按下b键(b代表boot启动) 

6,进入如下界面: 

7,此时输入passwd root回车, 

8,输入密码,回车,确认密码,回车,输入reboot,回车; 

(声明:输入的密码不会显示出来,如果密码中想要带数字的话,不要使用键盘右边的number pad栏,要使用字母键盘上的数字,因为你不确定此时num lock是否锁定(针对笔记本而言)) 

step_9:最后就可以使用新密码登录了; 

参考技术A 您好,方法
打开VMware虚拟机,选择忘记密码的系统,点击编辑虚拟机设置。
点击选择磁盘,在实用工具的下拉菜单中,点击映射。
映射虚拟磁盘的对话框中,把以只读模式打开文件的勾取消,不勾选,并点击确定,在弹出警告中直接点击是,即可。
这时会多出一个磁盘Z来,正常情况会自打开这个磁盘Z的窗口,
在磁盘Z中,找到目录下这个目录Z:\WINDOWS\repair的sam文件,并进行复制操作
把上面的复制好的sam文件粘贴到Z:\WINDOWS\system32\config目录,进行替换操作,替换成功则进入系统就可以无需要密码。
接着回到虚拟机设置中,在实用工具的下拉菜单中,选择断开链接,有警告提示的,直接断开即可。
总结:
1、进入虚拟机编辑设置
2、选中磁盘后,点击映射
3、把以只读模式打开文件的勾取消
4、用Z:\WINDOWS\repair目录下的sam替换Z:\WINDOWS\system32\config下的sam
5、断开映射链接。
参考技术B 回答

虚拟机如何重置密码你好,我是刚安装的虚拟机,重置密码的时候ctrl x之后出现乱码该怎么解决您好亲,1、首先尝试安装在二级目录;2、尝试以右键——管理员身份运行;3、在帐户控制中,将UAC(用户帐户控制)调至最低,关闭UAC(在搜索框中输入:UAC---更改用户账户控制---将等级拉到最底部)!亲希望可以帮到您哦。

提问

关闭UAC在哪个搜索框输入

回答

关闭UAC在哪个搜索框输入您好亲,1.使用电脑快捷键 WIN+R打开运行窗口,窗口内输入"msconfig"。2.在打开的窗口选项卡中点击“工具”按钮,在下拉栏里找到“更改 UAC通知”选项,点击下方的“启动”按钮。亲希望可以帮到您哦。

参考技术C 如果忘记了密码,可以用你注册手机号码进行找回密码设置,也可以用密保问题找回密码,还有就是清除所有数据,重新启动手机。 参考技术D 打开VMware虚拟机,选择忘记密码的系统,点击编辑虚拟机设置
,点击选择磁盘,在实用工具的下拉菜单中,点击映射
,映射虚拟磁盘的对话框中,把以只读模式打开文件的勾取消,不勾选,并点击确定,这时会多出一个磁盘Z来,正常情况会自打开这个磁盘Z的窗口

openstack重设虚拟机实例密码

目录结构:

引出

采用 nova get-password 方式

采用 libvirt-set-admin-password

采用 nova rebuild instance 的方式

采用 cloud-init 的方式

引出

  • 要解决的问题很明确:就是如果虚拟机的连接采用用户名密码登录的方式,而密码忘记的话,需要采取什么手段解决。
  • 其实解决方案是要取决于真实的生产环境,虚拟化方式的不同,初始化虚拟机密码方式的不同,openstack版本的不同,都会造成某个方案的可行不可行。以下几种方案可能或多或少会出现无法实现的情况,楼主尽量把条件讲清楚。

采用 nova get-password 方式

  • 利用nova 提供的这个接口可以获取instance的password,就不用密码reset了。
  • 适用条件:虚拟化方式为XEN,不支持libvirt.

采用 libvirt-set-admin-password

  • Openstack L 版本新加入的功能,直接使用 “nova set-password “(或早期版本client的”nova root-password”) 就可以,之前的版本该命令不支持Libvirt,仅支持XEN。
  • 适用条件:Openstack Libvirt+ 版本,宿主机libvirt版本1.2.16+,虚拟机镜像安装2.3+ 版本的qemu-guest-agent,详见虚拟机系统密码的修改方案¶
  • 博主试验了linux 几个主要版本(debian,ubuntu,centos),只要满足以上的限制条件,都能修改成功,不过官网提供的cloud 版本镜像大都没有安装 qemu-guest-agent,或者版本太低,需要自己安装并制作成镜像。windows 的镜像相对比较麻烦点,宿主机装的virtio-win,通过文件挂载的方式给guest安装对应驱动和QGA,其实不用安装也可以,实现最终都是guest 安装virtio-serial驱动,然后安装quemu-guest-agent就可以了,还有一点就是要设置镜像的property ,例如:hw_qemu_guest_agent=yes,os_type=windows。
    参考Running the QEMU Guest Agent on a Windows GuestCan I have virtio-win package on CentOS

CentOS 7.1 QEMU guest agent 安装 与 使用 (注:这篇文章有点过时了,因为QGA以及驱动的版本已经升级了好几版,大部分功能都已经实现,比如密码修改等,但是整个流程是一致的)

采用 nova image-create / nova rebuild的方式

  • 如果虚拟机是根据user-data来设定初始密码的,那么cloud-init只在第一次创建虚拟机执行一次,以后不会执行(reboot也不会执行)。那么我们也只能再次launch一下,方法如下。
  • 首先对当前虚拟机做一次snapshot.

    技术图片

    技术图片

  • 利用该snapshot ,设定好user-data重新boot 一个新的虚拟机

    技术图片

  • 注意:此处只是保证系统盘数据是不变的,如果是数据盘的话还要将对应的数据盘detach再attch到新建的虚拟机中。当然,如果虚拟机是直接用的adminPass的话(即injectPassword的方式)也可以直接利用rebuild命令(rebuild只能用于image启动的instance,而不能用于volume 启动的instance)。

  • 这种方法其实比较笨拙,不到万不得已一般不会这么做。

采用 cloud-init 的方式

  • 这种方法算是所有方法里面最轻便的,但坏处是需要自己定制脚本。对于cloud-init,不熟悉的话可以先翻一下官方手册
  • 原理很简单:借助cloud-init,在虚拟机启动的时候开启一个服务,用来监测metadata中设定的某个值,如果该值发生改变(或者满足其他条件)即做出密码更改的动作并reboot。
  • 可喜的是,我在github找到了类似的代码openstack-password-reset ,不过这个代码只是考虑了RH7系列,而且密码是随机生成的,如果再推给openstack,可能更复杂了。我又更改一下脚本,支持更多Linux版本,且把重设后的密码定死了。年后会把改过的代码挂到github上。
  • 这里面的reset Python程序是通过外链获取的,于是干脆在nova里加了一个API,用来获取该程序。
  • 如果是传递多个文件给cloud-init的话,需要使用MIME的格式,tips:一般是把多个脚本/cloud-config文件 打包成MIME格式文件,然后压缩成gzip格式,传给cloud-init。

参考文章

Password Reset

虚拟机系统密码的修改方案

CloudInit & User-Data

 

END

以上是关于虚拟机密码忘记了怎么办的主要内容,如果未能解决你的问题,请参考以下文章

win10系统忘记虚拟机开机密码怎么办

linux虚拟机移动后密码错误

vmvare centos 7.0 root密码忘记后重置及总结

Sliver6.1版本免费绕过iOS14.X忘记密码机器,支持黑苹果虚拟机

vmware linux虚拟机忘记密码怎么办

虚拟机里的Ubuntu忘记了密码,怎么修改密码