文章目錄
說明
UEFI和Legacy雙模式引導參見: https://www.ithome.com/html/win10/316637.htm
準備
硬件
- 一個空U盤用於安裝系統時的啓動盤
- 一個空U盤或移動硬盤用於安裝系統
- 一臺裝有Ubuntu系統的電腦(本文 16.04 LTS)
軟件
- Ubuntu系統鏡像
啓動盤製作
-
BIOS模式: 參考本人另一篇博客 U盤系統盤製作與系統安裝(詳細圖解)
-
UEFI模式: 直接將Ubuntu系統鏡像文件解壓到U盤即可.
安裝Ubuntu到隨身存儲設備
概述
- U盤啓動系統後, 選擇 “Install Ubuntu”
- 在安裝類型(Install Type)界面一定要選擇 其它(some thing else) 選項, 以便選擇將系統安裝到便攜設備
- 創建分區, 若爲 UEFI 模式, 需要創建一個
EFI
分區, 設爲500Mb
即可, 此外還需要創建swap
交換分區, 大小2GB即可, 還可以創建根分區/
啓動分區/boot/
home
分區, 當然也可以不創建. - 在創建分區的頁面, 記得 選擇安裝啓動引導器爲你想隨身攜帶系統的移動硬盤或U盤, 否則默認覆蓋你現有PC機上的引導菜單(Ubuntu16好像有Bug, 即使選擇了別的盤, 還是會覆蓋之前的, 好在可以修復). 此部分可參考本人博客 U盤系統盤製作與系統安裝(詳細圖解)
- 安裝完成後, 重啓可能並不能進入系統, 參考如下內容操作.
爲便攜式系統創建GRUB引導
插上安裝了系統的U盤, 啓動 原來的系統 , 拔掉啓動盤.
安裝 GRUB2 到U盤或移動硬盤
其中, xy
爲EFI分區所在盤號
# 安裝依賴包
sudo apt-get install grub-efi-amd64-bin grub-pc-bin
# 掛載EFI分區
mkdir /mnt/tmp
sudo mount /dev/sdxy /mnt/tmp
# 將 BIOS 模式 GURB2 安裝到U盤
sudo grub-install --target=i386-pc --recheck --boot-directory=/mnt/tmp/boot /dev/sdxy
# 將 UEFI 模式 GURB2 安裝到U盤
sudo grub-install --target=x86_64-efi --efi-directory=/mnt/tmp/ --boot-directory=/mnt/tmp/boot --removable
製作Grub引導菜單
仿造已有的系統內的 grub.cfg
寫即可, 使用 sudo gedit /mnt/tmp/boot/grub/grub.cfg
新建配置文件並打開, 添加類似如下的內容
if [ "${grub_platform}" == "efi" ]; then
menuentry "Microsoft Windows Vista/7/8/8.1 UEFI-GPT" {
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root $hints_string $fs_uuid
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
fi
if [ "${grub_platform}" == "pc" ]; then
menuentry "Microsoft Windows Vista/7/8/8.1/10 BIOS-MBR" {
insmod part_msdos
insmod ntfs
insmod search_fs_uuid
insmod ntldr
search --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 69B235F6749E84CE
ntldr /bootmgr
}
fi
問題與解決
拔掉U盤進不了原來的系統
插上安裝了系統的U盤, 啓動 原來的系統 , 拔掉啓動盤, 通過如下命令更新grub, 並將其安裝到目標的盤(sdx
), 注意你的盤號.
# 生成新的啓動鏡像
sudo update-initramfs -u
# 更新grub
sudo update-grub
sudo update-grub2
# 重建grub
sudo grub-install /dev/sdx
隨身系統無法在別的電腦上啓動
- 首先查詢該電腦支持什麼模式
BIOS
還是UEFI
, 確認與自己的系統安裝模式是否兼容 - 然後檢查 爲便攜式系統創建GRUB引導 小節所述內容
welcome to emergency mode
若在其它電腦上啓動出現 welcome to emergency mode
提示信息, 分別 通過 sudo blkid
和 cat /etc/fstab
查看所有列出的盤號是否一致, 重點關注 fstab文件中是否有多餘的盤, 如有, 使用 #
註釋掉即可.