0%

将ubuntu装到移动硬盘中即插即用

将ubuntu装进口袋里

一、Why? 动机

安装ubuntu以往都是放到虚拟机里,但是想要上手一些深度学习的项目时,虚拟机的性能太低,不能充分利用自己机器的全部性能,怎么样才能充分利用本机的硬件资源,而又不必在本机硬盘中分配空间装双系统呢?

二、如何想到的?

因为之前听说过苹果电脑用户会使用SSD装win to go,为什么不能搞一个ubuntu to go?

废话不多说,开整~

三、How? 制作过程

以下内容参考博客:

把 Ubuntu 装到U盘里随身携带,并同时支持 BIOS 和 UEFI 启动

因为有些老机器只支持 BIOS+MBR,有些新机器只支持 UEFI+GPT,所以需要同时支持 BIOS 和 UEFI。

此方法可能不适用于硬件资源虚拟化或者锁USB端口的机器。

3.1 准备

  1. Vmware Workstation 15 PRO(装虚拟机)

  2. 64位 Ubuntu ISO 文件(UEFI 不支持 32 位系统)

  3. 推荐使用固态硬盘(USB 3.0),也可以使用U盘安装体验,推荐64G以上,U盘速度直接影响使用体验,请务必使用能够长时间保持写入速度的U盘。

3.2 新建虚拟机并编辑配置

新建虚拟机 -> 典型 -> 稍后安装操作系统 -> Linux(Ubuntu 64位) -> 最大磁盘大小0.001GB -> 调整虚拟机硬件配置如下

1 . CD/DVD

选择 Ubuntu ISO 文件位置,启动时连接

2 . USB控制器

USB兼容性:USB 3.0

3 . 添加硬盘

计算机管理 -> 磁盘管理

记住自己的U盘的磁盘编号(比如我这里是磁盘3)

虚拟机设置 -> 添加 -> 硬盘 -> SCSI -> 使用物理磁盘 -> 选择自己的U盘,并使用整个磁盘

4 . 设置 UEFI 启动

虚拟机设置 -> 选项 -> 高级 -> 固件类型 -> UEFI

3.3 U盘分区

开启虚拟机。如果提示“物理磁盘已被使用”,请关闭所有可能使用这个U盘的程序,拔出U盘后重新插入。

成功设置 UEFI 后,开机应该看到这个画面。如果没有看到,请检查之前的步骤。

选择”Try Ubuntu without installing”。开机后启动 Gparted。

此时U盘应该是 sdb。如果不是,请把下面所有的 sdb 换成您自己的 sdX。

sdb 建立 GPT 分区表。

第一个分区设置 fat32,用来拷贝文件。(因为win7似乎只能识别第一个分区)

ESP分区(下图第三个)至少 100MB,设置 boot 和 esp 标识。如果是SSD的话,建议设为1GB。

在分区上右键可以修改标识(Manage Flags)。

Gparted使用教程

下图仅供参考。如果不需要在 Windows 下拷贝文件,可以不设置第一个 fat32 分区。

注意:

  1. 虚拟机关闭后,win10 会提醒格式化所有无法识别的分区,千万不要手抖点确定。

  2. 分区设置请慎重考虑,之后更改会很麻烦。系统分区尽量划分得大一些。如果内存充足,可以不设置 swap。

您是不是被最后的 1MB 折磨,强迫症发作了?

现在我们来解决这个问题,向这个空间添加 bios_grub 标记。

这里简单提及一下这个标记的作用。GPT 兼容 MBR,如果要让 grub 在 GPT 上使用 MBR 模式安装的话,需要设置这个标记。这个分区有以下三个特点:1MB 容量,不需要格式化,设置 bios_grub 标记。

在虚拟机中打开终端

1
2
3
4
5
6
7
8
9
sudo gdisk /dev/sdb
n
# 默认编号,回车就行
# 默认开始位置,回车
# 默认结束位置,回车
EF02 # EF02 就是 bios_grub
p # 看到 Name 有 BIOS boot partition 就可以了
w
y

最终是这样的。

3.4 开始 UEFI 安装

双击桌面上的”Install Ubuntu”。

如果您没有安装 Ubuntu 的经历,点击这里了解流程。

安装过程中下载更新很慢,建议断网。其他设置默认,直到这一步。

把 ext4 挂载到 /。也可以按照自己的需要来设置。

启动引导器一定要装在 /dev/sdb 上,不能装在别的硬盘(比如 sda),也不能装在单个分区上。

之后设置用户名和密码。

安装好后,试一下能不能 UEFI 启动。

再次提醒:
关闭虚拟机后,如果您的电脑突然多了一堆盘符,提醒格式化,千万不要点击确定。可以使用 DiskGenius,在不明分区上右键,删除驱动器号(盘符)。那么在这台电脑上,就不会再显示这些分区了。

3.5 添加 BIOS 启动

模仿切换 UEFI 的步骤,切换回 BIOS。

虚拟机设置 -> 选项 -> 高级 -> 固件类型 -> BIOS

重新连接 CD/DVD,启动虚拟机。

现在应该看到这个画面。如果没有看到,请检查是否已经切换回 BIOS。

选择 Try Ubuntu。

现在假设您的系统安装在 sdbX(本文为 sdb2)。

1
2
sudo mount /dev/sdbX /mnt
sudo grub-install --target=i386-pc --recheck --boot-directory=/mnt/boot /dev/sdb

如果报错:

1
2
3
4
Installing for i386-pc platform.
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub-install: warning: 无法嵌入。在此次安装中 GRUB 只能通过使用块列表安装。但是块列表是不可信赖的,不推荐使用。.
grub-install:错误: will not proceed with blocklists.

请检查是否正确标记了 bios_grub。

重启一下,看看能不能 BIOS 启动,然后尝试 UEFI 启动。

如果没有问题,那么,完结撒花!

后记

如何设置电脑从U盘启动:

按住shift键点击重启 -> 选择从USB设备启动