QEMU/KVM非图形界面安装guest

这两天有读者朋友向我咨询QEMU/KVM如何在非图形界面(文本模式)下安装客户机,今天找了台CentOS的宿主机做了下实验。
我觉得,先试试在宿主机上安装VNC Server,然后VNC连过去安装客户机吧(这样就有VNC的虚拟桌面了);或者试试 -curses方式;当然,如果你真的需要nographic这样来安装,那么本文是你而准备的。

这里使用的QEMU 1.7版本(其他版本的QEMU/KVM也类似),安装的是CentOS 6.4的最小版本。
1. 首先获得ISO中的启动kernel和initrd文件:(这里是将其mount起来即可,因为只需要读,而不需要写)

2. 启动guest进行安装的命令如下:(假设你已经安装了QEMU/KVM,我的书中已经有详细介绍了,呵呵)

注意,需要指定kernel、initrd、append参数(我的书中第258页已经做了解释,^_^) 由于是使用 --nographic 以非图形界面的方式启动,所以需要重定向guest的console,所以需要“-append console=ttyS0”参数,而使用该参数是必须要使用-kernel参数的,因为无法直接将append中的内核命令行参数传递到硬盘、CDROM等里面的kernel中去。有时,需要“ -append 'console=tty0 console=ttyS0,115200n8' ”这样的参数。
另外,这里显示指定了BIOS,否则我看到最新的QEMU(居然)报了个错“qemu: could not load PC BIOS 'bios-256k.bin'”,如果你没有遇到这个错误,则没有必要显示指定BIOS。
如果,一切顺利,你可以在这里安装好guest。我在用--nographic安装时的一个截图为:
kvm-guest-nographic-installation

3. 启动安装好的guest后,使用nographic方式启动guest命令如下:

当然,也可以使用 --curses (书中4.6.5节已经讲过了)

参考资料:(就是我的那本书吧: http://smilejay.cn/kvm-principles-and-practices/

master

Stay hungry, stay foolish.

9 Comments

  1. 按照博主的讲解 成功使用-nographic 参数安装,不过第一次安装的时候没有指定-hda 和-boot 中间出了个错误:
    Error processing drive:
    pci-0000:00:10-scsi-0:0:0:0
    20480MB
    google了一把有的说内存不足,我分配了1G 并且text模式,应该不是内存不够的问题,具体原因还不是很清楚。我又重装了一边,把那两个参数都加上,没报这个错。不知道是不是跟scsi有关,不指定-hda难道是用scsi磁盘,我瞎猜的哈哈,这块不熟。
    不过还有个问题就是安装过程就跟kicksstart一样,也没提示分区,直接都默认走下去了,不知为什么?
    并且界面极其简陋,黑白的,跟平时光盘安装时的text模式完全不一样,也不知道为什么?

    感谢博主帮助,后续学习过程的问题我会继续来这里提问:)

    • 默认应该不是scsi,见书中:P70那一节内容
      确实nographic时,没有很多配置(如磁盘分区),所以要么和kickstart配合自动安装,要么就还是用图形界面安装好吧;使用时用nographic。

  2. 还有一点是-curses参数无效
    /usr/libexec/qemu-kvm -m 1024 -smp 4 -boot order=d -hda /home/vm/kvm/centos64_64_01.qcow2 -curses
    qemu-kvm: -curses: invalid option

    • 你的Qemu版本太低了某些新的选项不支持,我书中一般是1.1/1.2版本(书中有说),目前新的是1.7了。。
      [root@my-host~]# /usr/libexec/qemu-kvm --version
      QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2), Copyright (c) 2003-2008 Fabrice Bellard
      [root@my-host ~]# qemu-system-x86_64 --version
      QEMU emulator version 1.7.50, Copyright (c) 2003-2008 Fabrice Bellard

      • 原来如此,查了下果然很低
        [root@host01 centos64]# /usr/libexec/qemu-kvm --version
        QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2), Copyright (c) 2003-2008 Fabrice Bellard

    • 你那个乱码 我也不清楚 看看是否字符集之类的问题

      • 找到原因了,把终端的编码设置成 utf8 就正常显示了

发表评论

邮箱地址不会被公开。 必填项已用*标注

*