如何制作一個能重裝 4 種系統的 U 盤

11-24

註意:本教程隻適用於支持 EFI 啟動的計算機。如安裝盤中包括 Linux,則選用的 Linux 發行版需要支持 EFI 啟動。

我平時給自己或者別人重裝系統的頻率還算挺高的,因為有時候要裝 macOS 有時候要裝 Windows,每次都要重新把安裝包刷到我的 U 盤裡,不但非常折騰,而且對壽命也不好。於是我這幾天就花時間研究瞭一下怎麼把這些安裝盤都塞到一個 U 盤裡,並取得瞭不錯的結果。

這個 U 盤不僅可以選擇啟動多個系統,而且當某一個系統的安裝盤需要更新的時候,並不需要抹掉整個盤,隻要單獨處理對應的分區就好,非常方便。啟動的時候效果是這樣的:

引導畫面

我的這個盤包括瞭一個 macOS 安裝器、一個 Windows10 安裝器、一個 GParted Live(GParted 是一個 Linux 平臺的分區工具,這是一個僅提供該分區工具及其他一些基本功能的簡易 Linux 發行版)和一個 WinPE。接下來的教程我會教大傢怎樣制作一個這樣的啟動 U 盤並應對一些啟動問題。

各系統截圖 預備知識

為瞭不讓你看得雲裡霧裡,我們先來看一看 EFI 是個什麼東西。簡單來說,EFI 是一種操作系統的引導方式

不知道你是否還記得幾年前的電腦剛開機是什麼樣子的。

Award BIOS 引導畫面

這個黑底白字的畫面被稱為開機自檢畫面,是由主板上一塊叫做 BIOS 的芯片生成的。該芯片在開機時首先完成上電自檢(POST)並初始化各種硬件,之後會讀取磁盤的一個固定區域來尋找啟動程序(0 面 0 道 1 扇區)。操作系統會把自己的引導程序寫在裡面,當 BIOS 發現這段程序後,就會交出控制權,操作系統就啟動瞭。這種引導方式被稱為 Legacey Boot,而這種包含瞭啟動程序區塊的分區表格式被稱為主引導記錄(MBR),與其相對的就是 GPT。

2005 年發明的 EFI 與 Legacey 不同,它並不會從磁盤的固定位置去尋找啟動程序,而是在每一個分區中尋找 EFI 文件夾中的引導程序。對於一個隻支持 Legacey Boot 的操作系統而言,假如你要讓一個磁盤可以引導,需要用一些特殊的程序去寫入啟動區塊,而且由於一個硬盤隻有一個啟動區塊,實現多系統啟動非常的麻煩,需要工具的幫助才能實現(YUMI – Multiboot USB Creator)。而 EFI 的啟動程序和普通的文件放在同一個地方,假如你要把一個支持 EFI 的操作系統安裝盤扔進 U 盤裡,隻要簡單的把所有文件復制進去就可以瞭。直接就可以開機,不需要進行任何多餘的操作,本教程就是利用瞭這一點。

由於隻有新的電腦才會支持 EFI 引導,在較老的電腦上使用之前請先確認電腦是否支持 EFI 引導。以及如果你想要確認自己要扔進 U 盤裡的安裝盤支不支持 EFI,隻需要打開 ISO 文件,看看裡面有沒有一個叫 EFI 的文件夾就可以瞭。

材料準備

如果你想要存下這麼多的安裝盤,首先你需要一個至少 16GB 的 U 盤。作為參考:

macOS 10.13 安裝盤需要的空間為為 5.5 GB。

Win10 1709 安裝盤尺寸為 5 GB。

(以上大小以 0.5 為單位上取整)

你需要一個可用的 Windows 系統,用於運行分區工具,虛擬機也可以。macOS 的磁盤工具基本上就是個廢物,當你在一個 U 盤中同時創建 HFS+ 和 FAT 文件系統的時候會直接報錯。而且在 Windows 中弄好的 FAT 分區在 macOS 中也無法調整大小。

錯誤提示

