MacBook 透過外接儲存裝置啟動 Ubuntu === [TOC] 前言 --- 老師有提及作業的效能實驗盡量不要透過虛擬機器,而需在==實體機器==中測試,我想使用 MacBook 並安裝 Ubuntu 來當作我的測試環境,故此篇共筆主要針對在 MacBook (以 MacBook Air 為範例) 中,以**外接硬碟**的方式安裝並開啟實體 Ubuntu Linux,所撰寫的環境建置筆記。 MacBook 型號:MacBook Air (13-inch, 2017), APPLE A1466 欲安裝的作業系統:Ubuntu 18.04 LTS 為何使用外接式硬碟 --- 因為這台 MacBook 原廠提供的 PCIe SSD 容量為 256 GB,且我在安裝 Ubuntu Linux 之前,已使用 APPLE 開發的 [Boot Camp](https://zh.wikipedia.org/wiki/%E5%90%AF%E5%8A%A8%E8%BD%AC%E6%8D%A2),在內建 SSD 中安裝 macOS 與 Windows 10 兩個作業系統,考量到硬碟儲存空間的吃緊,故我選擇將 Ubuntu 安裝在外接式硬碟中,且單獨安裝至外接式硬碟也不會碰到磁區分割等較容易發生意外的情況。 因硬碟的讀寫速率會影響工作效率,故我選擇 USB 3.0 介面的 240 GB 行動固態硬碟 (SSD),其讀取與寫入速率最高分別可達到 520 MB/s 與 460 MB/s。 製作 Ubuntu USB 安裝隨身碟 --- 準備一個 USB 隨身碟,安裝過程中隨身碟中的資料都會被刪除,請先確認隨身碟中的資料都是不要的。我在 Windows 10 桌上型電腦中,先下載 Ubuntu 18.04 LTS 64 位元版本的光碟映像檔,並使用 [Rufus](https://rufus.ie/) 來製作 Ubuntu 的 USB 開機隨身碟,這部分可以參考 [此篇教學](https://blog.xuite.net/yh96301/blog/450717778-Ubuntu+18.04%E8%A3%BD%E4%BD%9CLive+USB%E9%9A%A8%E8%BA%AB%E7%A2%9F%E7%9A%84%E8%BB%9F%E9%AB%94rufus)。 若要在 macOS 中製作 Ubuntu 開機隨身碟,可參考此篇網路上的 [教學](https://blog.gtwang.org/mac-os-x/create-a-ubuntu-linux-usb-stick-on-mac-osx/),不過此教學還需測試,我主要在較熟悉的 Windows 10 系統製作。 rEFInd 開機管理程式 --- 根據 [APPLE 網站](https://support.apple.com/zh-tw/HT208123) 所述,在 MacBook 上若安裝了一個以上的作業系統,可在開機期間按住鍵盤上的 `option` 鍵進入開機管理程式 (boot manager),來選擇要開啟的作業系統,但我在當時安裝的過程中有發生讀不到 Ubuntu 隨身碟的情形,而在參考網路上的資料後,我決定另外安裝 [rEFInd](https://www.rodsbooks.com/refind/) 開機管理程式,這個軟體實在是介面清楚又好用阿! 下圖為 rEFInd 官網上的範例圖示: ![](https://i.imgur.com/BY8SLAl.png) (圖片來源:https://www.rodsbooks.com/refind/) ### 前置作業 在 MacBook 中安裝 rEFInd 之前,請務必先閱讀 [rEFInd and System Integrity Protection (SIP) of macOS](#rEFInd-and-System-Integrity-Protection-of-macOS),完成 macOS 的 SIP 設定,才能成功安裝 rEFInd。 ### 下載與安裝 rEFInd 設定完上述 SIP 前置作業之後,即可至 [rEFInd 官網](https://www.rodsbooks.com/refind/getting.html) 或 [這邊](https://sourceforge.net/projects/refind/) 下載最新版本的 zip 壓縮檔並解壓縮,撰寫此共筆時最新版本為 `0.12.0`,解壓縮之後安裝流程如下: ```bash $ cd refind-bin-0.12.0 $ sudo ./refind-install ``` 若出現 ==Installation has completed successfully.== 即為安裝成功! rEFInd and System Integrity Protection of macOS --- 注意到 rEFInd 官方網站中 [針對 MacOS 的安裝教學](http://www.rodsbooks.com/refind/installing.html#osx),右方 ==Warning== 提及了 APPLE 公司在 macOS 10.11 版本之後,引入了 [System Integrity Protection (SIP)](https://en.wikipedia.org/wiki/System_Integrity_Protection) 系統完整性保護機制,來限制使用者更改系統設定或安裝第三方的 Bootloader,即使當前的使用者擁有 root 權限也會被擋下來。rEFInd 的開發者也針對 SIP 機制撰寫了一篇 [文章](http://www.rodsbooks.com/refind/sip.html)。 簡單來說,SIP 機制會擋下我們為 MacBook 安裝 rEFInd,而作者在上述 [文章](http://www.rodsbooks.com/refind/sip.html) 中提供了解決方法,我使用了比較簡單的第二個方法:**Disabling SIP with Recovery HD**,藉由暫時關閉 SIP 機制來成功安裝 rEFInd,並待安裝完成後務必再次啟動 SIP。 ### 設定 SIP 1. 重新啟動 MacBook 並在開機時同時按住 `Command` 鍵與 `R` 鍵,進入 [Recovery Mode](https://support.apple.com/zh-tw/HT201314) 2. 開啟上方工具列的 **工具程式 (Utilities)** 中的 **終端機 (Terminal)**,輸入: ```bash $ csrutil disable ``` 如此即可暫時將 SIP 機制關閉 3. 輸入 `reboot` 重新開機,繼續完成 rEFInd 的 [安裝流程](https://hackmd.io/9X09CherTseteJ_HflmQ-A?both#%E4%B8%8B%E8%BC%89%E8%88%87%E5%AE%89%E8%A3%9D-rEFInd)。 4. 安裝完成後,記得再次進入 MacBook 的 Recovery Mode,重新啟用 SIP: ```bash $ csrutil enable ``` 安裝 Ubuntu 至外接式硬碟 --- 一切準備就緒後,接上準備好的 Ubuntu USB 隨身碟,以及要安裝 Ubuntu 的外接式硬碟後,重新開啟 MacBook 會自動進入 rEFInd 開機選單,選擇 Ubuntu 的圖示開機,即可開啟隨身碟中的 Ubuntu 開始安裝流程。 * 安裝 Ubuntu 的流程可參考老師撰寫的共筆:[輕鬆學會 Windows / Ubuntu 雙系統安裝](https://hackmd.io/@sysprog/Bks3DypY-) 中的教學影片。選擇安裝的儲存裝置時,記得要選對**外接式硬碟**,不然會悲劇! 完成 --- 安裝完成後,未來只要接上外接式硬碟,即可在開機時自動進入 rEFInd 介面,並選擇外接式硬碟啟動 Ubuntu 了! 延伸閱讀 --- * [How to Install and Dual Boot Linux on a Mac](https://www.howtogeek.com/187410/how-to-install-and-dual-boot-linux-on-a-mac/) * [Installing Ubuntu on an external SSD drive on a Macbook](https://florisvanbreugel.wordpress.com/2018/03/23/installing-ubuntu-on-an-external-ssd-drive-on-a-macbook/) * [We Explain What System Integrity Protection on Mac is and How to Control It](https://blog.macsales.com/45473-we-explain-what-system-integrity-protection-on-mac-is-and-how-to-control-it/)