網上的Ubuntu To Go製作教程一般只適用於Legacy BIOS,並不適用於新式的UEFI,而且現在UEFI是潮流,怕只支持UEFI Boot的新機器無法啟動,而純UEFI Boot又不適用於老機器,那咋辦?製作Legacy BIOS和UEFI都支持的不就行了。
經過折騰,筆者製作出了支持Legacy BIOS和UEFI啟動模式的優盤,可以在IT之家分享一下方法。
什麼是Ubuntu To Go,這名字是從Windows To Go借鑑過來的,顧名思義,可以在優盤上跑的Ubuntu。
相對於Windows To Go,Ubuntu 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,在你那裡可能會不一樣。
Legacy式安裝
開機。插入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引導文件
上面只是進行了Legacy式安裝,還不能進行UEFI啟動,所以需要寫入UEFI引導文件。
虛擬機關機之後,編輯虛擬機設置。
設置為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/dev
mount --o bind /proc /mnt/proc
mount --o bind /sys /mnt/sys
mount --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 (如果有的話)
sync
exit
終端不要關,輸入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系)的配置過程可能略有不同。
想看到更多這類內容?去APP商店搜 ,天天都有小歡喜。IT之家