分类: 虚拟化
2015-01-30 11:46:13
在操作进行之前,要确保Ubuntu 10.04安装的分区是EXT3,因为目前的XenServer还不支持EXT4。如果使用EXT4,重启的时候会提示你pygrub错误的。
由于ubuntu默认没有安装SSH,因此需要先安装SSH:apt-get install openssh-server
SSH连接到虚拟机,创建一个新的tty:
sudo cp /etc/init/tty1.conf /etc/init/hvc0.conf sudo vi /etc/init/hvc0.conf
并把hvc0.conf中的tty1修改为hvc0。
sudo vi /boot/grub/grub.cfg
将文件内的这段(类似的,可能会有所不一样)保存到一个临时文件中(不要保存在该VM中),供后续使用。
menuentry 'Ubuntu, with Linux 2.6.32-21-server' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod ext2 set root='(hd0,1)' search --no-floppy --fs-uuid --set 02899ea9-1876-4e7b-8ef8-2b09b598cedb linux /boot/vmlinuz-2.6.32-21-server root=UUID=02899ea9-1876-4e7b-8ef8-2b09b598cedb ro quiet initrd /boot/initrd.img-2.6.32-21-server }
关闭虚拟机。
SSH连接到虚拟机所在的宿主机,下载这个文件( )到当前目录并设置为可执行文件:
chmod +x makepv.sh
对虚拟机执行转换操作,my-vm-name为XenCenter中可以看到的虚拟机名字:
./makepv.sh my-vm-name
在遇到提示:
Specify path to Kernel (e.g. /boot/vmlinuz...):
输入刚才临时文件中的:
/boot/vmlinuz-2.6.32-21-generic
在遇到提示:
Specify Kernel arguments (root=UUID=... ro quiet):
输入刚才的:
root=UUID=c49e05d9-2994-46af-9a22-b909824b2964 ro quiet splash
在遇到提示:
Specify path to ramdisk (e.g. /boot/initrd...):
输入刚才的:
/boot/initrd.img-2.6.32-21-generic
执行成功后重启该虚拟机。
载入xs-tools.iso文件,执行:
sudo mount /dev/cdrom1 /mnt sudo dpkg -i /mnt/Linux/xe-guest-utilities_5.5.0-466_amd64.deb
弹出xs-tools.iso文件后再重启VM,一定要在重启之前弹出光盘,否则会提示你:too many bootable disks
重启之后对服务进行确认:
sudo update-rc.d -f xe-linux-distribution remove sudo update-rc.d xe-linux-distribution defaults