十二月 21, 2008

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» VirtualBox: 在命令列下,將 host os 中的 usb 設備指定給 guest os 使用

如果我們把 Windows 開在背景中執行,這時得用遠端桌面連線來控制它的。

但如果我們臨時想要為 Windows 加入一 usb 設備的話,該如何處理? 原本若依正常的使用方法,在 VirtualBox 程式中開出 Guest OS 時,它在右下角視窗外會有添加 usb /光碟/硬碟…的按鈕,但在背景中執行時,這些按鈕則見不到了。

其實很簡單。首先查出你要添加的 usb 設備的 uuid 。

# VBoxManage list usbhost
UUID: aead9d43-12fb-4faa-8c83-8e810217210c
VendorId: 0x0ca6 (0CA6)
ProductId: 0x0010 (0010)
Revision: 0.5 (0005)
Manufacturer: CASTLES
Product: EZ100PU Smart Card Reader
Address: /proc/bus/usb/001/003
Current State: Captured

接下來,在指定的 guest os 中啟用它。
# VBoxManage controlvm {{YOUR_GUEST_OS_NAME}} usbattach aead9d43-12fb-4faa-8c83-8e810217210c

你就會在 Windows 中,看到一 usb 設備被找到了。

而移除它的方法則是如下:
# VBoxManage controlvm {{YOUR_GUEST_OS_NAME}} usbdetach aead9d43-12fb-4faa-8c83-8e810217210c

十二月 15, 2008

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 在無 X window 下,在 Linux server 中安裝一個跑在 VirtualBox 上的 Windows XP

有時候,就是很無奈,得裝上一個自己不喜歡的東西來討人歡心,要不然生不出人家想要,且是一模一樣的封閉格式檔案。所以只好在 Linux Server 上裝個 VirtualBox 來跑 XP 。但問題是,它沒有 X window 耶,怎麼辦? 很簡單,照下面指令一樣畫個胡蘆就成了。

# 製作一個近 6g 的硬碟檔案(virtualbox用的vdi檔)
VBoxManage createvdi -filename GuestOSName.VDI -size 6000 -register
# 註冊你要使用的 WinXP 光碟檔
VBoxManage registerimage dvd /home/hoamon/WinXP.iso

# 創建一個虛擬機器,名稱是 GuestOSName
VBoxManage createvm -name GuestOSName -register
# 設定 GuestOSName 所用的記憶體為 768MB 、使用 dvd 、使用 nat 、
# 使用 GuestOSName.VDI 為 hda 硬碟、並在 3389 port 上使用「遠端桌面連線」來作控制虛擬機器、
# 在光碟機中放入 WinXP.iso
VBoxManage modifyvm GuestOSName -memory 768MB -acpi on -boot1 dvd -nic1 nat -hda GuestOSName.VDI -vrdpport 3389 -dvd /home/hoamon/WinXP.iso

# 開啟虛擬機器,然後你就可以連入 XXX.YYY.ZZZ.WWW:3389 去安裝 Windows XP 了。
VBoxVRDP -startvm GuestOSName &

# 強制關機
VBoxManage controlvm GuestOSName poweroff

在這個過程中,有一個非常棒的設計,那就是這個遠端桌面連線並不是 Windows XP 的遠端桌面連線,它是 VirtualBox 所提供的遠端桌面連線,所以當我們一打開 GuestOSName 時,以 3389 連線進去是可以看到 BIOS 畫面,但此時 Windows 都還沒啟動。

因為是 VirtualBox 所提供的桌面連線,所以如果你的 Guest OS 裝的是 GNU/Linux 、 *BSD 之類的作業系統,一樣都是用遠端桌面連線來控制。

另外針對從外部 ip 如何穿過防火牆來連線 3389 請看用 iptables 來開防火牆的洞!,若是要開放 Guest OS 連線則參照用 VirtualBox 讓 Windows Server 偷偷(背景執行)跑在 Linux Server 上

十一月 23, 2007

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 用 VirtualBox 讓 Windows Server 偷偷(背景執行)跑在 Linux Server 上

自從接觸到 VirtualBox 後,一直想要把它的 Guest OS 當成 Host OS 中的服務來使用,因為這樣子,我就可以在 Linux Server 中再跑一個 Windows Server 。會這麼作的原因是要使用 MS Office API 來出 .doc 檔。

那麼該如何在 Linux Server 中,令它在一啟動時,即啟動 Windows Server Service 呢?其實很簡單,在你的 /etc/rc.local 中加入一行

VBoxVRDP -startvm WinXP &