準備好你需要放進去的安裝盤等,如果需要的話還可以準備一個 WinPE。我這裡推薦 AOMEI PE,是一個國外的 Win PE 環境,支持自己添加軟件和驅動。(這個 PE 運行的時候會屏蔽掉自己所在的驅動器,這可能會有一些問題,我們後面會講。)

需要的軟件有:

解壓軟件。由於一些 Linux 的 ISO 鏡像直接掛載會報錯,我們需要一些工具把其中的文件解壓出來。Mac 下如:The Unarchiver,Windows 下如:7Zip

分區工具,如:DiskGenius

鏡像寫入工具。Mac 下的 NTFS 不好用,U 盤分區需要被格式化為 FAT32。而 Windows 的安裝盤中含有一些大於 4GB 的文件,這不被 FAT32 支持。所以我們需要一些特殊工具來做寫入操作。如:UNetBootin(選擇 UNetBootin 的原因主要是這款軟件支持寫入到分區而不是整個硬盤)

寫入 macOS 安裝器

先從 macOS 開始。首先下載好 macOS 的安裝程序(.app)備用,我們來進行一些分區操作。macOS 啟動需要使用 GPT(GUID)分區表,所以我們需要把磁盤格式化成這種格式而不是 U 盤裡默認的 MBR。

打開磁盤工具,首先在左邊選中你的 U 盤,註意是選中 U 盤而不是其中的分區,之後點擊抹掉按鈕,這會把整個磁盤抹成 GPT。⚠️該操作會清空 U 盤的全部內容,註意備份。⚠️(雖然一些軟件可以直接轉換 MBR 和 GPT,不過我還是覺得直接都抹掉比較幹凈)

按照圖上的做法,將分區格式選為 Mac OS 擴展(日志式),方案選擇 GUID 分區圖。點擊抹掉。有一定概率出現第一次抹掉不成功的情況,是由於系統沒有正確卸載磁盤導致的,這個 Bug 很常見。如果第一次失敗瞭,就再試一次。

之後還是選中 U 盤,點擊分區。你現在應該看到整個硬盤使用一個分區。點擊下面的加號新建一個分區,上面的硬盤會被平均分為兩個。選擇右邊的一個(第一個分區),在右側的詳細信息中將分區的名稱改為「macOS」(在之後的寫入命令中我們會用到這個名稱),將大小改為 5.5GB(其實可以再小一點,但是為瞭能夠兼容之後的 macOS 更新,我覺得這裡 5.5 是一個比較合理的大小)。點擊分區。

之後你應該能在 Mac 的桌面上同時看到這兩個分區。完成分區操作之後我們接下來寫入安裝器。打開系統終端,找到你的下載的 .app 文件,拖入終端窗口中來輸入文件路徑。終端會在文件路徑的後面加一個空格,要註意刪掉。

緊接著在後面輸入 /Contents/Resources/createinstallmedia --volume /Volumes/macOS ,之後按回車繼續運行,程序會詢問你是否確定要抹掉,輸入 y 回車。之後隻要等著完成就可以瞭。

等到程序提示「Done.」的時候就說明已經寫入成功瞭。如果你在寫入的過程中不小心關掉瞭終端窗口,那請到磁盤工具中抹掉 macOS 這個分區再重來一遍。

重啟電腦,在開機過程中按住 Option 鍵,你應該看到系統的啟動菜單裡出現瞭安裝程序的圖標。

其他分區處理和寫入 Linux 分區

不是所有的電腦都像 Mac 這樣可以在啟動菜單顯示 U 盤中的每一個分區的,有的 EFI BIOS 會直接從 U 盤能識別的第一個區啟動(macOS 在 PC 中會被忽略,原因是 macOS 的引導程序存儲在 .IABootFiles 而不是一般的 EFI 文件夾),其後面的分區就都沒用瞭。假如你的第一個分區就是 Windows 安裝程序,那麼你將沒有辦法進入到放在另一個分區的系統(比如說 WinPE)中。

