您的位置:首页 > 其它

kvm安装ghost xp非常的慢原因以及全屏问题

2015-10-16 20:58 393 查看
最近工作环境切换到了Linux环境下面,因为有很多云盘都必须在windows和Mac系统下面。但是我不想来回启动,直接在KVM中安装xp。xp在网上随便找了一个ghost系统,开始安装的时候无比的慢,受不了,每分钟拷贝文件只有1MB,照这个速度安装下去,要猴年马月了。

于是乎我在网上找了圈,还是找不东西,看来只能自己思考了。最后发现了原因:

1.原因就是kvm的映像格式搞的鬼,我选择的是根据实际大小来增长的格式,结果安装的时候还要不断的调整映像的大小,所以会非常的慢。

解决如下:

qemu-img create -f raw ~/kvm/winxp.raw 20G

2.全屏

有两种方式了,1是启动时候带-full-screen参数就可以了,当然还可以按下键盘的ctrl+alt+f 键了。

sudo kvm -localtime -drive file=winxp.raw -m 1024 -full-screen

下面附kvm所有参数:

QEMU emulator version 1.1.2 (qemu-kvm-1.1.2+dfsg-6+deb7u7, Debian), Copyright (c) 2003-2008 Fabrice Bellard

usage: kvm [options] [disk_image]

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

Standard options:

-h or -help display this help and exit

-version display version information and exit

-machine [type=]name[,prop[=value][,...]]

selects emulated machine (-machine ? for list)

property accel=accel1[:accel2[:...]] selects accelerator

supported accelerators are kvm, xen, tcg (default: tcg)

kernel_irqchip=on|off controls accelerated irqchip support

kvm_shadow_mem=size of KVM shadow MMU

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

-smp n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]

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

maxcpus= maximum number of total cpus, including

offline CPUs for hotplug, etc

cores= number of CPU cores on one socket

threads= number of threads on one CPU core

sockets= number of discrete sockets in the system

-numa node[,mem=size][,cpus=cpu[-cpu]][,nodeid=node]

-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=writethrough|writeback|none|directsync|unsafe][,format=f]

[,serial=s][,addr=A][,id=name][,aio=threads|native]

[,readonly=on|off][,copy-on-read=on|off]

[[,bps=b]|[[,bps_rd=r][,bps_wr=w]]][[,iops=i]|[[,iops_rd=r][,iops_wr=w]]

use 'file' as a drive image

-set group.id.arg=value

set <arg> parameter for item <id> of type <group>

i.e. -set drive.$id.file=/path/to/image

-global driver.prop=value

set a global default for a driver property

-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 [order=drives][,once=drives][,menu=on|off]

[,splash=sp_name][,splash-time=sp_time]

'drives': floppy (a), hard disk (c), CD-ROM (d), network (n)

'sp_name': the file's name that would be passed to bios as logo picture, if menu=on

'sp_time': the period that splash picture last if menu=on, unit is ms

-snapshot write to temporary files instead of disk image files

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

-mem-path FILE provide backing storage for guest RAM

-mem-prealloc preallocate guest memory (use with -mem-path)

-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

-balloon none disable balloon device

-balloon virtio[,addr=str]

enable virtio balloon device (default)

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

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

-device driver[,prop[=value][,...]]

add device (based on driver)

prop=value,... sets driver properties

use -device ? to print all possible drivers

use -device driver,? to print all possible properties

File system options:

-fsdev fsdriver,id=id[,path=path,][security_model={mapped-xattr|mapped-file|passthrough|none}]

[,writeout=immediate][,readonly][,socket=socket|sock_fd=sock_fd]

Virtual File system pass-through options:

-virtfs local,path=path,mount_tag=tag,security_model=[mapped-xattr|mapped-file|passthrough|none]

[,writeout=immediate][,readonly][,socket=socket|sock_fd=sock_fd]

-virtfs_synth Create synthetic file system image

-name string1[,process=string2]

set the name of the guest

string1 sets the window title and string2 the process name (on Linux)

-uuid %08x-%04x-%04x-%04x-%012x

specify machine UUID

Display options:

-display sdl[,frame=on|off][,alt_grab=on|off][,ctrl_grab=on|off]

[,window_close=on|off]|curses|none|

vnc=<display>[,<optargs>]

select display type

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

-curses use a curses/ncurses interface instead of SDL

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

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

-ctrl-grab use Right-Ctrl to grab mouse (instead of Ctrl-Alt)

-no-quit disable SDL window close capability

-sdl enable SDL

-spice <args> enable spice

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

-rotate <deg> rotate graphical output some deg left (only PXA LCD)

-vga [std|cirrus|vmware|qxl|xenfb|none]

select video card type

-full-screen start in full screen

-vnc display start a VNC server on display

i386 target only:

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

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

-no-acpi disable ACPI

-no-hpet disable HPET

-acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n][,asl_compiler_id=str][,asl_compiler_rev=n][,{data|file}=file1[:file2]...]