這樣就夠了, WinXP 是 Guest OS 的名稱。這種啟動方式,讓你不須要跑一個 X window 環境來秀出 Windows Server 的視窗,它會啟動在背景中,如果你有設定 Guest OS(WinXP) 可以遠端顯示的話,你可以在別台電腦以 rdp 連線來控制 Guest OS(WinXP) 。

設定好了以背景方式啟動 Guest OS 後,再設定外部連線可以轉到 Guest OS port 。設定指令如下:

# VBoxManage setextradata "WinXP" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol" TCP

# VBoxManage setextradata "WinXP" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/GuestPort" 80

# VBoxManage setextradata "WinXP" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/HostPort" 8080

上述指令只須設定一次即可,設定後,請重新開啟 VirtualBox 軟體。這樣別人就可以從 http://x.x.x.x:8080/ 來瀏覽你的 Windows Server 的網頁伺服器了。

十月 12, 2007

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 破紀錄:有史以來,第一次中毒

之前從來沒有中過毒,要不就是我沒發現過。

還好我已經用了 VirtualBox 了。中毒的解決之道,就是 cp -rf /backup/XXX.vdi ~/.VirtualBox/XXX.vdi , 8 分鐘就復原了。

這陣子,我老婆的學校一直飽受病毒肆虐之苦。沒想到,現在也延燒到家裡了。

九月 18, 2007

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 不重灌 R51 上的 Windows 了!

重灌 IBM R51,好累!所以想用另一個方法來解決。

最近有一項 Open Source 軟體很紅: VirtualBox 虛擬軟體,它的目的就是讓你在一個作業系統上再安裝多個作業系統,這類型軟體的領導者曾經是 VMWare ,但漸漸地有其他商業的、自由的軟體追上來了。

大家都說 VirtualBox 的效率十分高,幾乎快等於直接執行 Guest OS(就是多灌的那個 OS) 了。

況且如果是用 Levono Recover CD 重灌的話,無助於我桌上型電腦的 Windows ,我的 CoreDuo2 也是要重灌的。然而如果我使用的是 VirtualBox 的安裝方式,那麼只要在 CoreDuo2 上安裝一次,就可以把那個安裝完成的 .vdi 檔複製到 R51 來,這樣可以省下一次 OS 、 Application 安裝時間,同時也是另一型式的 Ghost/Clone 。

於是爬了爬文,看看如何安裝使用,結果相當簡單, Ubuntu 的方法如下:

# sudo vim /etc/apt/source.list

加入 deb http://www.virtualbox.org/debian feisty non-free

# sudo apt-get update
# sudo apt-get install virtualbox

會出現選單讓你選擇,挑預設值即可。

# sudo groupadd --gid 1111 usbfs
# sudo vim /etc/group

在 group 中的 vboxusers, usbfs 群組後面加入可以使用 virtualbox 的帳號,如:

usbfs:x:1111:hoamon

最後在 /etc/fstab 中加入 none /proc/bus/usb usbfs devgid=1111,devmode=664 0 0

這樣才可以在 Guest OS 中使用 usb 裝置。如果你還是有 usb 裝置的權限使用問題,請編輯 /etc/udev/rules.d/40-permissions.rules 檔案,把

SUBSYSTEM=="usb_device", MODE="0664"
改成
SUBSYSTEM=="usb_device", MODE="0666"

接著重開機一次。開機後請點選選單的「應用程式」->「系統工具」->「Innotek VirtualBox」,這樣就可以開始 Guest OS 的安裝。

所以我在 CoreDuo2 上安裝了一個 Windows Guest OS ,更新它的 Patch ,並設定好 WebATM 的各項要求,就把這個設定好的 WinXP.vdi copy 到 R51 上,什麼額外的動作都不需要,我的 R51 直接就可以開 IE 看我寫的網頁、線上報稅、使用 WebATM 了。而且速度真的與直接在 R51 上跑一個 Windows 差不多(甚至比較快,不過有可能是 Levono 的 XP 裝了一堆有得沒有得,造成的開機速慢,更何況這個 Win Guest OS 也才剛灌,這樣比不厚道)。

VirtualBox 真棒。

九月 7, 2007

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» VirtualBox 1.5 讓我太感動了


如何感動!還是看圖容易。請看!

IE 及 MSN 是活在 Ubuntu 當中的。

這樣我又都多了個好理由來鼓勵大家轉到 Linux 陣營了。

呀~~我都快哭了。

快上 http://www.virtualbox.org/了解實情。

biggo.com.tw

A Django site.