1. 程式人生 > >新版的膝上型電腦安裝ubuntu系統過程中卡死問題解決方法

新版的膝上型電腦安裝ubuntu系統過程中卡死問題解決方法

關於部分電腦u盤安裝ubuntu不上的問題
最近樓主購入一臺華碩的遊戲本,包含NVIDIA的GTX1080顯示卡。發現無法安裝ubantu,每次安裝都卡在ubuntu的起始介面。經過多次的嘗試和總結,總算找到原因:ubuntu在安裝的時候載入了圖形介面,呼叫了開源n卡驅動導致不相容(安裝程式中的驅動無法驅動9代n卡),那麼解決方案也就來了,下載ubuntu server安裝包(這個安裝時是不啟動x的),製作啟動盤,安裝,注意:安裝中請選擇基本系統+ubuntu deskdop包。於是,新筆記本按不上ubuntu的問題就解決了。

修正,此問題廣泛存在於新n卡的雙顯示卡筆記本,可以在啟動時加入禁止開源n卡驅動載入的程式碼,這樣就可以圖形介面按裝了。

另外一種解決方案如下:

1. 解決方法:重新開機,游標選中“InstallUbuntu” ,按“e”,進入grub介面,將倒數第二行中的“quiet splash ---”改為“nomodeset”。F10儲存,就可以進入安裝介面,進行安裝。

