本篇寫於2019-4-25python
這兩天裝Ubuntu18.04雙系統簡直裝到崩潰。一是很是著名的開機卡死在Logo界面的問題,另外一個是在裝Nvidia驅動和CUDA的時候,更是費心。而網上的資料又參差不齊,走了很多彎路。因而作個總結,方便之後的本身,也方便別人。linux
首先:個人機器是戴爾靈越5577,如下方案不必定適合您的機器,操做失敗還請自行百度解決,而且安裝所CUDA和cuDNN版本請務必參照官網配置ubuntu
另外:安裝過程當中並無保留截圖,如下也只有文字敘述,有時間會補上。vim
鏡像是在Ububtu官網下載的鏡像,這沒有什麼異議。啓動盤製做方面我選擇rufus,小巧免費好用,並且很是適合製做Linux啓動盤。bash
選好U盤選好鏡像後就能夠製做了,我是選的默認設置,以下圖。我也試過gpt格式的,都可。測試
製做完成後,關閉rufus就能夠了,帶着U盤,從新啓動。ui
進入U盤引導(不一樣品牌的電腦有不一樣的方式,Dell是按F12選擇啓動方式),進入grub界面。google
你可能看過許多教程說的是,爲防止開機開在Logo,選中Install Ubuntu,而後按e編輯。個人建議是先別這樣作,由於編輯後進入的安裝界面屏幕分辨率會很低,許多按鈕在屏幕下方根本點不到,安裝很不方便。這裏我直接回車開始安裝,至於會卡在logo這個問題,裝好後再弄。.net
而後一步步安裝就能夠了。裝的時候必定要注意:不要聯網、不要選安裝驅動啥的,最小化安裝便可、手動分區。個人分區方式以下,共分給Linux 100G日誌
目錄 | 大小 | |
---|---|---|
/ | 20G | 邏輯分區 |
/boot | 1G | 邏輯分區 |
/home | 69G | 邏輯分區 |
裝完後,會顯示從新啓動,若是點當即重啓的話,不出意外,會卡在這裏,不要緊,按住電源鍵不放,強制關機。再開機後就可看到系統選擇界面了。
這個時候不要着急選擇,先選中Ubuntu,按e鍵進入編輯,將倒數第二段最後(多是倒數第三行,不難分辨)的quiet splash
後加上nomodeset
,注意nomodeset
要和先後有一個空格。而後按F10,便可開機。
這時候,應該能夠進入系統了,這個時候開始安裝顯卡驅動。
這裏有不少教程說是經過sudo ubuntu-drivers autoinstall
這個方法安裝的,可是就我親身經歷而言,並很差使,這裏安裝驅動是沒問題的,可是後來在安裝CUDA的時候會遇到各類各樣的問題。
這裏的建議是,去Nvidia的官網選擇一個適合你的顯卡的驅動(我選的最新的),下載好備用。
在裝驅動以前,先將nouveau加入黑名單:
sudo vim /etc/modprobe.d/blacklist.conf
在末尾加上一行blacklist nouveau
保存退出,執行
sudo update-initramfs -u
另外:因爲折騰的次數比較多我還改了/etc/default/grub
,不知道和這有沒有關係:
sudo gedit /etc/default/grub
而後將quiet splash
後面加上acpi_osi=linux
保存退出,執行
sudo update-grub
接下來按CTRL+ALT+F2,進入純字符界面,以root身份登入,開始安裝顯卡驅動。首先進入剛纔下好的驅動所在的目錄,執行
sudo sh ./NVIDIA-Linux-x86_64-xxx.xx.run –no-opengl-files # 必定不要忘記後面的參數
而後一路肯定,完成後重啓系統,進入BIOS(戴爾是按F2,其餘電腦型號請自行查找資料),關掉secure boot,設置爲disable,關掉後保存重啓。這裏必定要關掉,否則開機後是無法用剛纔裝的Nvidia驅動的。
啓動後在控制檯輸入nvidia-smi
,若沒有報錯則證實安裝成功。
接下來,咱們安裝CUDA,我這裏使用的是CUDA10.0,由於目前tensorflow已經可使用CUDA10了,也就不挑舊版本安裝了。
到Nvidai官網上找到CUDA10.0的下載連接,Nvidia給出的默認的CUDA的下載連接是CUDA10.1,由於我沒試驗過,因此不知道可不能夠用,你能夠自行決定。
依次選擇 Linux -> x86_64 -> Ubuntu -> 18.04 -> runfile(local),選好後選擇Base Install開始下載。
下好後,找到CUDA安裝包所在的位置,在控制檯輸入
sudo sh ./cuda_10.0.130_410.48_linux.run
而後等待一會後,會出來安裝協議,按住空格鍵快速看完。而後選擇安裝選項:
裝好後,在~/.bashrc最後 添加環境變量,保存後退出
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64 export PATH=$PATH:/usr/local/cuda-10.0/bin export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0
測試一下:
cd /usr/local/cuda/samples/1_Utilities/deviceQuery sudo make ./deviceQuery
若最後一行的結果爲Result = PASS
,說明安裝成功。
最後,去官網找對應版本的cuDNN,這裏我選擇的是7.5(7.4也是能夠的),下載(這裏須要登錄Nvidia才能夠)
將下載好的壓縮包解壓,通常解壓出來的目錄爲cuda,拷貝到CUDA中
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
至此,CUDA已安裝完成,裝個gpu版本的tensorflow試試(你也能夠先使用virtualenv建立個虛擬環境再安裝)
pip3 install tensorflow-gpu # 這裏pip3須要手動下載
裝好後,進入python交互環境,試試Hello World
>>> import tensorflow as tf >>> hello = tf.constant('Hello World') >>> sess = tf.Session() >>> sess.run(hello) b'Hello World'
執行後,會有日誌打印,若沒有報錯,即證實安裝成功。
參考: