此博客主要是問題記錄,暫不包含完整流程
Ubuntu16.04安裝
1 檢測不到系統硬盤
原因:是系統默認使用RAID的SSD驅動方式,而Ubuntu並不支持
解決:需要在BIOS中把SSD operation改爲ACHI。Dell官方給了標準的雙系統安裝方式,解決了把RAID給成ACHI後WIN10無法正常引導的問題。
Nvidia顯卡驅動
顯卡型號爲GTX 1660TIMQ
查找合適的驅動,430.09往後的版本似乎都支持,
截止當前Ubuntu apt-get 安裝的nvidia驅動最新是430.24,是支持的。
然而按照先禁用nouveau再apt-get安裝驅動的方式(參考其他博客如https://blog.csdn.net/max_loo/article/details/81304949),還是會有很多問題
1 直接apt-get 安裝的驅動會導致系統進入"low-graphics mode"
原因:不明。在進入命令行界面後( ctrl+alt+(F1-F6) ),輸入nvidia-smi,輸出了正確的顯卡信息,說明顯卡驅動正確安裝了,但Ubuntu系統檢測不到nvidia顯卡。
不小心進入這一模式的,可以在命令行界面刪除nvidia驅動,就可以恢復正常
sudo apt-get purge nvidia-*
解決:去nvidia官網下載對應版本的nvidia驅動,在命令行界面安裝(https://blog.csdn.net/max_loo/article/details/81304949)
系統可以正常進入,輸入nvidia-smi能輸出顯卡信息。然而系統使用的仍然是intel集成顯卡。
nvidia顯卡能否正常使用有待進一步驗證。
2 裝NVIDIA418.88.sh後,屏幕分辨率變小,並且無法改變
原因:nvidia驅動安裝時會更新x文件,這是改變了屏幕分辨率的罪魁禍首,好在nvidia會自動備份x文件
解決:進入 /etc/X11 下找到 xorg.conf 文件,應該有nvidia備份的該文件,命名類似與xorg.conf.backup,換回來吧。
也用用xrandr添加新“屏幕”的方式,但是這種方式相當於每次都執行一遍添加虛擬屏幕的命令,很膈應。另外在登錄界面的分辨率依然是很低的分辨率,因此不採用。
Docker使用nvidia
1 在運行docker鏡像並使用nvidia顯卡時,出現報錯:
docker: Error response from daemon: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/97b8b155759b7e79892eb809697d0ad09d2f256c49e08d4132315e776519a972/log.json: no such file or directory): fork/exec /usr/bin/nvidia-container-runtime: no such file or directory: unknown.
原因:在NVIDIA驅動,docker版本均無誤的情況下,應是沒有安裝nvidia-docker2,輸入
dpkg -l '*nvidia*'
若沒有nvidia-contain和nvidia-docker2則確認沒有安裝nvidia-docker2,正確安裝後的輸出示例如下:
+++-==============-============-============-=================================
un nvidia-304 <none> <none> (no description available)
un nvidia-340 <none> <none> (no description available)
un nvidia-384 <none> <none> (no description available)
un nvidia-common <none> <none> (no description available)
ii nvidia-contain 3.1.2-1 amd64 NVIDIA container runtime
un nvidia-contain <none> <none> (no description available)
ii nvidia-contain 1.0.3-1 amd64 NVIDIA container runtime hook
un nvidia-docker <none> <none> (no description available)
ii nvidia-docker2 2.2.1-1 all nvidia-docker CLI wrapper
un nvidia-legacy- <none> <none> (no description available)
un nvidia-libopen <none> <none> (no description available)
un nvidia-prime <none> <none> (no description available)
un nvidia-vdpau-d <none> <none> (no description available)
解決:參考https://github.com/NVIDIA/nvidia-docker/issues/686,安裝nvidia-docker2
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd