本篇為「安裝 Fedora 17 x86_64 的虛擬機器中,將 VirtualBox 的 Guest Additions 從 4.1.22 升級到 4.1.24 失敗」後,再修正成功升級的記錄。補記:如果,讀者現在正想從 Guest Additions 的 4.1.22 升級至 4.1.24,請參考另一篇較精簡的必勝秘技。(註:就是懶人招)
在前文 “VirtualBox「安裝 Guest Additions 失敗」後的回復” 一文中只提到回復的步驟,因為沒時間找解法,只好先將 Guest Additions 回到舊版。今天有點小空閒就再試一下,發現『時間會解決問題!』這句話是錯的,問題仍在,明顯地時間並沒有解決它。(廢話!)
查看一下錯誤的情形,VirtualBox 的 Guest Additions 是安裝在 /opt/ 這個目錄下,用 ls 列出這個目錄出來查看(接下來的操作皆以 root 身份下命令)
[root@Core-i7 ~]# ls /opt/ google VBoxGuestAdditions-4.1.22 VBoxGuestAdditions-4.1.24發現該目錄同時存在兩個版本的 Guest Additions,
再查看 /usr/lib64/ 這個目錄,
[root@Core-i7 ~]# ls /usr/lib64/ . . . . . . drwxr-xr-x. 4 root root 4096 12月 3 10:44 tracker-0.14 drwxr-xr-x. 3 root root 4096 12月 13 18:27 udev lrwxrwxrwx. 1 root root 53 10月 29 12:38 VBoxGuestAdditions -> /opt/VBoxGuestAdditions-4.1.22/lib/VBoxGuestAdditions lrwxrwxrwx. 1 root root 53 12月 22 18:40 VBoxOGLarrayspu.so -> /opt/VBoxGuestAdditions-4.1.24/lib/VBoxOGLarrayspu.so lrwxrwxrwx. 1 root root 51 12月 22 18:40 VBoxOGLcrutil.so -> /opt/VBoxGuestAdditions-4.1.24/lib/VBoxOGLcrutil.so lrwxrwxrwx. 1 root root 53 12月 22 18:40 VBoxOGLerrorspu.so -> /opt/VBoxGuestAdditions-4.1.24/lib/VBoxOGLerrorspu.so lrwxrwxrwx. 1 root root 56 12月 22 18:40 VBoxOGLfeedbackspu.so -> /opt/VBoxGuestAdditions-4.1.24/lib/VBoxOGLfeedbackspu.so lrwxrwxrwx. 1 root root 52 12月 22 18:40 VBoxOGLpackspu.so -> /opt/VBoxGuestAdditions-4.1.24/lib/VBoxOGLpackspu.so lrwxrwxrwx. 1 root root 59 12月 22 18:40 VBoxOGLpassthroughspu.so -> /opt/VBoxGuestAdditions-4.1.24/lib/VBoxOGLpassthroughspu.so lrwxrwxrwx. 1 root root 45 12月 22 18:40 VBoxOGL.so -> /opt/VBoxGuestAdditions-4.1.24/lib/VBoxOGL.so drwxr-xr-x. 2 root root 4096 9月 18 18:53 vdpau drwxr-xr-x. 2 root root 4096 11月 20 10:33 vte-2.90 . . . . . .和 /usr/share/ 這個目錄,
[root@Core-i7 ~]# ls /usr/share/ . . . . . . drwxr-xr-x. 2 root root 4096 5月 30 2012 usermode drwxr-xr-x. 3 root root 4096 5月 30 2012 vala lrwxrwxrwx. 1 root root 55 10月 29 12:38 VBoxGuestAdditions -> /opt/VBoxGuestAdditions-4.1.22/share/VBoxGuestAdditions drwxr-xr-x. 4 root root 4096 10月 15 17:57 vim drwxr-xr-x. 2 root root 4096 6月 4 2012 vinagre . . . . . .可以看到, /usr/lib64/VBoxGuestAdditions 和 /usr/share/VBoxGuestAdditons 這兩個目錄連結,仍然連結到舊版(4.1.22)的 Guest Additions。
想不到問題是這麼簡單,害筆者委屈用了這麼多天的舊版 Guest Additons。話不多說,知道問題所在,一切就好辦了。三個步驟解決:
一、移除所有的 Guest Additions
先將『未完整移除』的舊版、『已安裝但不能正確執行』的新版 Guest Addition 都刪除,要用 Guest Additions 目錄內的『反安裝』程式。[root@Core-i7 ~]# /opt/VBoxGuestAdditions-4.1.22/uninstall.sh -bash: /opt/VBoxGuestAdditions-4.1.22/uninstall.sh: 沒有此一檔案或目錄 [root@Core-i7 ~]# /opt/VBoxGuestAdditions-4.1.24/uninstall.sh上例中, 4.1.22 版因移除未完全,但 uninstall.sh 已被移除,所以找不到檔案。第二個命令會將『不能正確執行的 4.1.24 版』移除。
二、刪除『錯誤的目錄連結』和『未完整移除的舊版』
上一步驟的反安裝並未刪除錯誤的目錄連結,/usr/lib64/VBoxGuestAdditions 和 /usr/share/VBoxGuestAdditons 仍連結到舊版(4.1.22),還有未完整移除的 4.1.22 版,先將它們刪除[root@localhost ~]# rm /usr/lib64/VBoxGuestAdditions rm:是否移除符號連結‘/usr/lib64/VBoxGuestAdditions’? y [root@localhost ~]# rm /usr/share/VBoxGuestAdditions rm:是否移除符號連結‘/usr/share/VBoxGuestAdditions’? y [root@localhost ~]# rm -rf /opt/VBoxGuestAdditions-4.1.22命令 rm 是 Linux 裏刪除命令,在「終端機」中下此命令可刪除檔案、目錄、連結等,也可配合一些參數微調命令的執行功能。第三個命令中的『 -rf 』是 rm 的參數,『 r 』是將所以子目錄也都一併刪除,而『 f 』則使其在刪除每個子目錄時,不會一一詢問、確認。
三、重新安裝 新版的 Guest Additions
完成上述兩個步驟後,虛擬機中 Guest Additions 的新舊版應該都已經移除。接著,再安裝新版的 Guest Additons 就可以了。此時,依『Guest Additions 安裝光碟』的情況,讀者有兩個選擇:
上表中的安裝命令為
注意:只『登出』、再『登內』似乎不能讓安裝生效,請重新開機。
安裝光碟 | 安裝步驟 |
---|---|
已退出 | 再放入安裝光碟,即可自動啟動安裝程序 |
仍掛載中 | 在「終端機」中下『安裝命令』 |
[root@Core-i7 ~]# /run/media/SiB/VBOXADDITIONS_4.1.24_82872/VBoxLinuxAdditions.run至於遇程畫面就省略了,待安裝完後,重新開機。
注意:只『登出』、再『登內』似乎不能讓安裝生效,請重新開機。
已測試版本:
- Host OS (主機作業系統): Fedora 14 x86_64
- Guest OS (客戶作業系統): Fedora 17 x86_64
- VirutalBox: 4.1.22 → 4.1.24
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)