image

(via CC license from http://www.flickr.com/photos/valeriebb/3006348550/)

在 Win XP SP3 安裝VirtualBox 4.2時我所遇到的問題,集中整理於此篇文章。VirtualbBox 的安裝記錄請參考之前的文章:

    在Win XP 上面安裝VirtualBox 4.2

 

2012/12/4 更新:新增『升級 4.2.4 之後,出現 [Cannot access the kernel driver] 錯誤』

建立 VirtualBox COM 物件時失敗

安裝完成後,我把VirtualBox虛擬機器關閉後,卻無法再次打開,出現了下面這個錯誤畫面。

標題是:『VirtualBox - 嚴重錯誤』。

內容是:『建立 VirtualBox COM 物件時失敗。應用程式現在將終止』

詳細資料是:被呼叫端RC:  CO_E_SERVER_EXEC_FAILURE (0x80080005)

host OS: Win XP SP3

guest OS: All

image

 

我找到一個 blog,也下載了微軟的 hotfix Windows6.0-KB949700-x86.msu,但是.mus 檔案室給Vista 使用的,在 XP根本打不開。而且仔細跟著該blog 裡面的連結去追尋,理論上,這個問題應該是發生在四年前 VirtualBox 2.0 的時代,為什麼我現在已經安裝 4.2 了,還會有問題?

又再花了很多時間嘗試過網路上所能夠找到的其他方法,卻都無法解決我的問題。後來才想起,安裝完VirtualBox之後,我還沒有重開過 Windows。雖然VirtualBox並沒有在安裝完成後要求重新開機,但是很有可能某些部分的設定並沒有完成,必須重開機才能完成。果然重新開機後,這個問題就不再發生了。

結論:結論很簡單,在 Win XP 下,安裝完 VritualBox 之後,重新開機。

 

開啟虛擬機器 <VM_name> 的工作階段失敗

成功開啟虛擬機器後,關閉虛擬機器 後再打開,就會出現以下這個錯誤畫面。

標題是:『VirtualBox - 錯誤』。

內容是:

開啟虛擬機器 Ubuntu_12.04 的工作階段失敗。

Failed to open release log (could not open file ‘…….\VBox.log’

(fOpen=0x332), VERR_SHARING_VIOLATION).

(Ubuntu_12.04 是我的虛擬機器名稱)

詳細資料是:E_FAIL (0X80004005) …

host OS: Win XP SP3

guest OS: All (Ubuntu as an example)

image

 

分析:

這個問題牽扯到檔案開啟(fOpen)的錯誤,而且是一個分享的錯誤 (VERR_SHARING_VIOLATION),先打開 Unlocker 這款專門解決檔案被佔用的問題的免費軟體來看看:

image

果然VBox.log 被佔用了,而且是被 VirtualBox.exe 給佔用。VirtualBox.exe 正是我們要執行的檔案,所以有可能是之前的 VirtualBox.exe 沒有關閉嗎?

 

打開工作管理員來看,可以發現有好幾個VirtualBox.exe 沒有關閉:

image

一旦把之前遺留下來的 VirtualBox.exe 程序結束之後,這個問題自然就解決了。

這個問題不是偶爾才發生一次,而是每次都發生。沒有意外的話,應該也會有別人遇到相同的問題。果然,在 VirtualBox 的 Bugtracker 上面有人反映了這個問題 Ticket #10784

已經反映了三個月,還沒有答案。

 

既然是一個已知的問題,在還沒有解答之前,可以用以下的DOS命令把殘存的VirtualBox.exe 結束。

taskkill /F /IM VirtualBox.exe
 

(注意:以上命令會結束所有的 VirtualBox.exe,如果同時開啟幾個不同的虛擬機器時,所有的虛擬機器都會結束,使用上請小心。)

結論:Failed to open release log (VBox.log) 是因為之前的 VirtualBox.exe 沒有結束造成的,看起來是一個VirtualBox 的bug,目前尚沒有解決(Ticket #10784)。可以手動刪除process 或者用DOS命令刪除之。

 

升級 4.2.4 之後,出現 [Cannot access the kernel driver] 錯誤

我原本的VirtualBox 版本是 4.2.0,最近打開VirtualBox 都會看到升級4.2.4的提示。升級的過程一切正常,甚至,Extension Pack 也會很貼心的一起升級。只是沒想到,升級後卻沒辦法啟動 host System,錯誤畫面如下(當初沒抓到圖,圖片來源在此):

http://www.kombitz.com/wp-content/uploads/2010/05/vb-cannotaccessthekerneldriver.jpg

 

訊息如下:Cannot access the kernel driver! Make sure the module has been loaded successfully.

接著會出現一個詳細的訊息:

Result Code:
E_FAIL (0x80004005)
Component:
Machine
Interface:
IMachine {22781af3-1c96-4126-9edf-67a020e0e858}

請教Google大神之後,解法如下:

找到 VirtualBox 安裝目錄底下的 drivers\vboxdrv\VBoxDrv.inf 檔案(通常是 C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv\VBoxDrv.inf ,但如果你跟我一樣安裝時換過目錄的話,就從VirtualBox 執行檔按右鍵,從內容去找吧),按右鍵選擇安裝:

image

如此,就解決了!

有興趣瞭解始末者,可參考這篇文章

 


VirtualBox 系列文章

   在Win XP 上面安裝VirtualBox 4.2

   VirtualBox 4.2 上面安裝Ubuntu 12

 

文章標籤
創作者介紹

真實旅程

dragonspring 發表在 痞客邦 PIXNET 留言(0) 人氣()