配置深度學習主機與環境(TensorFlow+1080Ti):(二)Win10&Ubuntu雙系統與顯卡驅動安裝
知乎:
搭建深度學習主機與環境(TensorFlow+1080Ti):(一)硬體選購與主機組裝
搭建深度學習主機與環境(TensorFlow+1080Ti):(二)Win10&Ubuntu雙系統與顯卡驅動安裝
搭建深度學習主機與環境(TensorFlow+1080Ti):(三)CUDA與CUDNN安裝
搭建深度學習主機與環境(TensorFlow+1080Ti):(四)基於Anaconda的TensorFlow安裝
簡書:
(一)硬體選購與主機組裝
(二)Win10&Ubuntu雙系統與顯卡驅動安裝
(三)CUDA與CUDNN安裝
(四)基於Anaconda的TensorFlow安裝
---------------------------------------------------------------------------------------------------------------------------
網上安裝雙系統的教程不少,但多數教程所使用的硬體以現在的眼光看來顯得有些過時;另外,其原有所使用的方法,對於新的硬體也不再合適。本教程寫於2017年7月,希望能夠給大家提供些許幫助,避免重走彎路。
目前安裝雙系統的主要基於兩種構架:BIOS+MBR 和 UEFI+GPT,可以簡單的理解為EFI是新一代的BIOS,GPT是新一代的分區方式。基本上目前市面上的新機器,都是以UEFI+GPT構架為主。需要注意的是,對於 UEFI固件,一般還是沿用之前的稱呼:BIOS,在查詢相關資料的時候需要注意,可能BIOS指的就是UEFI。BIOS即Basic Input/Output System,翻成中文是「基本輸入/輸出系統」,是一種所謂的「固件」,負責在開機時做硬體啟動和檢測等工作,並且擔任操作系統控制硬體時的中介角色。
新型UEFI,全稱「統一的可擴展固件介面」(Unified Extensible Firmware Interface), 是一種詳細描述類型介面的標準。這種介面用於操作系統自動從預啟動的操作環境,載入到一種操作系統上。可擴展固件介面(Extensible Firmware Interface,EFI)是 Intel 為 PC 固件的體系結構、介面和服務提出的建議標準。其主要目的是為了提供一組在 OS 載入之前(啟動前)在所有平台上一致的、正確指定的啟動服務,被看做是有近20多年歷史的 BIOS 的繼任者。GUID磁碟分割表(GUID Partition Table,縮寫:GPT)其含義為「全局唯一標識磁碟分區表」,是一個實體硬碟的分區表的結構布局的標準。它是可拓展固件介面(EFI)標準的一部分,被用於替代BIOS系統中的一32bits來存儲邏輯塊地址和大小信息的主開機紀錄(MBR)分區表。
通常使用BIOS+MBR構架的雙系統需要使用EasyBCD軟體來添加啟動項,使用EFI並不需要,兩種方法我都嘗試過,最後當然選擇UEFI+GPT,更新更簡單。
1. 安裝前準備
- U盤(最低8G),用於製作啟動盤
- Win10安裝軟體
選擇第二項:立即下載工具
- Ubuntu 16.04 LTS(長期支持)版本,建議使用16.04版本,以獲取長期支持保持系統穩定。
2. BIOS(UEFI)設置(系統性能)
此次BOIS設置為系統基本設置,主要和系統硬體性能相關。包括XMP內存超頻設置,風扇管理設置,電源管理設置。總之,使系統能夠在保正穩定的情況下,實現較高的性能和較為安靜的運行。
UEFI設置
- 左一為X.M.P設置選項,通常只有一個文檔可以選擇,選擇之後保存內存即可超頻。
- 右上為主板性能選項,感覺是一個比較籠統的設置,可以先將這個選項設置為高性能,再設置X.M.P以免影響內存頻率的設置。
- 右中為啟動順序選項,插入啟動盤後會有多個選項,直接用滑鼠拖拽排序即可更改啟動順序,SSD放在HDD之前。實際上HDD作為倉儲盤,BIOS和系統安裝過程中都不必任何操作。
- 右下為啟動菜單選項,點開後會將所有可能的啟動選項(分區)列出來,點擊可以直接啟動,所以不用設置啟動順序,需要啟動哪個分區,直接點擊即可。注意點擊啟動之前先保存之前更改的設置。
- 更多高級設置請參考主板說明書。
3. 安裝Windows10
Win10安裝建議參考如下視頻:
- ZEALER:「TECHMAN」最詳細的 Win10 系統安裝教程 E01
此次配置深度學習主機,以512G SSD為主存儲空間,2T HDD作為倉儲盤可以在Win10和Ubuntu之間共同使用(相當於一個移動硬碟),用來保存數據。Win10與Ubuntu分別佔用200G和312G SSD空間,兩者內部均不再分區。
- Win10安裝之後可以自動更新相關硬體驅動,美滋滋。當然,最好再打開一下設備管理器查看是否所有的硬體都更新好驅動。
設備管理器
- 磁碟管理: 快捷鍵Win+X打開磁碟管理,或者右鍵單機「我的電腦」選擇管理後,再選擇磁碟管理。下圖是我已經安裝好Win10和Ubuntu之後的磁碟狀態,可以看到兩個EFI分區分別為Win10和Ubuntu的啟動分區。Win10的EFI分區是自動分配的,Ubuntu需要自己設置,後面會詳述。第一個「恢復分區」也是Win10安裝時自動分配的。忽略「恢復分區」和「EFI系統分區」Win10實際上只有一個分區SSD-Win(C:)。
磁碟管理
- 下圖(來自互聯網,非作者自己系統的截圖,僅用做說明)為只安裝了Win10後應該呈現的磁碟管理狀態,SSD中未被Win10(C、EFI、恢復)佔用的部分,應該為黑色,標註為「未分配」狀態。保持這個狀態不要管,不要格式化,後續的Ubuntu將安裝在這個「未分配」的分區。安裝成功之後就會變成上圖所示。
未安裝Ubuntu時的分區(來自互聯網)
4. BIOS(UEFI)設置(啟動項)
第二次設置主要是關閉BIOS中的「安全啟動」項,或「Security Boot」項。在傳統BIOS界面中,可以比較順利的關閉「安全啟動」,相關方法可以在網上找到不少,自己仔細查看BIOS選項也可以找到。但是華碩採用圖形界面+滑鼠的BIOS設置,在其選項中並沒有明確列出來「安全啟動」項,著實把我坑了幾個小時。總之,如果不關閉「安全啟動」項,Ubuntu系統中無法正常更新1080Ti的顯卡驅動,並且會進入「循環登錄」的狀態。具體設置如下:
- Make sure the "OS Type" is "Windows UEFI"
- Enter "Key Management"
- Select "Clear Secure Boot keys" (You will have the option "Install default Secure Boot keys" to restore the default keys after you cleared the Secure Boot Keys)
- After you cleared the Secure Boot Keys, Secure Boot will be automatically disabled. You can set the OS Type to Other OS now.
以上設置流程的參考視頻來自Youtube,相對於視頻中的EFI界面,華碩的BIOS好像又更新的UI,不過區別不大,具體如下:
- 進入BIOS中的高級設置界面,選擇「啟動」項設置
啟動設置
- 關閉快速啟動「Fast Boot」(這步應該需要有)
- 選擇密鑰管理,點擊刪除密鑰
密鑰管理
- 刪除後顯示安全啟動狀態關閉
安全啟動狀態關閉
關於BIOS安全啟動關閉設置的相關資料如下:
- 華碩主板禁用UEFI安全啟動(Disable Secure Boot for ASUS Motherboard)
5. 製作Ubuntu 16.04LTS啟動盤
將ios文件直接解壓到空U盤中即可,當然不放心的話也可以使用UltraISO軟碟通(試用即可)製作啟動盤,實際上兩者沒差。具體文件如下,可以看到其中包含EFI文件夾:
Ubuntu.iso
6. 安裝Ubuntu 16.04LTS
- 打開BIOS,選擇包含Ubuntu安裝文件的U盤為啟動項啟動。具體在「2. BIOS(UEFI)設置(系統性能)」中有說明。
- 應該會先選擇地區與語言,中英都可以。
- 是否選擇「安裝更新和第三方軟體」,是否都行,但是選擇是,需要確保聯網,安裝時間也會稍長,對系統不影響。
- 選擇其他選項/Something Else,網上不少教程第一個選項都是「選擇與其他系統共存」,在我的安裝過程中並沒有看到,當然反正不選這個。
選擇 其他選項/Something Else
- Ubuntu分區選項。下圖為分區之後的狀態,實際上除了藍色方框中的部分,紅色方框中在未操作的狀態下為一整個unkonw分區,對應之前Windows磁碟管理中的黑色「未分配」部分,Ubuntu的所有分區(掛載)都將從這部分劃分出來。
系統分區選項
雙擊這一部分,即可出現劃分選項。或者單擊「未分配」磁碟,點擊+/加號,如下圖所示(此圖來自於網路,非作者系統截圖):
分區設置
然後會出現分區選項,具體操作如下(此圖來自於網路,非作者系統截圖):
分區選項
- swap交換空間,相當於Win中的虛擬內存,通常需要劃分對應物理內存2倍的空間,考慮到深度學習主機內存一般都是32G、64G或者128G,所以選擇忽略不劃分,之後如有需要還可以在系統設置中添加swap部分。
- EFI系統分區,選擇分區類型為「邏輯分區」,分區位置為「空間起始位置」。分配大小為512M,足矣。
- 掛載「/」,類型為EXT4日誌文件系統,選擇「邏輯分區」和「空間起始位置」。根目錄將掛載除了「/home」和「/usr」之外的其他目錄,分配50G。
- 掛載「/usr」,類型為EXT4日誌文件系統,選擇「邏輯分區」和「空間起始位置」。「/usr」為Linux存放軟體的地方,分配100G。
- 掛載「/home」,類型為EXT4日誌文件系統,選擇「邏輯分區」和「空間起始位置」。剩餘120G左右空間全部分配給「/home」。/home 用戶的home目錄所在地,這個分區的大小取決於有多少用戶。如果是多用戶共同使用一台電腦的話,這個分區是完全有必要的,況且根用戶也可以很好地控制普通用戶使用計算機,如對用戶或者用戶組實行硬碟限量使用,限制普通用戶訪問哪些文件等。以往Linux系統主要是提供伺服器使用,所以/home這個目錄使用量並不高。但隨著Linux的桌面應用發展,不少人也拿來在日常上使用,這時/home就變成存儲媒體中,最占容量的目錄。假如你安裝Ubuntu主要是桌面應用,那你可能需要把最大的空間留給他。額外分割出/home有個最大的好處,當你重新安裝系統時,你不需要特別去備份你的個人文件,只要在安裝時,選擇不要格式化這個分區,重新掛載為/home就不會丟失你的數據。還有一個特別的應用:假如你會在你的計算機上,安裝兩個或更多的Linux系統,你可以共享/home這個分區。簡單地說,你的個人文件可以在切換到其它Linux系統時,仍正常使用
- 將「安裝引導啟動器的設備/Device for boot loader installation」設置為與Ubuntu的EFI分區所對應的部分,文中為p5,故設置為p5作為安裝引導啟動器的設備。
- 選擇安裝後可能會提醒沒有選擇swap分區,忽略,選擇繼續即可。
提醒未分配swap區
- 選擇時區,設置相關用戶名,密碼,等待即可。注意密碼不要設置太複雜,不然sudo命令輸入密碼很煩。
- 安裝完畢之後應該會要求重啟,重新啟動即可。
- 重啟之後即會出現EFI登錄選項,可以選擇Ubuntu或者Win10。如下圖所示,如果沒有出現的話,嘗試在BIOS中將Ubuntu EFI作為第一啟動項。至此,雙系統安裝成功。
GNU GRUB選項
7. 更新顯卡驅動(Ubuntu)
進入Ubuntu桌面系統後解析度很奇怪,是正常的。因為系統默認使用了開源顯卡驅動。且在解析度設置中無法設置高解析度,默認只有1024x768選項,如下圖所示,主要是因為沒有更新顯卡驅動。
解析度設置
- 打開設置,進入軟體更新設置(Software&Updates)
Software&Updates
- 選擇附加驅動,等待刷新
選擇附加驅動
- 選擇所列出來的可以更新的選項,選擇應用改變(Apply Changes)即可。
- 再次進入解析度設置界面,發現可以更改解析度
解析度設置
在終端中輸入
nvidia-smi
可以查詢顯卡驅動狀態。
查詢顯卡驅動
8. 參考文獻
- 親測UEFI啟動模式的電腦安裝Win10和Ubuntu雙系統
- Win10+Ubuntu16.04雙系統安裝
推薦閱讀:
※深入淺出Tensorflow(四):卷積神經網路
※利用TensorFlow搞定知乎驗證碼之《讓你找中文倒轉漢字》
※深入淺出Tensorflow(五):循環神經網路簡介
※cs20si:tensorflow for research 學習筆記2
TAG:深度学习DeepLearning | TensorFlow | Ubuntu |