PS:有一台XenServer服务器上的CentOS 5.x项目演示虚拟机的密码被一同事设置了严格的密码策略,死活都进不去。开始以为XenServer上面的虚拟机不知道怎么进去单用户模式。找了下资料,原来也可以。方法如下:
1、打开XenCenter管理控制台,找到要修改密码的那台虚拟机,先关闭虚拟机,然后:右键Properties–>Startup Options–>OS Boot Parameters–>将OS Boot Parameters的默认项目graphical utf8修改为 graphical utf8 single 或 single,然后启动这台虚拟机就会进入到Linux的单用户模式,然后passwd root修改的密码。如下图所示:
或是用命令让虚拟机从单用户模式启动:xe vm-param-set uuid=<vm_uuid> PV-args=single
虚拟机的uuid号是这种格式:37d4ced4-2fec-2683-0585-ad41585fba64
uuid号如图所示:
2、第二种方法:修改虚拟机Linux系统的bootload文件。但是虚拟机此时无法登录进去,幸好XenServer提供了一个Shell接口,能让你在宿主机上编辑虚拟机boot分区所在磁盘块文件。
方法步骤:
1、# xe vm-list
查看需要修改boot文件(grub)所在的vm的uuid
2、# xe-edit-bootloader -u <linux_vm_uuid> -p <partition_number>
通过这条指令可以打开vm 的grug.conf文件,在kernel这一行的最后加上linux single 或1然后保存,重启vm进入单用户模式,修改vm的root密码,密码修改后再把grub.conf文件改回来。