网络上大部分都在说如何把VMware导入到VirtualBox中,我在最新的版本到看到VirtualBox (3.2.2)已经支持VMware虚拟硬盘格式vmdk,所以新建一个VBox虚拟机,直接注册VMware的虚拟硬盘就可以了。
2 N* M6 }0 p) O$ h5 c/ f* t1 o其实没有必要把整个虚拟机相互转换,只要把虚拟硬盘镜像转换就可以了,不需要转换,但是要在VMplayer中使用VDI格式的硬盘镜像就得费点劲转换一 个格式了。 + e; w2 g/ X! C6 r
使用第三种虚拟机来完成这个工作--qemu, / `( \" m3 H) j. Q
知道可以使用qemu-img来转换,按照上面的说明安装qemu-kvm,使用过程中发现可以当前的qemu版本已经支持几乎所有的虚拟硬盘格式,参照 下面的命令帮助。 ) Q6 T1 Z1 A; G$ n
在Ubuntu下可以很方便的安装
; ?2 J& k4 c# T7 r; o+ e! E& J: Ushily@hh-desktop:~# sudo apt-get install qemu-kvm/ u8 z8 v3 ^- ]" T6 q
使用如下一个命令就可以轻松完成转换。 / V, n" S4 \4 H; a
shily@hh-desktop:~# qemu-img convert -f vdi -O vmdk Winxp.vdi Winxp.vmdk, \: ~& a& h* |& t& U
直接修改已经建好的虚拟机,(Ubuntu系统在~/vmware/)
t/ a! n! K" B, q9 y8 ]+ c9 ?5 k例如我建立的虚拟机叫Win,则修改 ~/vmware/Win/Win.vmx,找到 ide0:0.fileName = "Win.vmdk"
, O, }; r2 v. l4 g9 W把其中的Win.vmdk修改成你转换生成的文件名即可。 6 k+ |5 A6 G9 `3 X! h
[注]: 6 n- i/ J. C" t# }+ m
1,Winxp.vdi要根据VitrualBox虚拟机的名称修改,在目录~/.VirtualBox/HardDisks下可以找到。 9 J6 [( h+ W# e9 t- K
2,.vmx 是VMware虚拟机的配置文件,是一个文本文件可以直接修改,也可以在程序中更改,删除原来的硬盘,再添加转换后的硬盘。
7 [" E8 G/ O" U. t" f( s1 }* b======================
$ N7 j z* d% s/ J/ ?. Wshily@hh-desktop:~$ qemu-img
! W# V* n$ E i% m: yqemu-img version 0.12.3, Copyright (c) 2004-2008 Fabrice Bellard
C: z& i% D# w4 ~& n( n. z+ ]usage: qemu-img command [command options] * w2 m, l7 ?7 `9 W: O2 N, F( k
QEMU disk image utility 0 q& P/ e: Q- y. p0 R$ r0 J- t2 a
9 I8 [( O' q N1 O6 v
Command syntax:
7 \* @; _( S/ K& \/ z1 rcheck [-f fmt] filename
+ v4 u" Y i; u5 Vcreate [-f fmt] [-o options] filename [size]
, D) ]% {2 R0 V% l2 Ecommit [-f fmt] filename
/ U4 R4 [4 V. e9 Z. |3 S/ vconvert [-c] [-f fmt] [-O output_fmt] [-o options] filename [filename2 [...]] output_filename
8 h4 ^( I# k' Z) l; a8 Kinfo [-f fmt] filename / C2 K. F8 b5 s$ R1 n6 x0 W* f4 y
snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename
) c& z1 r! o; K3 Y
, u* U7 t& D! e4 M" ICommand parameters: ' K5 ~8 w$ r& b( p
'filename' is a disk image filename & K5 m# \' s6 k% R* F( C3 @! H
'fmt' is the disk image format. It is guessed automatically in most cases
# S- x0 k% O1 F2 x! q'size' is the disk image size in bytes. Optional suffixes
' g! c+ c8 H+ ~* J0 H'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' (gigabyte, 1024M)
5 }1 @ N# W% j2 S9 iand T (terabyte, 1024G) are supported. 'b' is ignored.
7 Z2 Y- R, x- k7 P/ `: F'output_filename' is the destination disk image filename
. y% e# h }. o- y2 H- k'output_fmt' is the destination format
! v- K; e# s3 r5 G: A, d'options' is a comma separated list of format specific options in a
) i# y' d# x1 r. Tname=value format. Use -o ? for an overview of the options supported by the 2 l j/ ?6 [; a6 i2 z/ v w( u
used format : A. G; X! P; p
'-c' indicates that target image must be compressed (qcow format only)
- T9 W7 K7 a; ?/ a'-h' with or without a command shows this help and lists the supported formats 0 |# y o" S3 K3 R) n/ n
+ b) H- Z4 z }# U. m2 o
Parameters to snapshot subcommand: . x" _% t; v% ^' h# k, G
'snapshot' is the name of the snapshot to create, apply or delete 9 y8 X- w' M4 h4 u: A: x+ @9 F
'-a' applies a snapshot (revert disk to saved state)
* e1 L U0 ]5 L2 v; S- q'-c' creates a snapshot ( W# z; V; s4 e/ H
'-d' deletes a snapshot 9 j& `: q9 x2 N" v& \) l" C4 E8 `
'-l' lists all snapshots in the given image
9 ^$ Z, \' s! l2 S+ V
. ~) E+ e: B$ u9 I# X0 VSupported formats: cow qcow vdi vmdk cloop dmg bochs vpc vvfat qcow2 parallels nbd host_cdrom host_floppy host_device raw tftp ftps ftp https http
5 T2 s$ O2 E( X" U" l5 t' t) R# z, g. r, r I7 N% _! W1 q
======================
' p, J4 W% U: U: M9 @6 D参考: ( e/ q% H. Z! {, z* a \- u/ I
====================================== ( h3 C6 ]* H# t/ O2 m/ x/ Y4 U1 J: U
2010-06-06 更新 ) |- c* ]2 E4 L6 i( [
警告:安装qemu-kvm可能导致virtualbox无法启动,在我的机器上出现了如下提示:
$ p' m- m3 l* ^
4 ?( [9 w% T" w7 I4 N3 IFailed to open a session for the virtual machine WinXP. VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_VMX_IN_VMX_ROOT_MODE). Details: 6 f# Q- E# H% W$ G/ s
Result Code: 8 N+ c D$ S! p& B
NS_ERROR_FAILURE (0x80004005) . g9 @4 B$ [' x$ O7 n# f6 X
Component:
0 `6 c! N( x& l- x5 FConsole
' f; y4 U- S! f% ~/ { e. r1 UInterface: & d; X, X1 {( Q- q! {
IConsole {6375231a-c17c-464b-92cb-ae9e128d71c3} ( ^( P% L5 u# s7 y; @! V
5 w. g, R$ L5 j" P- k3 z
说 可能导致的原因是我的系统环境比较复杂:安装在USB硬盘上,经常在T60p和Dell的740上工作,他们的 CPU一个是Intel、另外一个是AMD,比较郁闷。在网上找到一个解决方案。 7 B7 {: e$ H( Z( g
shily@hh-desktop:~$ sudo modprobe -r kvm_intel #因为我当前的CPU是Intel,你也可以直接使用sudo modprobe -r kvm来删除kvm模块,无论你使用什么样的CPU。 4 V- g7 b2 M; E5 f& ]& g8 S
然后打开VirtualBox就可以了,但是你需要在每次重启开机后执行这个命令,如果你需要启动Vbox的话。 5 f- e3 s2 S. X) g2 ~8 }0 F
. I, P$ R6 ~, X( h9 r! X
参照: ' S4 [: O+ z) Q/ x8 O6 K3 g+ } ?
/ {' m: m' M6 ]9 k6 G. ?' y. {很郁闷的是,我在开启虚拟机后发现USB设备已经可以在虚拟机中正常使用了,我并不清楚什么原因导致可以使用。 F* t. \+ x, h0 h* Z! D
==========================
( ]! J5 e Y# h& T0 r0 m最新更新:0 w: |) `' ?& _% c; b% i
学习了些新东西,找到了原因。 & t( H" P6 c4 a" H, S
发现我系统中的 /etc/udev/rules.d/10-vboxdrv.rules 文件不知道什么原因消失了。
0 O# f# Q& [2 W1 r重新建立一个,写入以下内容: . ~- W! g, U: C6 A7 h
9 k& [6 Y, |* o+ @* e# vKERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"
- L9 l& i* L( DSUBSYSTEM=="usb_device", GROUP="vboxusers", MODE="0664" 8 k8 Q: D+ ]/ m$ N0 L% V; g" w6 q
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE="0664" . Z8 Q! B$ }. n- b2 {3 @
' N3 \" Z) Z5 w- W0 D# N& x
重新启动虚拟机,就可以使用USB了。 |