一.安裝
1.下載package
https://www.virtualbox.org/wiki/Linux_Downloads
2.添加源。
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=artful DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
記住這個 DISTRIB_CODENAME=artful
打開根目錄/---->etc---->apt---->source.list
sudo vim /etc/apt/sources.list
添加
deb https://download.virtualbox.org/virtualbox/debian <mydist> contrib
注意:mylist按照自己的系統進行選擇'artful', 'zesty', 'yakkety', 'xenial', 'trusty', 'stretch', 'jessie', or 'wheezy'
3.下載並添加公共密鑰。
公共密鑰分為兩種,Debian 8 ("Jessie") / Ubuntu 16.04 ("Xenial") 以及之后的版本,在終端輸入:
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
其他版本的輸入:
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
查看公共密鑰是否導入正確,輸入:
apt-key finger
4.更新源並安裝VirtualBox虛擬機。
sudo apt-get update
sudo apt-get install virtualbox-5.2
參考原文鏈接:https://blog.csdn.net/u014577061/article/details/79522464
二.安裝成功后terminal中輸入virtualbox即可啟動
But VirtualBox =-1908的錯誤,提示需要以root權限執行/sbin/vboxconfig
$ sudo /sbin/vboxconfig [sudo] <hostname>的密碼: vboxdrv.sh: Stopping VirtualBox services. vboxdrv.sh: Starting VirtualBox services. vboxdrv.sh: Building VirtualBox kernel modules. vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why. There were problems setting up VirtualBox. To re-start the set-up process, run /sbin/vboxconfig as root.
其中關鍵字dmesg,按照Wiki上的描述,是一個這樣的東西:
dmesg (display message or driver message) is a command on most Unix-like operating systems that prints the message buffer of the kernel.[1] The output of this command typically contains the messages produced by the device drivers.
而關鍵字modprobe,這個命令可以理解為使某個模塊生效,那么說明是vboxdrv沒有生效,這是VirtualBox的驅動,Linux內核專門有一個用於驅動VirtualBox的驅動,叫做virtualbox-dkms,其中dkms代表Dynamic Kernel Module Support.所以問題根源在於virtualbox-dkms沒有被驅動.
既然是驅動沒有加載,那我們應該想想為什么沒有加載,因為我們升級了內核!這樣的話加載的就是上一個內核版本的驅動,已經不適用當前內核了,那我們需要為當前內核重新安裝一個驅動,用以下命令:
sudo apt install --reinstall linux-headers-$(uname -r) virtualbox-dkms dkms
這條命令是先安裝與當前內核版本相對應的linux-headers,用於配置virtualbox-dkms,然后再安裝對應的驅動就能夠自動完成配置了,完成配置后,再輸入以下命令:
sudo modprobe vboxdrv
但在運行sudo modprobe vboxdrv時出現問題:
modprobe: ERROR: could not insert 'vboxdrv': Required key not available
這是Secure Boot搞的鬼,是的這個東西在所有較新出廠的主板上都會有的,這是微軟為了防止用戶裝Linux而聯合硬件廠商搞出來的玩意兒.這個東西可以說是沒有任何作用,起一個高大上的名字–安全啟動就是為了唬人,讓用戶不敢去禁用它,從而給用戶安裝Linux帶來極大的不便甚至無法安裝Linux.
以下是解決方案:
首先安裝一個MOK組件:
sudo apt install mokutil
然后輸入以下命令:
sudo mokutil --disable-validation
之后shell會要求你創建密碼,直接輸入密碼即可,輸入兩次確保正確,並記錄下這個密碼.
reboot
重啟計算機,在彈出的畫面選擇Enroll MOK,選擇ChangeSecure Boot state進入一路回車至要求輸入密碼,按照要求(輸入密碼的第幾個字符),輸入剛剛記錄的密碼即可.
最后跳轉到一個對話框Disable secure boot?,選擇yes,重啟計算機.
進入系統以后再執行
sudo modprobe vboxdrv
這樣就激活了安裝好的驅動,可以成功進入虛擬機了.
參考原文鏈接:https://blog.csdn.net/AAMahone/article/details/86428040
三.創建虛擬機並不能成功啟動,提示FATAL:No bootable medium found
因為沒有iso文件
下載一個ubuntu 鏡像
desktop版本的:https://ubuntu.com/download/desktop
server版本的:https://ubuntu.com/download/server
顧名思義,desktop 版本的啟動虛擬機后有桌面,和正常的ubuntu操作系統一樣一樣的,而server版本的沒有桌面,和在linux中 ctrl +alt +F1<至F6>界面一樣(ctrl +alt +F7)返回桌面,版本根據需求自行選擇,另外,16 17 18 版本都無所謂啦!
PS:官網下載完800M估計得等到下輩子吧(因為是國外汪網站),這里可以通過網易鏡像下載,server和的desktop版本選擇同上http://mirrors.163.com/ubuntu-releases/
然后在虛擬機中設置->存儲->控制器:IDE 下方的 沒有盤片(反正就是有光盤圖標那個)->(右邊)屬性->分配光驅->選擇之前下載的ubuntu鏡像->確定,如果還報錯再設置->系統->啟動順序->把光驅加到第一個.
然后...嚯嚯哈哈!現在就相當於重裝系統時分區之類的,根據提示回車並且輸入username password等就OK拉(username password要記住奧)
注意:當看到installing system時,會無法進行下一步的,不要捉急,等待安裝就好了!
最后輸入username password就可以成功進入虛擬機啦!
如果下載的版本和本來操作系統的版本不一致,那就可以更新系統(應該不能是降級吧,總不能自己操作系統是17,自己去下載一個16的吧...萬一要真下載了一個更低版本的,那就去別的地方找找看咋辦了),見四
四.
do-release-upgrade
更新系統.
PS:這是一個漫長且必須看着它的過程,因為偶爾需要輸入一個y...
如果出現雙系統更新完成后重啟沒有系統選擇的界面,而是直接進入windows的情況,在重啟時狂敲F12(不要害怕把鍵盤敲壞),然后重新選擇啟動選項就OK 了.另外,困擾我一個學期的搜狗輸入法打漢字時沒有拼音,沒有聯想,不能進行選擇,只能選擇出現的第一個字或詞的問題也竟然因為更新系統正常了,啊西巴!
續:在我更新完自己的ubuntu后,,之前安裝的virtualbox也不能用了,但是
sudo apt-get update sudo apt-get install virtualbox-qt
不再報依賴錯誤了,,直接就安裝上了,我...(算了,我不生氣)