前提:主控端需要支援虛拟化,如果未打開,則需要重新開機機器,在bois中打開該項;
一.官方提供的辦法:
1.首先檢查機器是否支援虛拟化:
haochuang@Server-CI:~$ grep vmx /proc/cpuinfo
2.安裝KVM
haochuang@Server-CI:~$ sudo apt-get install kvm qemu
3.引導kvm子產品
如果是intel CPU
FAQ:
如果發生如下錯誤,則說明主機未開啟虛拟化:
$ sudo modprobe kvm-intel
FATAL: Error inserting kvm_intel (/lib/modules/2.6.20-15-generic/kernel/drivers/kvm/kvm-intel.ko): Operation not supported
Typing dmesg you may find the following at the end:-
kvm: disabled by bios
這時候的解決辦法自然就是去bois中打開虛拟化。
4.将目前使用者添加到組中
sudo addgroup `whoami` kvm
5.建立一個KVM鏡像
cd 到你要儲存鏡像的位置
6.啟動模拟器
先cd 到你要儲存鏡像的位置
1
2
<code>kvm -hda virtualdisk.img -cdrom cdrom.iso -m 256 -net nic -net user -soundhw all</code>
<code>kvm -drive file=xxxx.img -cdrom /path/to/boot-media.iso -boot d -m 1024</code>
7.永久加載子產品
在 /etc/modules中添加如下兩行
或者AMD CPU的話添加如下:
二.我的土辦法:
當然你也可以這麼做:
1.在windows環境下面建立虛拟機,使用VirtualBox或者Vmware都可以。但是要注意,如果使用VirtualBox建立的vdi格式的話,需要轉換一下,轉換成vmdk,然後ftp上傳至主控端中;
2.在主控端中,執行辦法一的1~4步驟,然後通過如下指令啟動:
haochuang@Server-CI:/opt/VMS$ kvm -drive file=Ubuntu_x86-64_14.04_50GB.vmdk
如我們所願,即可啟動相應的虛拟機。
如果你的沒起得來,可以參考如下指令檢查參數問題:
<code>kvm -m 1024 -drive file=Ubuntu_x86-64_14.04_50GB.vmdk</code>
<code>kvm -m 1024 -drive file=xp.img -cdrom /home/cat650/linux/kvm/NETKVM-20081229.iso -enable-kvm -net nic,model=virtio -net user</code>
注意點:
1.以後建立虛拟機盡量使用vmdk,更通用;
vhd能在windows7 旗艦版下打開無需工具
vmdk 是vm虛拟機的格式 可以被支援
vdi是virtualbox自己的格式
2.vdi 轉換為 vmdk格式:
1.進入 VirtualBox 安裝目錄
2.執行指令:
<code>VBoxManage.exe clonehd </code><code>"D:\VirtualBox VMs\Ubuntu_x86-64_14.04_Template\Ubuntu_x86-64_14.04_50GB.vdi"</code> <code>"D:\VirtualBox VMs\Ubuntu_x86-64_14.04_Template\Ubuntu_x86-64_14.04_50GB.vmdk "</code> <code>-format VMDK</code>
結果出現UUID沖突問題:
異常資訊:
<a></a>
3.很明顯,這時候需要我們修改UUID:
參考如下方法:
(1).進入 VirtualBox 安裝目錄
D:\Program Files (x86)\WorkTools\Oracle\VirtualBox
(2).執行指令:
<code>VBoxManage.exe clonehd </code><code>"D:\VirtualBox VMs\VM_VMDK\Ubuntu_x86-64_14.04_50GB.vdi"</code> <code>"D:\VirtualBox VMs\VM_VMDK\Ubuntu_x86-64_14.04_50GB.vmdk "</code> <code>-format VMDK</code>
不過嘗試失敗,後來在網絡上找了不少都沒有解決。
4.最終想到了一種解決辦法:
步驟一:使用VirtualBox複制虛拟機;
輸入新的虛拟機名稱,最好選擇重新初始化網卡MAC位址,以免後續出現位址沖突問題。
步驟二:使用指令轉換格式;
(1)進入 VirtualBox 安裝目錄
<code>cd D:\Program Files (x86)\WorkTools\Oracle\VirtualBox</code>
(2)執行轉換指令:
<code>VBoxManage.exe clonehd </code><code>"C:\Users\HaoChuang\VirtualBox VMs\Ubuntu_x86-64_14.04_50GB\Ubuntu_x86-64_14.04_50GB.vdi"</code> <code>"C:\Users\HaoChuang\VirtualBox VMs\Ubuntu_x86-64_14.04_50GB.vmdk "</code> <code>-format VMDK</code>
解釋一下:cloneHhd是複制為vmdk,也可轉成vhd,vdi,raw,還有個convertformraw指令,不過因為虛拟機比較大,是以轉換過程略微有點慢,需要耐心等待。
看如下截圖,OK。
轉換結束,即可在如下目錄中看到轉換完成的vmdk格式虛拟機:
C:\Users\HaoChuang\VirtualBox VMs\Ubuntu_x86-64_14.04_50GB
5.另外在網上(http://www.itshanghai.net/technology/2010/1101/article_879.html)有看到有人使用指令來解決,腳本如下:
3
4
5
6
7
8
9
10
<code>set</code> <code>x=vhi</code>
<code>set</code> <code>y=vmdk</code>
<code>echo off & cls</code>
<code>for</code> <code>/f </code><code>"delims="</code> <code>%%a </code><code>in</code> <code>(</code><code>'dir /b/a-d %~dp0'</code><code>) </code><code>do</code> <code>(</code>
<code>setlocal enabledelayedexpansion</code>
<code>set</code> <code>source=%%a</code>
<code>if</code> <code>/i </code><code>"!source:~-4!"</code><code>==</code><code>".%x%"</code> <code>(</code>
<code>set</code> <code>target=!source:~0,-4!.%y%</code>
<code>"%VBOX_INSTALL_PATH%VBoxManage.exe"</code> <code>clonehd </code><code>"%~dp0!source!"</code> <code>"%~dp0!target!"</code> <code>--format %y%</code>
<code>))</code>
使用辦法很簡單,将上面的代碼儲存為vdi2vmdk.bat 放在vdi檔案同目錄下執行,即可在vdi檔案同目錄下生成同名vmdk檔案,vdi轉vhd等隻需把前兩行改成對應的參數即可。
部分步驟有參考如下文章:
==========================================================================================
vmware導入vmdk格式檔案
如果你已經有了一個vmdk格式的虛拟機檔案,或者你不希望在重裝一次系統,而是從别的機器上面直接copy一個過來,那麼可以參考這篇文章(http://gh801.blog.163.com/blog/static/88832814201261582612/)導入vmdk格式檔案,其中部分步驟,自己注意一下就不會錯,詳細細節就不描述了。
轉載請注明出處:http://www.cnblogs.com/haochuang/ 8年IT工作經驗,5年測試技術與管理,2年産品與項目管理,曾參與過雲計算\雲存儲\車聯網産品研發工作; 業餘自媒體人,有技術類垂直微信公衆号;如有招聘或求職方面需求,請Mail to [email protected] ;或通過 QQ:363573922 微網誌:@念槐聚 聯系;