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,之后重启虚拟机即可。具体如下图:
二、通过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
注意:一般情况下bootloader所处的分区在第一块分区。且这个命令只能在虚拟机down的情况下才行。
密码修改之后,root进去之后直接/etc/grub.conf将single去掉就行。
PS:通过测试三种方法,发现还是第一种方法比较简单方便,如果有类似需求的话,还是建议使用第一种方法来操作。