0

我使用 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。

4

1 回答 1

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
于 2014-03-19T21:05:48.383 回答