QEMU - 将guestOS重定向到主机

时间:2013-04-10 08:53:45

标签: virtualization virtual-machine qemu

我使用QEMU带来CentOS.img(在某处下载)。我发现CentOS.img的启动界面接管了当前终端的控制台会话,我可以看到CentOS启动过程并提示我进入guestVM CentOS的登录界面。当我从远程控制台机器运行QEMU实例时,这对我非常有帮助。

现在,我使用iso创建了一个新的RHEL.img,当我尝试启动它时;除了(Y)的某些符号之外,我无法在屏幕上看到任何东西:(

 $>/usr/libexec/qemu-kvm  -hda ./RHEL.img  -bios bios.bin  -nographic  -net nic,model=e1000,macaddr=00:AD:BE:EF:4F:BD -net tap,script=./qemu-ifup -m 1024 -smp 2
 ...Y

在调查中,我发现我们可以通过使用

将RHEL引导重定向到控制台来实现
  # virt-edit RHEL_VM /boot/grub/grub.conf
   ...
   title rhel (2.6.38.6-26.rc1.fc15.x86_64)
   root (hd0,0)
   kernel /vmlinuz ro [...] console=ttyS0
   ...

但没有成功。我试图将rhel VM会话带到我从远程终端调用qemu-kvm的同一个控制台。提前谢谢。

注意:我没有在物理主机上启用GUI。

1 个答案:

答案 0 :(得分:2)

您可以尝试添加串口并向其发送输出。虽然您必须能够至少启动一次才能执行这些步骤...

如果您只是将一个串口添加到qemu命令行然后telnet到那个,那么您可能会很幸运;希望linux检测到这一点并在那里发送输出

edit /etc/init/ttyS0.conf and add

  respawn
  console none

  start on (local-filesystems)
  stop on [!12345]

  script
  exec start ttyS0
  end script

then

    ln -s /etc/init/ttyS0.conf /etc/rc2.d/S99ttyS0.conf
    ln -s /etc/init/ttyS0.conf /etc/rc0.d/S99ttyS0.conf
    ln -s /etc/init/ttyS0.conf /etc/rc6.d/S99ttyS0.conf

then do this to enable grub

 Edit /etc/default/grub

 1. Edit the GRUB_CMDLINE_DEFAULT="" line to start the console on /dev/ttyS0
 GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,38400n8"

 2. Add a serial console section
 # Serial console
 GRUB_TERMINAL=serial
 GRUB_SERIAL_COMMAND="serial --speed=38400 --unit=0 --word=8 --parity=no --stop=1"

 3. Rebuild the grub.cfg file
 sudo sh
 grub-mkconfig > /boot/grub/grub.cfg