XenServer 7 上Linux单用户模式下修改密码

XenServer版本:7.2

PS:公司已经使用一段时间的XEN了,由于其中有些原因,root密码忘记了无法登陆。开始以为这个进入单用户模式和非虚拟机Linux一样,但是发现其实完全不一样的,Xen的Linux虚拟机根本就没有GRUB的等待时间。不过可以通过以下几种方法来修改:

一、XenCenter修改

①、首先关闭Linux虚拟机

②、打开XenCenter管理控制台,选择需要单用户模式进入的虚拟机,右键Properties–>Startup Options–>OS Boot Parameters–>将OS Boot Parameters的默认项目graphical utf8修改为 graphical utf8 single 或 single,之后重启虚拟机即可。具体如下图:

143515177.jpg

二、通过XenServer命令启动虚拟机单用户模式

命令格式如下:xe vm-param-set uuid=<vm_uuid> PV-args=single

获取UUID的命令为:xe vm-list,具体操作如下:

1.# xe vm-list
2.uuid ( RO)           : e1afbf62-c9d2-af80-eeb8-4be08fb2195f
3.name-label ( RW): szmlvm29-80new
4.power-state ( RO): halted

如上已经获得虚拟机UUID了,那么接下来就是启动虚拟机了,如下:

 
1.# xe vm-param-set uuid=e1afbf62-c9d2-af80-eeb8-4be08fb2195f PV-args=single

之后重启虚拟机就能够直接进去,且是root权限,如需要取消单用户模式的话,需要执行如下命令:

 
1.# xe vm-param-set uuid=e1afbf62-c9d2-af80-eeb8-4be08fb2195f PV-args

三、通过XenServer命令修改虚拟机bootload

具体操作步骤如下:

①、xe vm-list获取虚拟机uuid

②、通过命令xe-edit-bootloader -u <linux_vm_uuid> -p <partition_number>来修改bootloader,具体操作如下:

 
1.# xe-edit-bootloader  -u  e1afbf62-c9d2-af80-eeb8-4be08fb2195f  -p 1

150839651.jpg

注意:一般情况下bootloader所处的分区在第一块分区。且这个命令只能在虚拟机down的情况下才行。

密码修改之后,root进去之后直接/etc/grub.conf将single去掉就行。

PS:通过测试三种方法,发现还是第一种方法比较简单方便,如果有类似需求的话,还是建议使用第一种方法来操作。

原文地址:https://www.cnblogs.com/xzlive/p/13275930.html