2. 安裝完成後,進入ubuntu的recovery mode,安裝nvidia的顯示卡驅動。從nvidia網站下載NVIDIA-Linux-x86_64-375.66.run程式包。然後採用sudo chmod a+x *****.run使得使用者具有安裝的許可權。然後./****.run安裝驅動。

3. 從recovery mode進入Ubuntu之後,crtl+alt+F1可進入命令列模式(tty)。crtl+alt+F7可退出命令列模式。

4. 進入命令模式後採用nvidia-smi命令可現實nvidia顯示卡的編號(375),然後可採用命令來安裝nvidia 375顯示卡驅動。

5. 安裝nvidia顯示卡驅動之後,就可安裝CUDA。對於ubuntu系統來說,需要下載https://developer.nvidia.com/cuda-downloads網站的資料。

  中deb(network)對應的安裝包,然後根據提示就可以順利安裝cuda。

88888888888888888888888888888888888888888888888888888888888888888888888

解除安裝nvidia驅動

sudo apt-get remove --purge nvidia-331-updates

如果安裝的是官網下載的驅動

則重新執行run檔案來解除安裝

sh ./nvidia.run --uninstall

8888888888888888888888888888888888888888888888888888888888888888888888888

在安裝過程中,還可能遇到以下幾個坑:

一、迴圈登入

主要表現為在登入介面輸入密碼後依然跳轉回登陸介面,無限迴圈,這是我在使用.run檔案安裝時遇到的問題,這裡有一個親測有效的解決方案:

當輸入安裝指令時,不要簡單地輸入sudo ./....run,而是輸入:

sudo ./NVIDIA.run-no-x-check -no-nouveau-check -no-opengl-files

-no-x-check:安裝驅動時關閉X服務

-no-nouveau-check:安裝驅動時禁用nouveau

-no-opengl-files:只安裝驅動檔案,不安裝OpenGL檔案

這樣再reboot,就不會出現迴圈登入的問題。

注意:這裡的NVIDIA.run代表包含具體的從NVIDIA官網下載的驅動的版本號。

888888888888888888888888888888888888888888888888888888888888888888

解決迴圈登入方法2

2、原有驅動刪除之後,還需要將Ubuntu整合的開源驅動加入黑名單,即修改/etc/modprobe.d/blacklist.conf檔案:

sudo gedit /etc/modprobe.d/blacklist.conf

在該檔案中增加如下兩行:

blacklist nouveau

options nouveau modeset=0

執行sudo update-initramfs –u

8888888888888888888888888888888888888888888888888888888888888888888888

首先介紹一下我的安裝流程,我所採用的是PPA的安裝方式:

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt-get update

sudo apt-get install nvidia-378 nvidia-prime

88888888888888888888888888888888888888888888888888888888888888888888888888888888

用板載vga安裝ubuntu系統,下載最新的nvidia官網驅動(NVIDIA-Linux-x86_64-352.21.run). 2. 禁用開源nouveau驅動: 在/etc/modprobe.d 下建立名為disable-nouveau.conf的檔案,內容為: blacklist nouveau options nouveau modeset=0 執行: sudo update-initramfs -u 使其生效。 3. 配置kernel以text模式啟動: 修改/etc/default/grub檔案:將GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"行改為:GRUB_CMDLINE_LINUX_DEFAULT="quietsplash text" 將GRUB_CMDLINE_LINUX=""行改為:GRUB_CMDLINE_LINUX="rdblacklist=nouveaunouveau.modeset=0"執行: sudo update-grub 使其生效 4. 重啟電腦,在text模式下,終端中執行安裝檔案 $shNVIDIA-Linux-x86_64-352.21.run 安裝過程中互動的地方一直選擇繼續. 安裝完成之後,將grub中新增的 text 刪掉,再執行update-grub,是重啟後用圖形模式進入系統。

88888888888888888888888888888888888888888888888888888888888888888888

sudo gedit/etc/modprobe.d/disable-nouveau.conf

在裡面填入兩行內容:

 blacklist nouveau
 options nouveau modeset=0

 安裝過程需要在純命令列下完成,所以需要關閉X service,用sudoservice lightdm stop

 4. 重啟,重啟後,很可能已經不能進入圖形介面了,按ctrl+alt+f1,進入終端登入

以下是安裝驅動的可行的幾種方法:

NVIDIA

這個PPA新增到您的系統上,開啟一個終端視窗,執行以下命令:

sudo add-apt-repository ppa:graphics-drivers/ppa

之後,你有,執行以下命令來下載最新的軟體包列表:

sudo apt-get install nvidia-

舉個例子你可以使用下面的命令安裝 nvidia-361

sudo apt-get install nvidia-361

https://developer.nvidia.com/cuda-downloads

最後按快捷鍵Ctrl + Alt+F7返回到圖形介面,這樣nvidia顯示卡官方驅動就安裝完成了。

8888888888888888888888888888888888888888888888888888888888888888888

caffe是一項技術活,很能考驗一個人的耐力,經過無數次的重灌系統之後,caffe終於安裝成功了。</span>

作業系統:Ubuntu14.04 64bits

處理器:Intel core i7-4790k 84GHz

GPU:GTX TITAN X

cudacuda7.0

NVIDIA驅動:NVIDIA346.72

blasmkl

安裝過程:

(一)Ubuntu系統安裝

最好安裝Ubuntu14.04,對caffe的支援最好,另外,安裝完Ubuntu之後不要更新系統。

(二)caffe依賴項

注意,這裡安裝的都是一些必要的庫檔案,必須安裝。

(三)NVIDIA驅動安裝

NVIDIA官網下載英文版驅動,有.run.deb兩種格式,前者可自選元件進行安裝,後者則等效於一鍵安裝。注意要選擇與自己gpu想匹配的驅動,沒試過中文版驅動,不知道是否可行,不過在官網上下載中文驅動的時候會出現亂碼。下載完驅動之後(我下的.run檔案)按照官網的安裝說明進行安裝,大體步驟如下:

1、利用sudo gedit/etc/modprobe.d/blacklist-nouveau.conf新建blacklist-nouveau.conf檔案,輸入命令

blacklist nouveau

blacklist lbm-nouveau

options nouveau modeset=0

alias nouveau off

alias lbm-nouveau off

儲存並退出。這一步是為了禁掉Ubuntu自帶開源驅動nouveau。之後sudo reboot重啟系統。在終端執行命令

lsmod | grep nouveau

可以檢視nouveau模組是否被載入。如果什麼都沒輸出,則執行下一步。

2、重啟後螢幕解析度變低,不用管。進入tty1檔案模式,輸入使用者名稱密碼後登陸,輸入命令

sudo /etc/init.d/lightdm stop

關閉xserver。注意,安裝NVIDIA驅動需要以root使用者登陸,所以利用命令sudo su進入root。輸入命令

bash NVIDIA-LINUX-X86_64-346.72.run--kernel-source-path=/usr/src/linux-headers-3.*.*

進行安裝。這裡的linux-headers-3.*.*Linux系統原始檔名。安裝過程中有一些提示問題讓你回答,注意,當提示

The distribution-provided pre-installscript failed!Are you sure you want to continue?

的時候不用管,繼續安裝就行了,這個問題我至今沒明白是什麼原因導致的,但這不影響後續安裝及使用。當提示

Would you like to register the kernelmodule sources with DKMS?This will allow DKMS to auomatically build a newmodule,if you install a different kernel later

的時候,回答No

3、最好再執行命令

sudo apt-get installlinux-image-extra-virtual 

否則後續可能會出現如下錯誤提示:

modprobe: ERROR: could not insert'nvidia':Unknown symbolinmodule,or unknown parameter(see dmesg)

4、執行sudo /etc/init.d/lightdm start並重啟電腦。重啟後可能會產生解析度問題,只需要更改/etc/X11/xorg.conf檔案如下:

<span style="font-size:18px;">Section 'Monitor'
**
**
HorizSync       31.5 - 61.0
VertRefresh     50.0 - 75.0
**
**
Section 'Screen'
Modes      "[email protected]" "[email protected]" "[email protected]" "[email protected]" "[email protected]" "[email protected]" "[email protected]" "[email protected]" "[email protected]" "[email protected]" "[email protected]" "[email protected]"
     EndSubSection</span>

(四)cuda7.0安裝

注意,caffe推薦安裝最新版NVIDIA驅動,所以cuda內建的驅動我們就不需要安裝了,cuda的安裝完全按照官網教程進行,過程比較簡單,這裡不再贅述,如有問題可以留言我們相互討論。但注意一點是安裝完成之後需要修改環境變數,只需在/etc/ld.so.conf.d/下新建一個cuda.conf檔案,將cuda庫路徑(預設是/usr/local/cuda-7.0/lib64)加入之後儲存即可。

(五)MKL的安裝

caffe所需要的blas我們安裝mkl,雖然mkl的下載稍微有點麻煩,但安裝起來還是很快的。下載的時候只需要在官網申請學生免費版,用你的郵箱註冊之後會自動收到下載指南以及一個lic註冊檔案,按照指示下載即可,安裝也較為簡單,這裡只提幾點注意事項:

1、一個mkl安裝檔案可以同時被幾個使用者使用,所以不必重複下載。

2、安裝的時候必須將安裝包放置在Ubuntu能夠識別的檔案系統中,推薦~/,否則無法執行.sh指令碼檔案。

3、安裝之後需要把mkl庫路徑(/opt/intel/lib以及/opt/intel/mkl/lib/intel64)加入環境變數。

(六)如果要使用Python介面,那麼還需要另外安裝一些Python庫檔案(Ubuntu自帶Python不能滿足我們的需要)

sudo apt-get install python-numpy python-scipy python-dev
udo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

(七)如果需要使用matlab介面,那麼推薦新版本的matlab比如R2013a/bR2014a/b等,我安裝的R2014b,沒任何問題。

(八)編譯配置caffe

下載caffe檔案並解壓至某一目錄caffe-root,注意修改makefile檔案當中的一些路徑。執行一下命令

cd caffe-root/caffe-master
cp Makefile.config.example Makefile.config
make all
make test
make runtest</span>

make編譯過程中會遇到一些問題,可能是由caffe本身檔案相容性問題造成的,比如

1、提示makeprotoc:命令未找到,這是因為protoc未安裝,只需安裝就行。

sudo apt-get install protobuf-c-compiler protobuf-compiler

2、提示“src/caffe/util/math_functions.cu(140):errot:callinga host function("std::signbit")from aglobalfunction("caffe::sgnbit kernel")is not allowed”,

修改./include/caffe/util/math_functions.hpp224

刪除(註釋):using std::signbit

修改:DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit, y[i] = signbit(x[i]));

為:DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit,y[i] = std::signbit(x[i]));

這是Yangqing Jia給出的解決方案,目前只有這一種方法。

我在編譯的時候只對於某些版本的caffe會遇到情況2,對於第一個問題只要你按照前面的步驟做了應該不會出現的。雖然裝這個花了好幾天,不過總算是自己的努力換來了回報,希望caffe以後能優化的更完美,不要再在編譯的時候遇上這麼多麻煩,對於初學者是很不利的。希望大家共同學習,共同進步吧!