ACPI table description

-smbios file=binary

load SMBIOS entry from binary file

-smbios type=0[,vendor=str][,version=str][,date=str][,release=%d.%d]

specify SMBIOS type 0 fields

-smbios type=1[,manufacturer=str][,product=str][,version=str][,serial=str]

[,uuid=uuid][,sku=str][,family=str]

specify SMBIOS type 1 fields

Network options:

-net nic[,vlan=n][,macaddr=mac][,model=type][,name=str][,addr=str][,vectors=v]

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

-net user[,vlan=n][,name=str][,net=addr[/mask]][,host=addr][,restrict=on|off]

[,hostname=host][,dhcpstart=addr][,dns=addr][,tftp=dir][,bootfile=f]

[,hostfwd=rule][,guestfwd=rule][,smb=dir[,smbserver=addr]]

connect the user mode network stack to VLAN 'n', configure its

DHCP server and enabled optional services

-net tap[,vlan=n][,name=str][,fd=h][,ifname=name][,script=file][,downscript=dfile][,helper=helper][,sndbuf=nbytes][,vnet_hdr=on|off][,vhost=on|off][,vhostfd=h][,vhostforce=on|off]

connect the host TAP network interface to VLAN 'n'

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

to configure it and 'dfile' (default=/etc/kvm/kvm-ifdown)

to deconfigure it

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

use network helper 'helper' (default=/usr/lib/qemu-bridge-helper) to

configure it

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

use 'sndbuf=nbytes' to limit the size of the send buffer (the

default is disabled 'sndbuf=0' to enable flow control set 'sndbuf=1048576')

use vnet_hdr=off to avoid enabling the IFF_VNET_HDR tap flag

use vnet_hdr=on to make the lack of IFF_VNET_HDR support an error condition

use vhost=on to enable experimental in kernel accelerator

(only has effect for virtio guests which use MSIX)

use vhostforce=on to force vhost on for non-MSIX virtio guests

use 'vhostfd=h' to connect to an already opened vhost net device

-net bridge[,vlan=n][,name=str][,br=bridge][,helper=helper]

connects a host TAP network interface to a host bridge device 'br'

(default=br0) using the program 'helper'

(default=/usr/lib/qemu-bridge-helper)

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

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

-net socket[,vlan=n][,name=str][,fd=h][,mcast=maddr:port[,localaddr=addr]]

connect the vlan 'n' to multicast maddr and port

use 'localaddr=addr' to specify the host address to send packets from

-net socket[,vlan=n][,name=str][,fd=h][,udp=host:port][,localaddr=host:port]

connect the vlan 'n' to another VLAN using an UDP tunnel

-net vde[,vlan=n][,name=str][,sock=socketpath][,port=n][,group=groupname][,mode=octalmode]

connect the vlan 'n' to port 'n' of a vde switch running

on host and listening for incoming connections on 'socketpath'.

Use group 'groupname' and mode 'octalmode' to change default

ownership and permissions for communication port.

-net dump[,vlan=n][,file=f][,len=n]

dump traffic on vlan 'n' to file 'f' (max n bytes per packet)

-net none use it alone to have zero network devices. If no -net option

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

-netdev [user|tap|bridge|vde|socket],id=str[,option][,option][,...]

Character device options:

