常用命令行

kvm的启动参数和qemu / qemu-system-x86_64是一样的,但效率更好,qemu-system-x86_64是用于64位机器的,比如鄙人的机器。

启动一个虚拟机

osimg=~/virtualOS/winxp_sp3.img

# osimg2=/media/resource/software/OS/winxp_sp3.img

# osimg=/media/resource/software/OS/winxp_sp3.img

# cdfile=/media/resource/software/OS/DFSM.iso

# cdfile=~/oem.iso

# kvm -m 512 -hda $osimg -hdb $osimg2 -localtime -net nic -net user -boot c -smp 2 -soundhw all

#-cdrom $cdfile

kvm -m 512 -hda $osimg -localtime -net nic -net user -boot c -smp 2 -soundhw all -name HelloWorld

# kvm -m 512 -hda $osimg -cdrom $cdfile -localtime -net nic -net user -boot d -smp 2 -soundhw all

附:

kvm命令

iridium@iridium-laptop:~$ kvm --help

QEMU PC emulator version 0.9.1 (kvm-72), Copyright (c) 2003-2008 Fabrice Bellard

usage: qemu [options] [disk_image]

'disk_image' is a raw hard image image for IDE hard disk 0

Standard options:

-M machine select emulated machine (-M ? for list)

-cpu cpu select CPU (-cpu ? for list)

-fda/-fdb file use 'file' as floppy disk 0/1 image

-hda/-hdb file use 'file' as IDE hard disk 0/1 image

-hdc/-hdd file use 'file' as IDE hard disk 2/3 image

-cdrom file use 'file' as IDE cdrom image (cdrom is ide1 master)

-drive [file=file][,if=type][,bus=n][,unit=m][,media=d][,index=i]

[,cyls=c,heads=h,secs=s[,trans=t]][,snapshot=on|off]

[,cache=on|off][,format=f][,boot=on|off]

use 'file' as a drive image

-mtdblock file use 'file' as on-board Flash memory image

-sd file use 'file' as SecureDigital card image

-pflash file use 'file' as a parallel flash image

-boot [a|c|d|n] boot on floppy (a), hard disk (c), CD-ROM (d), or network (n)

-snapshot write to temporary files instead of disk image files

-no-frame open SDL window without a frame and window decorations

-alt-grab use Ctrl-Alt-Shift to grab mouse (instead of Ctrl-Alt)

-no-quit disable SDL window close capability

-no-fd-bootchk disable boot signature checking for floppy disks

-m megs set virtual RAM size to megs MB [default=128]

-smp n set the number of CPUs to 'n' [default=1]

-nographic disable graphical output and redirect serial I/Os to console

-portrait rotate graphical output 90 deg left (only PXA LCD)

-k language use keyboard layout (for example "fr" for French)

-audio-help print list of audio drivers and their options

-soundhw c1,... enable audio support

and only specified sound cards (comma separated list)

use -soundhw ? to get the list of supported cards

use -soundhw all to enable all of them

-localtime set the real time clock to local time [default=utc]

-full-screen start in full screen

-win2k-hack use it when installing Windows 2000 to avoid a disk full bug

-usb enable the USB driver (will be the default soon)

-usbdevice name add the host or guest USB device 'name'

-name string set the name of the guest

Network options:

-net nic[,vlan=n][,macaddr=addr][,model=type]

create a new Network Interface Card and connect it to VLAN 'n'

-net user[,vlan=n][,hostname=host]

connect the user mode network stack to VLAN 'n' and send

hostname 'host' to DHCP clients

-net tap[,vlan=n][,fd=h][,ifname=name][,script=file][,downscript=dfile]

connect the host TAP network interface to VLAN 'n' and use the

network scripts 'file' (default=/etc/kvm/kvm-ifup)

and 'dfile' (default=/etc/kvm/kvm-ifdown);

use '[down]script=no' to disable script execution;

use 'fd=h' to connect to an already opened TAP interface

-net socket[,vlan=n][,fd=h][,listen=[host]:port][,connect=host:port]

connect the vlan 'n' to another VLAN using a socket connection

-net socket[,vlan=n][,fd=h][,mcast=maddr:port]

connect the vlan 'n' to multicast maddr and port

-net none use it alone to have zero network devices; if no -net option

is provided, the default is '-net nic -net user'

-tftp dir allow tftp access to files in dir [-net user]

-bootp file advertise file in BOOTP replies

-smb dir allow SMB access to files in 'dir' [-net user]

-redir [tcp|udp]:host-port:[guest-host]:guest-port

redirect TCP or UDP connections from host to guest [-net user]

Linux boot specific:

-kernel bzImage use 'bzImage' as kernel image

-append cmdline use 'cmdline' as kernel command line

-initrd file use 'file' as initial ram disk

Debug/Expert options:

-monitor dev redirect the monitor to char device 'dev'

-serial dev redirect the serial port to char device 'dev'

-parallel dev redirect the parallel port to char device 'dev'

-pidfile file Write PID to 'file'

-S freeze CPU at startup (use 'c' to start execution)

-s wait gdb connection to port

-p port set gdb connection port [default=1234]

-d item1,... output log to /tmp/qemu.log (use -d ? for a list of log items)

-hdachs c,h,s[,t] force hard disk 0 physical geometry and the optional BIOS

translation (t=none or lba) (usually qemu can guess them)

-L path set the directory for the BIOS, VGA BIOS and keymaps

-no-kvm disable KVM hardware virtualization

-no-kvm-irqchip disable KVM kernel mode PIC/IOAPIC/LAPIC

-no-kvm-pit disable KVM kernel mode PIT

-std-vga simulate a standard VGA card with VESA Bochs Extensions

(default is CL-GD5446 PCI VGA)

-no-acpi disable ACPI

-curses use a curses/ncurses interface instead of SDL

-no-reboot exit instead of rebooting

-no-shutdown stop before shutdown

-loadvm [tag|id] start right away with a saved state (loadvm in monitor)

-vnc display start a VNC server on display

-daemonize daemonize QEMU after initializing

-tdf inject timer interrupts that got lost

-kvm-shadow-memory megs set the amount of shadow pages to be allocated

-mem-path set the path to hugetlbfs/tmpfs mounted directory, also enables allocation of guest memory with huge pages

-option-rom rom load a file, rom, into the option ROM space

-clock force the use of the given methods for timer alarm.

To see what timers are available use -clock ?

-startdate select initial date of the clock

-icount [N|auto]

Enable virtual instruction counter with 2^N clock ticks per instruction

During emulation, the following keys are useful:

ctrl-alt-f toggle full screen

ctrl-alt-n switch to virtual console 'n'

ctrl-alt toggle mouse and keyboard grab

When using -nographic, press 'ctrl-a h' to get some help.