制作便携式随身系统(以Ubuntu为例)

文章目录

  • 说明
  • 准备
    • 硬件
    • 软件
  • 启动盘制作
  • 安装Ubuntu到随身存储设备
    • 概述
  • 为便携式系统创建GRUB引导
    • 安装 GRUB2 到U盘或移动硬盘
    • 制作Grub引导菜单
  • 问题与解决
    • 拔掉U盘进不了原来的系统
    • 随身系统无法在别的电脑上启动
    • welcome to emergency mode
  • 参考

说明

UEFI和Legacy双模式引导参见: https://www.ithome.com/html/win10/316637.htm

准备

硬件

  • 一个空U盘用于安装系统时的启动盘
  • 一个空U盘或移动硬盘用于安装系统
  • 一台装有Ubuntu系统的电脑(本文 16.04 LTS)

软件

  • Ubuntu系统镜像

启动盘制作

  • BIOS模式: 参考本人另一篇博客 U盘系统盘制作与系统安装(详细图解)

  • UEFI模式: 直接将Ubuntu系统镜像文件解压到U盘即可.

安装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文件中是否有多余的盘, 如有, 使用 # 注释掉即可.

参考

  • 基于 GRUB2 制作滋瓷 BIOS/UEFI 双模式启动的 Linux/Windows 安装U盘

你可能感兴趣的:(计算机操作)