製作便攜式隨身系統(以Ubuntu爲例)

說明

UEFI和Legacy雙模式引導參見: https://www.ithome.com/html/win10/316637.htm

準備

硬件

  • 一個空U盤用於安裝系統時的啓動盤
  • 一個空U盤或移動硬盤用於安裝系統
  • 一臺裝有Ubuntu系統的電腦(本文 16.04 LTS)

軟件

  • Ubuntu系統鏡像

啓動盤製作

安裝Ubuntu到隨身存儲設備

概述

  1. U盤啓動系統後, 選擇 “Install Ubuntu”
  2. 在安裝類型(Install Type)界面一定要選擇 其它(some thing else) 選項, 以便選擇將系統安裝到便攜設備
  3. 創建分區, 若爲 UEFI 模式, 需要創建一個 EFI 分區, 設爲500Mb 即可, 此外還需要創建 swap 交換分區, 大小2GB即可, 還可以創建根分區 / 啓動分區 /boot/ home 分區, 當然也可以不創建.
  4. 在創建分區的頁面, 記得 選擇安裝啓動引導器爲你想隨身攜帶系統的移動硬盤或U盤, 否則默認覆蓋你現有PC機上的引導菜單(Ubuntu16好像有Bug, 即使選擇了別的盤, 還是會覆蓋之前的, 好在可以修復). 此部分可參考本人博客 U盤系統盤製作與系統安裝(詳細圖解)
  5. 安裝完成後, 重啓可能並不能進入系統, 參考如下內容操作.

爲便攜式系統創建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 blkidcat /etc/fstab 查看所有列出的盤號是否一致, 重點關注 fstab文件中是否有多餘的盤, 如有, 使用 # 註釋掉即可.

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章