IT Notes‎ > ‎Operation System‎ > ‎Virtual Machine‎ > ‎KVM‎ > ‎


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

# 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


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]
                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.