最近想将Ubuntu22.04LTS安装在我的256G USB3.2U盘上,并实现BIOS和UEFI双引导启动,网上查了一堆资料,整合起来开始安装,这里分享一下安装的过程

1.安装准备

  • 1.一台可运行vmware虚拟机的电脑
  • 2.VMware软件
  • 3.U盘,这里我使用的是256GB的
  • 4.Ubuntu22.04LTS的iso镜像(从官方下载)

2.安装过程

创建虚拟机

首先启动VMware虚拟机,创建一个新的虚拟机,配置如下

  • 虚拟机名称: 随意
  • 虚拟机版本: 默认
  • 客户机操作系统: Ubuntu 64位
  • 硬件: 全部默认

更改虚拟机配置

  • 移除-虚拟硬盘
  • 修改-USB控制器版本, 匹配宿主机目标U盘的实际协议
  • 修改-虚拟光驱, 挂载Ubuntu镜像iso, 勾选启动时连接
  • 修改-虚拟机设置>选项>高级>固件类型, 设置为UEFI

注意,这里我没有删除虚拟网络适配器,是因为发现未联网安装时可能之后安装完成会缺一些东西,这里直接桥接在主机上了

虚拟机,启动!

  • 开机-虚拟机应当引导进入Ubuntu LiveCD,(就是一个黑框框) 直到出现Try Ubuntu or Install Ubuntu字样
  • 选择-Try Ubuntu or Install Ubuntu , 直到进入LiveCD桌面
  • 挂载-右下角托盘, 将目标U盘作为USB设备挂载到虚拟机
  • 选择-检测到USB设备后, Install Ubuntu xxxx, (也可以先更改语言为中文)启动安装程序

开始安装

  • 选择-按需选择语言, 安装规模等, 直到Installation Type页面
  • 选择-Something Else, 即手动进行分区并安装

对硬盘进行分区

  • 新建分区表-右键U盘设备, 应当为/dev/sda, 选择New partition table
  • 添加分区-添加如下的分区, 分区大小仅供参考
    • (必须)大小1MB, 类型为Reserved BIOS boot area
      • 添加该分区后, 您可能会注意到, 磁盘头部出现33MB的未分配空间, 而该分区大小变为33MB, 这是完全正常的
    • (必须)大小500MB, 类型为EFI System Partition
    • (可选)大小和电脑内存相同(我这里用了16G),类型为Swap
    • (可选)大小500MB, 类型为Ext4 journaling file system, 挂载点/boot
      • 该操作不推荐, 99%的情况下不必要
      • 某些老旧的BIOS无法识别存在于8GB或64GB之后的可引导分区, 因此该操作曾经有意义
      • 使用raid等方式安装系统时, 该操作是必须的, 很明显我们没有这样做
    • (必须)大小10GB+, 类型为Ext4 journaling file system, 挂载点/
      • 若有单独为/home分区, 该大小推荐设置为20GB左右
      • 若无单独/home, 占满磁盘剩余空间即可, 若有需要可以保留一些未分配空间
    • (可选)大小10GB+, 类型为Ext4 journaling file system, 挂载点/home
      • 看个人情况, 占满剩余磁盘空间或保留一些未分配空间
  • 确认分区-必须包括如下分区
    • (必须)大小50MB, 类型为Reserved BIOS boot area
    • (必须)大小500MB, 类型为EFI System Partition
    • (必须)大小10GB+, 类型为Ext4 journaling file system, 挂载点/

我的分区如下

完成安装

  • 填写区域,账号,密码等。等待安装完成, 不要退出安装程序
  • 选择-Continue trying

添加引导

  • Ctrl+Alt+T打开终端,输入sudo su切换到root用户
sudo su
  • 确定挂载各个位置, 以创建分区的顺序为依据
fdisk -l
# 教程假定挂载点为'/boot'的分区(若存在)为/dev/sda4, 请根据需要修改
# 教程假定挂载点为'/'的分区为/dev/sda4, 请根据需要修改
  • 安装grub, 根据挂载的是否为/boot挂载点的分区选择您待执行的命令
mkdir /mnt/sda4
mount /dev/sda4 /mnt/sda4
  • 安装grub, 根据挂载的是否为/boot挂载点的分区选择您待执行的命令
# 如果您挂载的是'/'分区, 其为/dev/sda4, 则
grub-install --target=i386-pc --boot-directory=/mnt/sda4/boot /dev/sda
# 如果您挂载的是'/boot'分区, 其为/dev/sda4, 则
grub-install --target=i386-pc --boot-directory=/mnt/sda4 /dev/sda
  • 检查分区情况
    • 命令行输入启动gparted
    • 如果您发现添加时设置为1MB的分区, 此时拥有文件系统grub core.img, 说明grub-pc安装完毕

关闭虚拟机,编辑虚拟机设置,开始测试安装是否成功

  • 添加-虚拟硬盘, 磁盘类型设置为使用物理驱动器, 选择目标U盘, 一般为最后一个
  • 修改-虚拟光驱, 取消勾选启动时连接

虚拟机(UEFI模式),启动!

  • 虚拟机应当成功引导进入Ubuntu桌面, 执行下面的命令, 以验证当前的引导类型
ls /sys/firmware/efi
# 若成功执行, 说明为UEFI引导; 若提示找不到文件, 则为BIOS引导

虚拟机(BIOS模式),启动!

  • 修改-虚拟机设置>选项>高级>固件类型, 设置为BIOS
  • 执行之前命令,验证引导类型

睡吧,虚拟机

你现在可以关闭虚拟机了,然后重启设备,进入主板BIOS改变启动的系统,看看怎么个事。