要解決這個問題,我們可以把一個 Linux 發行版放在 macOS 分區後面的第一個分區。因為 Linux 發行版大多含有一個叫做 GRUB 的引導程序,這個程序可以從其自帶的命令行跳轉到另一個分區來啟動。

如果你本來就需要一個 Linux,請把它寫在緊隨 macOS 分區之後的分區裡。如果你不需要 Linux,我這裡推薦寫入一個 GParted Live。GParted 是一個非常實用的分區工具,發行版的體積很小,解決問題的同時還具備實用性。下載地址:gparted.org,下載 64Bit ISO 即可。

接下來我們先進入 Window 進行分區操作,將 U 盤連接到 Windows,虛擬機也可以。系統可能會提示分區損壞,取消掉不要格式化,這是因為 Windows 讀不瞭 HFS+ 的分區。

打開 DiskGenius(下稱 DG),點擊這個向右的小箭頭切換到 U 盤:

你可以看到如下的分區圖示:

右鍵刪除右側的這個大分區,點擊保存更改。DG 每次每次修改分區結構都需要保存一次,否則可能會出現都已經點到對話框裡填好參數瞭還叫你出去保存一下再重新進來的情況(這什麼詭異的交互設計)。

在空白區域建立一個 1GB 的分區(如果你要裝自己的發行版,可能需要更大的分區),分區格式為 FAT32,DG 在新建分區的時候隻能使用整數大小,所以先這麼辦,回頭再調整。完成後不要忘瞭點擊保存更改。

關閉 DG,你應該能夠在資源管理器中看到出現的 U 盤瞭。用解壓工具打開下載好的 GParted 或者其他 Linux 發行版的安裝 ISO,將其中的文件直接扔進去就可以瞭。

重新進入 DG,右鍵剛才的分區調整分區大小,針對 GParted,我這裡調整為 350M 大小。

之後重啟系統應該就可以在啟動菜單中看到寫入的 GParted 啟動盤瞭。在 Mac 上應該表示為一個名叫「EFI BOOT」的黃色硬盤圖標。

寫入 Windows 安裝程序

分區的方法和 Linux 的做法類似。在空白區域建立一個新分區,對於 Windows 我的推薦大小是 5GB,分區格式還是 FAT32。

我們前面講過,Windows 安裝盤中有一個文件超過瞭 FAT32 的最大文件大小,需要用第三方工具來寫入。運行 UNetBootin,選擇下方的 ISO,點擊三個點的按鈕選中 Windows 的安裝鏡像。然後選擇剛剛創建的分區作為目標。⚠️千萬不要選錯,把別的分區抹掉就要重來瞭。⚠️

點擊寫入等待完成。

之後重啟應該就可以看到又多一個啟動盤瞭。

寫入其他內容

如果你沒有什麼其他的安裝盤要寫瞭的話,我們就可以在 DG 中把剩餘空間建立一個新分區,用於存儲文件。

最後我們把 WinPE 裝進去。我們沒必要給 WinPE 單獨弄一個分區,直接放在這最後一個分區裡就可以瞭。我來介紹一下 AOMEI PE。

國內的 PE 系統想必很多人都用過,問題非常多。比如很多都不支持 NVME 硬盤,導致無法給 SSD 做備份,一些無良作者還會夾帶私貨,偷偷改電腦瀏覽器的主頁啊,自動給你裝個某數字公司殺毒軟件啊什麼的。而且還有一個問題就是醜。即便是目前中國網上能找到的最好的「微 PE」裡面也有很多亂加圖標的程序。所以在這裡我選擇瞭一個國外的 PE 來用,雖然其中沒有國人常用的一些軟件,不過因為能夠支持自己添加,所以實際使用起來還是非常舒服的。最重要的是,對 EFI 啟動和 NVME 硬盤支持都很好。

在官網下載一個安裝器,這個安裝器要先裝到系統裡。運行的時候是這樣的。註意一下中間這一步可以自己添加軟件和驅動,不要忘瞭加。最後選擇生成 ISO。

