配置深度學習主機與環境(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+MBRUEFI+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的顯卡驅動,並且會進入「循環登錄」的狀態。具體設置如下:

  1. Make sure the "OS Type" is "Windows UEFI"
  2. Enter "Key Management"
  3. 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)
  4. 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安全啟動關閉設置的相關資料如下:

  1. 華碩主板禁用UEFI安全啟動(Disable Secure Boot for ASUS Motherboard)

5. 製作Ubuntu 16.04LTS啟動盤

將ios文件直接解壓到空U盤中即可,當然不放心的話也可以使用UltraISO軟碟通(試用即可)製作啟動盤,實際上兩者沒差。具體文件如下,可以看到其中包含EFI文件夾:

Ubuntu.iso

6. 安裝Ubuntu 16.04LTS

  1. 打開BIOS,選擇包含Ubuntu安裝文件的U盤為啟動項啟動。具體在「2. BIOS(UEFI)設置(系統性能)」中有說明。
  2. 應該會先選擇地區與語言,中英都可以。
  3. 是否選擇「安裝更新和第三方軟體」,是否都行,但是選擇是,需要確保聯網,安裝時間也會稍長,對系統不影響。
  4. 選擇其他選項/Something Else,網上不少教程第一個選項都是「選擇與其他系統共存」,在我的安裝過程中並沒有看到,當然反正不選這個。

選擇 其他選項/Something Else

  1. 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系統時,仍正常使用
  1. 「安裝引導啟動器的設備/Device for boot loader installation」設置為與Ubuntu的EFI分區所對應的部分,文中為p5,故設置為p5作為安裝引導啟動器的設備。
  2. 選擇安裝後可能會提醒沒有選擇swap分區,忽略,選擇繼續即可。

提醒未分配swap區

  1. 選擇時區,設置相關用戶名,密碼,等待即可。注意密碼不要設置太複雜,不然sudo命令輸入密碼很煩。
  2. 安裝完畢之後應該會要求重啟,重新啟動即可。
  3. 重啟之後即會出現EFI登錄選項,可以選擇Ubuntu或者Win10。如下圖所示,如果沒有出現的話,嘗試在BIOS中將Ubuntu EFI作為第一啟動項。至此,雙系統安裝成功。

GNU GRUB選項

7. 更新顯卡驅動(Ubuntu)

進入Ubuntu桌面系統後解析度很奇怪,是正常的。因為系統默認使用了開源顯卡驅動。且在解析度設置中無法設置高解析度,默認只有1024x768選項,如下圖所示,主要是因為沒有更新顯卡驅動。

解析度設置

  • 打開設置,進入軟體更新設置(Software&Updates)

Software&Updates

  • 選擇附加驅動,等待刷新

選擇附加驅動

  • 選擇所列出來的可以更新的選項,選擇應用改變(Apply Changes)即可。
  • 再次進入解析度設置界面,發現可以更改解析度

解析度設置

在終端中輸入

nvidia-smi

可以查詢顯卡驅動狀態。

查詢顯卡驅動

8. 參考文獻

  1. 親測UEFI啟動模式的電腦安裝Win10和Ubuntu雙系統
  2. Win10+Ubuntu16.04雙系統安裝

推薦閱讀:

深入淺出Tensorflow(四):卷積神經網路
利用TensorFlow搞定知乎驗證碼之《讓你找中文倒轉漢字》
深入淺出Tensorflow(五):循環神經網路簡介
cs20si:tensorflow for research 學習筆記2

TAG:深度学习DeepLearning | TensorFlow | Ubuntu |