xen console连接虚拟机

文章目录

      • 1. 修改虚拟机配置文件
      • 2. 虚拟机内部的设置
      • 3. 设置生效
      • 4. 参考链接

在创建好虚拟机并且安装完系统后,可以通过 xl console 或者 xl console 来进入到虚拟机内部。然而,在实际测试中可以发现,直接利用xl console无法进入到虚拟机,而是一直卡在这里。此时按ctrl+]也可以退出。这是因为我们从宿主机进入虚拟机使用的是ttyS0,而虚拟机中最开始没有这个串口的配置。

环境:宿主机ubuntu 14.04,xen 4.6.3,虚拟机为ubuntu 14.04

1. 修改虚拟机配置文件

首先,我们要修改虚拟机的配置文件。在原来的虚拟机配置文件中加上这一行serial='pty'

builder = "hvm"
name = "ubuntu-hvm-1"
memory = 1024
vcpus = 1
serial='pty' #增加这个配置
vif = [ 'bridge=xenbr0' ]
disk = [ 'file:/mnt/xenserver/ubuntu-hvm/ubuntu-hvm-1/ubuntu-hvm.img,hda,w' ]
boot = "c"
sdl = 0
vnc = 1
vnclisten  = "127.0.0.1"
vncdisplay = 0
vncpasswd  = 123456789
stdvga=1
videoram = 64
xencons='tty'
console='ttyS0' #console设置为ttyS0

2. 虚拟机内部的设置

这里要在有界面的服务器上设置,或者提前配置好网络,利用ssh连进去

添加ttyS0的许可,允许root登陆:

echo "ttyS0" >> /etc/securetty

在/etc/init下从tty1.conf复制一份文件到ttyS0.conf,并修改内容:

# tty1 - getty
#
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345] and (
            not-container or
            container CONTAINER=lxc or
            container CONTAINER=lxc-libvirt)

stop on runlevel [!2345]

respawn
exec /sbin/getty -8 38400 ttyS0

在/boot/grub/grub.cfg文件中,对menuentry 'Ubuntu'下的linux /vmlinuz-xxx增加内容console=tty1 console=ttyS0,115200n8

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menu
entry_id_option 'gnulinux-simple-5678c869-ea75-4d67-984d-2028712ca5e2' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  6efd198c-2405-4e37-ba55-fbf28
c4a304c
        else
          search --no-floppy --fs-uuid --set=root 6efd198c-2405-4e37-ba55-fbf28c
4a304c
        fi
        linux   /vmlinuz-4.4.0-142-generic root=/dev/mapper/ubuntu--hvm--vg-root
 ro consoleblank=0 console=tty1 console=ttyS0,115200n8 #在这里增加内容
        initrd  /initrd.img-4.4.0-142-generic
}

上述步骤可能会在update-grub后失效,也可以在/etc/default/grub中修改配置:GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8" ,我自己没有试过,可以看一下参考链接4试一下。

3. 设置生效

重启服务器。使设置生效。

后面应该就可以利用xl console进入虚拟机了,可能执行完命令后按一下回车,看到登录界面就说明设置生效了。

xen console连接虚拟机_第1张图片

4. 参考链接

[1] https://blog.csdn.net/dobell/article/details/9003421

[2] https://blog.csdn.net/yzy1103203312/article/details/81292313

[3] https://blog.csdn.net/u013358112/article/details/79881727

[4] https://www.jb51.cc/ubuntu/354600.html

你可能感兴趣的:(linux,ubuntu,linux,xen)