製作 Legacy BIOS / EFI 雙啟動的 Ubuntu To Go 啟動盤

網上的 Ubuntu To Go 製作教程一般只適用於 Legacy BIOS ,並不適用於新式的 UEFI ,而且現在 UEFI 是潮流,怕只支持 UEFI Boot 的新機器無法啟動,而純 UEFI Boot 又不適用於老機器,那咋辦?製作 Legacy BIOS 和 UEFI 都支持的不就行了。

經過折騰,我製作出了支持 Legacy BIOS 和 UEFI 啟動模式的優盤,這裡可以分享一下方法。

什麼是 Ubuntu To Go , 這名字是從 Windows To Go 借鑒過來的,顧名思義,可以在優盤上跑的 Ubuntu 。

相對於 Windows To Go ,有以下優點:

1) 體積小。去年我曾試過在 16G 的優盤上安裝 Windows To Go ,成是成了,但優盤可用空間卻小的可憐。Ubuntu To Go 的體積僅僅在 4.6 GB 左右 (Ubuntu 16.04 ,amd64 ),8GB 的優盤都能塞下,豈不美哉。

2) 不需要進行多次硬體配置。Windows To Go 在不同硬體計算機上啟動可能會出現再次配置硬體的畫面,比較浪費時間,但 Ubuntu To Go 不需要。

3) 免費,這個不解釋。

準備工具:

1. 優盤一隻,最好不低於 8GB (還要考慮安裝軟體呢~),介面最好是 USB 3.0,不然太卡。

2. 電腦一台,最好支持硬體虛擬化 ,VMWare Workstation 一個。

3. 腦袋一個 (開個玩笑)

打開 VMware Workstation ,新建虛擬機,選自定義。

系統選 Ubuntu (廢話)。

名字隨便起一個就行,當然這種正經名字也可以。

後面會告訴你要選硬碟,選擇使用物理硬碟。

在我這裡優盤被標識為 PhysicalDrive2,在你這裡可能會不一樣。

開機。插入 ISO,選擇以光碟啟動。(在 vmware logo 顯示的時候按 Esc 選擇 CDROM)

注意,在啟動菜單裡面選 「試用 Ubuntu「 ( Try Ubuntu ),別選「安裝 Ubuntu」

點開安裝程序

(這張圖不一樣,因為是我後來補的,而且還弄錯了)

這個最好打個鉤。

分區。選擇最後一個,千萬別選第一個。

由於 VMware 感人的顯卡特性,分區畫面估計會看不見。

所以需要改解析度。拖動窗口,最右下角就是應用 (Apply) 按鈕。

分區畫面。我這裡因為是演示,所以是空分區表。

按理來說正常優盤應該會有一個FAT32分區。要把它刪了。

建立EFI分區:,這個分區文件系統最好是 FAT32 (FAT16 按理來說也可以,但我沒試過. NTFS ext4 之類的更不用說,根本就不能用), 不需要太大,100MB 左右就合適,掛載點選擇 /boot/efi。

建立根分區。如果你要建諸如 /var /home /tmp 的分區也可以,個人喜好。

點下一步,它會提示沒有 swap 分區,這個不用管他。

SWAP 建立在優盤上容易對優盤壽命產生影響。而且現在計算機 RAM 都比較大,根本就不需要。

設置下個人資料,開始安裝過程。

安裝好之後別選擇「立即重啟」,應該關機。(別直接點虛擬機的那個 x ,小心優盤數據不保,應該通過正常步驟關機)

寫入 EFI 引導文件

結束之後,編輯虛擬機設置。

設置為 EFI 引導。

啟動之後打開終端, sudo -s 獲取 root 許可權。

最好用 fdisk -l 看一下分區。

我們得知:/dev/sda1 是 EFI 分區。/dev/sda2 是 Linux 文件系統。

掛載。

先掛載 Linux 分區,再掛載 EFI 分區。

mount /dev/sda2 /mnt mount /dev/sda1 /mnt/boot/efi

然後是著名的 dev proc sys run 四部曲 (run 可以不用掛載)

mount --o bind /dev /mnt/devmount --o bind /proc /mnt/procmount --o bind /sys /mnt/sysmount --o bind /run /mnt/run

Chroot 進入環境。

由於是 Legacy 模式安裝,所以目前系統里的 grub 並不支持 efi 安裝,所以要先安裝 grub-efi 。

apt-get install grub-efi

如果你安裝過程中是斷網的,會無法安裝。不要緊。退出 chroot 環境,然後把 live cd 根文件系統下的 /etc/resolv.conf 複製到 /mnt/etc/resolv.conf 就好,然後重新 chroot 安裝。

然後輸入

grub-install --target=x86_64-efi --root-directory=/boot/efi --efi-directory=/boot/efi

輸入後會出現一些奇怪的東西,不用管他。只要沒報錯就行。

結束之後,

umount /proc umount /dev umount /sys umount /run (如果有的話)syncexit

終端不要關,輸入 nautilus (如果是 kubuntu 就是 dolphin ,其他的桌面自己找)

點開 /mnt/boot/grub 將 grub.cfg 複製到 /mnt/boot/efi/boot/grub 下。

(解決無法顯示菜單的問題)

grub.cfg 是 GRUB2 的配置文件,以後如果更改了 grub.cfg ,/boot/efi/grub 下的一樣要更改。

將/mnt/boot/efi/EFI下的ubuntu 文件夾改成 boot ,裡面的 grubx64.efi 改成 bootx64.efi

(解決無法識別的問題)

重啟即可看到效果。

—— 哦對了 ——

這個方法別的發行版理論上也可以,筆者優盤裡塞的是 Linux Mint 。

不過別的發行版(尤其是 非 Debian 系)的配置過程可能略有不同。

推薦閱讀:

如何看待Windows 10 重大周年更新?
Ubuntu 進軍移動市場可以在哪些方面取得優勢?
如何在UEFI模式下Win8與Ubuntu多系統的安裝?
怎樣解決Windows10時間快和Ubuntu時間差問題?
ubuntu可以完全折騰成Kali Linux嗎?

TAG:Ubuntu | U盘启动 | Linux |