首頁 > 軟體

製作Linux&Windows&GParted Live&macOS四合一維護 U 盤,重灌系統更方便

2020-06-16 17:00:54

注意:本教學只適用於支援 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 執行的時候會遮蔽掉自己所在的驅動器,這可能會有一些問題,我們後面會講。AOMEI PE 是成都一家公司做的,只是他們的 PE 只放在外國網站上。感謝 Umi 提醒。)

需要的軟體有:

  • 解壓軟體。由於一些 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=(hd0,4) 回車。

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

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

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

Q & A

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

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

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

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

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-11/148899.htm


IT145.com E-mail:sddin#qq.com