-chardev null,id=id[,mux=on|off]

-chardev socket,id=id[,host=host],port=host[,to=to][,ipv4][,ipv6][,nodelay]

[,server][,nowait][,telnet][,mux=on|off] (tcp)

-chardev socket,id=id,path=path[,server][,nowait][,telnet],[mux=on|off] (unix)

-chardev udp,id=id[,host=host],port=port[,localaddr=localaddr]

[,localport=localport][,ipv4][,ipv6][,mux=on|off]

-chardev msmouse,id=id[,mux=on|off]

-chardev vc,id=id[[,width=width][,height=height]][[,cols=cols][,rows=rows]]

[,mux=on|off]

-chardev file,id=id,path=path[,mux=on|off]

-chardev pipe,id=id,path=path[,mux=on|off]

-chardev pty,id=id[,mux=on|off]

-chardev stdio,id=id[,mux=on|off][,signal=on|off]

-chardev braille,id=id[,mux=on|off]

-chardev tty,id=id,path=path[,mux=on|off]

-chardev parport,id=id,path=path[,mux=on|off]

-chardev spicevmc,id=id,name=name[,debug=debug]

-iscsi [user=user][,password=password]

[,header-digest=CRC32C|CR32C-NONE|NONE-CRC32C|NONE

[,initiator-name=iqn]

iSCSI session parameters

Bluetooth(R) options:

-bt hci,null dumb bluetooth HCI - doesn't respond to commands

-bt hci,host[:id]

use host's HCI with the given name

-bt hci[,vlan=n]

emulate a standard HCI in virtual scatternet 'n'

-bt vhci[,vlan=n]

add host computer to virtual scatternet 'n' using VHCI

-bt device:dev[,vlan=n]

emulate a bluetooth device 'dev' in scatternet 'n'

Linux/Multiboot 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

-dtb file use 'file' as device tree image

Debug/Expert options:

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

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

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

-qmp dev like -monitor but opens in 'control' mode

-mon chardev=[name][,mode=readline|control][,default]

-debugcon dev redirect the debug console to char device 'dev'

-pidfile file write PID to 'file'

-singlestep always run in singlestep mode

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

-gdb dev wait for gdb connection on 'dev'

-s shorthand for -gdb tcp::1234

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

-D logfile output log to logfile (instead of the default /tmp/qemu.log)

-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

-bios file set the filename for the BIOS

-enable-kvm enable KVM full virtualization support

-xen-domid id specify xen guest domain id

-xen-create create domain using xen hypercalls, bypassing xend

warning: should not be used when xend is in use

-xen-attach attach to existing xen domain

xend will use this when starting QEMU

-no-reboot exit instead of rebooting

-no-shutdown stop before shutdown

-loadvm [tag|id]

start right away with a saved state (loadvm in monitor)

-daemonize daemonize QEMU after initializing

-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 ?

-rtc [base=utc|localtime|date][,clock=host|rt|vm][,driftfix=none|slew]

set the RTC base and clock, enable drift fix for clock ticks (x86 only)

-icount [N|auto]

enable virtual instruction counter with 2^N clock ticks per

instruction

-watchdog i6300esb|ib700

enable virtual hardware watchdog [default=none]

-watchdog-action reset|shutdown|poweroff|pause|debug|none

action when watchdog fires [default=reset]

-echr chr set terminal escape character instead of ctrl-a

-virtioconsole c

set virtio console

-show-cursor show cursor

-tb-size n set TB size

-incoming p prepare for incoming migration, listen on port p

-nodefaults don't create default devices

-chroot dir chroot to dir just before starting the VM

-runas user change to user id user just before starting the VM

-readconfig <file>

-writeconfig <file>

read/write config file

-nodefconfig

do not load default config files at startup

-no-user-config

do not load user-provided config files at startup

-trace [events=<file>][,file=<file>]

specify tracing options

-qtest CHR specify tracing options

-qtest-log LOG specify tracing options

-no-kvm disable KVM hardware virtualization

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

-no-kvm-pit disable KVM kernel mode PIT

-no-kvm-pit-reinjection

disable KVM kernel mode PIT interrupt reinjection

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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: