这两天有读者朋友向我咨询QEMU/KVM如何在非图形界面(文本模式)下安装客户机,今天找了台CentOS的宿主机做了下实验。
我觉得,先试试在宿主机上安装VNC Server,然后VNC连过去安装客户机吧(这样就有VNC的虚拟桌面了);或者试试 -curses方式;当然,如果你真的需要nographic这样来安装,那么本文是你而准备的。
这里使用的QEMU 1.7版本(其他版本的QEMU/KVM也类似),安装的是CentOS 6.4的最小版本。
1. 首先获得ISO中的启动kernel和initrd文件:(这里是将其mount起来即可,因为只需要读,而不需要写)
1 |
[root@my-host ~]# mount /data/nfs/images/CentOS-6.4-x86_64-minimal.iso /mnt/ -o loop |
2. 启动guest进行安装的命令如下:(假设你已经安装了QEMU/KVM,我的书中已经有详细介绍了,呵呵)
1 |
[root@my-host ~]# qemu-system-x86_64 --enable-kvm -m 1024 -smp 2 vm2.img -cdrom /data/nfs/images/CentOS-6.4-x86_64-minimal.iso --nographic -bios /usr/local/share/qemu/bios.bin -append console=ttyS0 -kernel /mnt/isolinux/vmlinuz -initrd /mnt/isolinux/initrd.img |
注意,需要指定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安装时的一个截图为:
3. 启动安装好的guest后,使用nographic方式启动guest命令如下:
1 |
[root@my-host ~]# qemu-system-x86_64 -enable-kvm -m 1024 -smp 2 vm2.img --nographic |
当然,也可以使用 --curses (书中4.6.5节已经讲过了)
1 2 3 4 5 6 7 8 |
[root@my-host ~]# qemu-system-x86_64 -enable-kvm -m 1024 -smp 2 vm2.img -curses # curses 可能需要依赖的一些包如下 [root@my-host ~]# rpm -qa | grep curses ncurses-5.7-3.20090208.el6.x86_64 ncurses-base-5.7-3.20090208.el6.x86_64 ncurses-libs-5.7-3.20090208.el6.x86_64 ncurses-devel-5.7-3.20090208.el6.x86_64 |
参考资料:(就是我的那本书吧: http://smilejay.cn/kvm-principles-and-practices/)
按照博主的讲解 成功使用-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。
恩 先不折腾这个了 多谢
还有一点是-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
请问博主,我的显示成这样是为啥?要调整分辨率?
http://elimage.edisonnotes.com/4f/b53909297ecee138bb01412e036dfdad6dc22c.png
你那个乱码 我也不清楚 看看是否字符集之类的问题
找到原因了,把终端的编码设置成 utf8 就正常显示了