這裡再次推薦 DG,因為這個 PE 在運行的時候會隱藏掉自己所在的盤,也就是說你沒辦法用剩餘空間來備份文件。DG 自帶瞭一個文件瀏覽器,可以讀寫沒有掛載的磁盤中的文件,在需要備份的時候就非常方便瞭。要麼還要再插一另外個盤。

之後繼續各種下一步,生成出來就可以瞭。

老規矩把這個盤中的所有文件復制出來,扔到我們剛剛建立的最後一個分區中。為瞭讓我們這個拿來存文件的分區幹凈一些,我們還可以在右鍵菜單中選擇「屬性」,把這些文件和文件夾都隱藏掉。

重啟之後你應該能看到另一個新的啟動盤。

便捷性調整

你可能註意到瞭一些問題,在啟動畫面中,後三個盤都叫 「EFI BOOT」。我們要怎麼分清哪個是哪個呢?我花瞭很多的時間去研究怎麼修改這個顯示名稱,結論是不行。Mac 似乎不支持修改 FAT32 文件系統的顯示名。不過這也不要緊,我們還有一個東西可以改,就是磁盤的圖標。

在 Mac 中,啟動盤的圖標是由一個在根目錄的 .VolumeIcon.icns 決定的。這裡我做好瞭一些對應的圖標,你可以下載使用:百度雲 GoogleDrive。另外你還可以使用 Image2Icon 這個 App 自己制作 ICNS 文件,也非常方便。

扔圖標進去然後改名成 .VolumeIcon.icns 就可以瞭。

在不支持多個 EFI 分區的電腦上啟動

有一些 PC 的 UEFI 無法識別一個盤裡面的多個 EFI 分區(就連 Parallels Desktop 的虛擬機 BIOS 都有這個毛病),遇到這種情況實在是非常尷尬的。不過我們之前已經弄好瞭一個 Linux 分區,接下來我就教大傢如何用 GRUB 手動引導進其他分區。

首先啟動系統,進入 U 盤,你會看到類似這樣的畫面。

GRUB 菜單

在畫面中按下 C 鍵進入命令行,你會看到 GRUB> 這樣的提示符。首先輸入 ls 看一看可用的硬盤和分區。

圖中的格式是這樣的 ( hd 硬盤號 , 分區號 ) 。我們的 U 盤雖然隻分瞭 四個區,但是由於 macOS 在最前面添加的保留分區的存在,加起來一共是有 5 個分區,分別從 1 到 5 表示。看看上面哪個編號的硬盤含有五個區的話,那就應該是我們 U 盤的編號瞭,這裡是 0,一般都應該是 0。

假如我們要進入 Windows 的安裝程序,這個區的編號是 4,在命令行輸入 set root= ( hd1,4 ) 回車。

之後要給出 Windows 的 EFI 引導程序的位置,輸入 chainloader /EFI/Boot/bootx64.efi +1(Win10 的引導一般都在這個地方),應該會看到如下的提示,表示裝載成功瞭。

之後再輸入 boot,不出意外的話,Windows 安裝程序就能正常啟動。

如果你想要啟動 PE 的話,那麼除瞭分區編號改成 5 之外,其他情況都是一樣的。

Q & A

安裝盤有瞭新版本怎麼辦?隻要抹掉該分區,重新按照之前的步驟刷入即可。Windows 也是同理,不過要在 Windows 中這個操作叫格式化。

有安裝盤的那些分區可以自己存文件麼?當然可以,可用空間裡面隨便存,不會浪費。

推出 U 盤的時候總是無法推出怎麼辦?因為四個區的關系,在較慢的 U 盤上推出的時候會非常的卡,這是正常現象,多等一會就好瞭。

參考資料

計算機是如何啟動的 - 阮一峰

UEFI 和 BIOS 引導有什麼不同 - 知乎

Correct name and icons in Startup Manager

(題圖背景是我在東京的住處自己拍的)

精彩圖片
文章評論 相關閱讀
© 2016 看看新聞 http://www.kankannews.cc/