Ubuntu to Go (把 Ubuntu 系统装进移动硬盘) - Good for FPGA Development

一、问题背景

在 FPGA 开发中,很多基于 Xilinx 开发的项目都是使用的 Linux (Ubuntu) 系统,通常我们使用 Linux 系统的方法有如下几种:

  • 虚拟机安装 Linux 系统
  • WSL
  • 双系统
  • Ubuntu to Go 

这四种方式各有优缺点:其中前两种方式可能会导致开发工具链的一系列兼容问题,第三种方式的缺点是不可移动,便携性较差,第四种方式提供了把 Linux (Ubuntu) 系统装入移动硬盘的解决方案,只需要一个移动硬盘,便能插入电脑里进行开发,移动性和便携性都很高。本文主要介绍如何从头制作一个便携式的 Ubuntu 启动硬盘。

注:本文主要基于 Windows x86 来进行 Ubuntu to Go 的制作,制作出的 Linux 系统也是基于 x86 架构,如需其他架构,则在电脑和镜像的使用作出调整即可。


二、工具准备

硬件

  • 移动硬盘 (考虑到传输速度,最好是固态硬盘/SSD,e.g., Samsung T7)
  • 连接移动硬盘和电脑的线 (最好是可以跑满传输速度的线)
  • 4G 以上的 U 盘 (作为 Ubuntu 启动盘)
  • 一台 Windows x86 系统的电脑

软件 (Windows x86 版本)


三、格式化与制作启动盘

先使用 DiskGenuis 对移动硬盘和 U 盘进行格式化 (如有需要记得备份盘里的数据),格式化的格式均选 FAT32 即可

去 Ubuntu 官网 下载需要的镜像 (Xilinx 开发推荐使用 Ubuntu 18.04 LTS - Bionic),使用 Rufus 对准备的 U 盘进行启动盘制作,设置使用默认设置即可,引导类型选择下载好的镜像。


四、在移动硬盘安装系统

将制作好启动盘的 U 盘与移动硬盘均插入电脑里,重启电脑,进入 BIOS (这里最好在 BIOS 可以禁用一下 Secure Boot 以免后续出现 WiFi 适配器的问题),选择 USB 启动 - Try Ubuntu without install,会进入试用的 Ubuntu 系统里,点击桌面上的 Install Ubuntu xx.xx LTS 开始安装系统,会进入一步步的安装菜单选项,按照需求选择即可。

其中,在安装类型的选项中选择 其他选项 (Something else),进入硬盘分区界面,选择系统检测到的移动硬盘,将 Linux 系统需要的东西挂载到上面,为了简洁,本文只介绍三个分区:

  • EFI 分区: 分配 200-300 MB,类型是 efi.
  • Swap area: 分配与电脑内存相近的大小 (16/32 G),类型是 swap area.
  • 根目录 (/): 硬盘剩余的全部空间,类型是 ext4.

在菜单的最下方 boot loader 的安装路径选择移动硬盘 

注:如果想详细分 /home,/usr 等目录自由分配即可 (他们全都在 / 下),类型均为 ext4.

接下来就是格式化这些分区,等待 Ubuntu 系统成功安装到移动硬盘上。


五、关于移动硬盘的引导问题及解决方案

按以上步骤,在移动硬盘上成功安装完 Ubuntu 系统后:拔掉作为启动盘的 U 盘,仍插入移动硬盘,重启电脑,会进入 Ubuntu 系统和 Windows 系统的选择,用户可以自由选择从 Linux 还是 Windows 启动。

但以上步骤可能存在的问题是:移动硬盘的 Ubuntu 的系统引导会装载在 Windows 系统盘的引导中,导致当装有该 Ubuntu 系统的移动硬盘插入另一台电脑时,另一台电脑无法检测到该移动硬盘的 Ubuntu 系统并成功引导。因此,并没有实现真正的 “移动” Ubuntu 系统。

本文提出的解决方案基于 Ubuntu 的 boot-repair 程序,因为他可以比较便捷地解决系统盘的引导问题。具体方案如下:

 U 盘移动硬盘均插入原电脑里,进入 BIOS (这里最好在 BIOS 可以禁用一下 Secure Boot 以免后续出现 WiFi 适配器的问题),选择 USB 启动 - Try Ubuntu without install,进入试用的 Ubuntu 系统中,连接好网络 (不联网会报错),在 Terminal 中依次输入如下命令:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair

这些命令会在试用的 Ubuntu 系统中安装 boot-repair 程序,待这三条命令执行完后在 Terminal 中输入:

boot-repair

等待 boot-repair 的启动,启动成功后会进入 GUI 界面,选择推荐的 boot-repair 方式,等待修复,待修复完成后,关闭系统。该移动硬盘便可在其他电脑中成功引导(若目标电脑还装了另一个 Ubuntu 系统,可以进 BIOS - Boot Menu 查找该移动硬盘的 UEFI 启动,从移动硬盘启动即可)


六、总结

本文主要介绍了一种 “移动式 Linux 系统的制作方式“, 将 Ubuntu 系统成功安装到了移动硬盘中,实现了 Ubuntu 系统在电脑上的即插即用,提高了 FPGA 开发的效率。当移动硬盘是电脑里的固态硬盘时 (非移动式情景),文章的前四部分也可作为安装双系统的合适参考,最后部分介绍了解决移动硬盘可能缺失系统引导问题的方案。

 

For questions encountered when referencing this blog to make Ubuntu to Go, feel free to ask ^_^ 

 

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值