当前位置: 首页 > news >正文

打包当前Ubuntu镜像 制作Ubuntu togo系统

我的系统的基本情况说明:
我原来的系统的具体型号如下:

uname -r
Linux Engine 5.15.0-134-generic #145~20.04.1-Ubuntu SMP 
Mon Feb 17 13:27:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

我原来的硬盘以及分区策略如下:
可以看到我的分区策略大致就是有两张固态,然后EFI/home单独挂载在了一块盘里,/swap挂载在了另外一块盘里

df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             31G     0   31G   0% /dev
tmpfs           6.2G  2.9M  6.2G   1% /run
/dev/nvme1n1p3  1.8T  922G  812G  54% /
tmpfs            31G  119M   31G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs            31G     0   31G   0% /sys/fs/cgroup
/dev/loop0      128K  128K     0 100% /snap/bare/5
/dev/loop2      347M  347M     0 100% /snap/gnome-3-38-2004/119
···
/dev/nvme0n1p2  1.9T  642G  1.2T  37% /home
/dev/nvme0n1p1   96M  6.1M   90M   7% /boot/efi
tmpfs           6.2G  176K  6.2G   1% /run/user/1000

我现在希望的是可以把系统中的所有内容(除了数据集这种占用资源特别多的)都备份到一个单独的外接硬盘盒中,制作一个Ubuntu To Go的系统,在任何的电脑上都可以通过更改启动方式的方法启动我的系统。

以下是制作 Ubuntu To Go 系统的分步指南:


步骤 1:准备工作

  1. 备份数据
    操作前请备份重要数据,避免意外丢失。

  2. 准备外置硬盘

    • 我使用的是SSK10Gbps硬盘盒致钛1TB Ti600 Gen4 7000MB/s的固态硬盘
    • 硬盘盒的速度换算一下是1250MB/s,其实是达不到硬盘的上限的
    • 但是我的拯救者笔记本具有的接口是USB3.1的A口(5Gbps)和USB3.2的C口(10Gbps),所以我之前觉得短板可能也不在硬盘盒这里就没有买新的
    • 确保外置硬盘已插入电脑并识别(如 /dev/sdX,请替换为自己的设备路径)。
  3. 安装必要工具

    sudo apt update && sudo apt install rsync grub2-efi parted
    

    这里这个grub2-efi我显示unable to locate,不过没事,不影响接下来的操作


步骤 2:分区与格式化外置硬盘

  1. 使用 parted 分区

    sudo parted /dev/sdX
    
    • 输入 mklabel gpt 创建 GPT 分区表。
    • 创建 EFI 分区:
      mkpart ESP fat32 1MiB 512MiB
      set 1 esp on
      
    • 创建根分区:
      mkpart primary ext4 512MiB 100%
      
    • 退出:quit
    • 这里要注意没有swap分区,这个在我下一次优化的时候会补充,但是暂时是不影响使用的。
  2. 格式化分区

    sudo mkfs.fat -F32 /dev/sdX1  # 格式化 EFI 分区
    sudo mkfs.ext4 /dev/sdX2      # 格式化根分区
    

步骤 3:复制系统文件

  1. 挂载分区

    sudo mkdir /mnt/usb
    sudo mount /dev/sdX2 /mnt/usb        # 挂载根分区
    sudo mkdir -p /mnt/usb/boot/efi
    sudo mount /dev/sdX1 /mnt/usb/boot/efi  # 挂载 EFI 分区
    
  2. 使用 rsync 克隆系统

    sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/usb/
    

这里因为我的数据量比较大,所以clone同步的时间也很长,我clone了800G+的数据过去估计花了5-6个小时,这里我们可以同时看一下复制的进度watch -n 1 df -h,我们可以看到挂载的/dev/sdX1中使用的内容资源在逐渐增多,等到大致和挂载点\下的体积大体上相同就可以了。


步骤 4:配置启动引导(GRUB)

  1. Chroot 到外置硬盘系统

    sudo mount --bind /dev /mnt/usb/dev
    sudo mount --bind /proc /mnt/usb/proc
    sudo mount --bind /sys /mnt/usb/sys
    sudo chroot /mnt/usb
    
  2. 更新文件系统 UUID

    • 查看外置硬盘根分区的 UUID:
      blkid /dev/sdX2
      
    • 编辑 /etc/fstab
      nano /etc/fstab
      
      替换原有根分区和 EFI 分区的 UUID 为外置硬盘的实际 UUID。
  3. 安装 GRUB 到外置硬盘

    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck
    update-grub
    
  4. 退出 Chroot

    exit
    sudo umount /mnt/usb/{dev,proc,sys,boot/efi}
    sudo umount /mnt/usb
    

步骤 6:测试启动

  1. 在其他电脑上启动
    • 插入外置硬盘,开机时按 F12/Esc/Del 等键选择从外置硬盘启动。
    • 如果启动失败,检查 GRUB 安装步骤和 fstab UUID 是否正确。
    • Tips: 一般启动的选项里有两个,一个是进BIOS(F2),一个是弱化版的启动项选择(F12),一般来说用第二个就可以,对于拯救者电脑,第二个的界面是这样的,这里选择SSK固态硬盘启动
      在这里插入图片描述

我这里的最终效果,在新的U盘启动的机器上,暂时验证效果如下:

  • 所有的gnome插件启动正常
  • 显卡驱动&cuda启动正常
  • App cache正常
  • 一些速度的测试要见我的下一篇文章进行具体的测试~
    在这里插入图片描述

常见问题解决

  • 无法挂载根分区:检查外置硬盘分区是否损坏,重新格式化。
  • 黑屏/卡在启动界面:尝试在 GRUB 启动时按 e 编辑启动参数,添加 nomodeset
  • 无法识别外置硬盘:确保 BIOS/UEFI 中已启用从 USB 启动。

希望可以帮到大家~

相关文章:

  • Oracle SQL*Loader 与 SQLULDR2 学习指南
  • 服务器部署RocketMQ----Docker方式
  • LLM后训练:解锁大型语言模型推理能力的关键路径
  • 软件测试之单元测试unittest库使用、参数化、unittestteport
  • Java中的volatile关键字
  • AI自动文献综述——python先把知网的文献转excel
  • 免费高质量贴图(Textures) 网站推荐
  • RabbitMq C++客户端的使用
  • DeepSeek大模型在政务服务领域的应用
  • 四种 No-SQL
  • 应急响应靶机练习-Linux2
  • 手搓智能音箱——语音识别及调用大模型回应
  • 用Java来创建数字游戏
  • 基于springboot的无人智慧超市管理系统
  • 蓝桥杯2023年第十四届省赛真题-整数删除 暴力-->链表+小根堆
  • 203.移除链表元素
  • 免费影视片库
  • HarmonyOS第22天:解锁鸿蒙服务开发
  • 二叉树题目
  • 冷热数据分层存储:提高效率与降低成本
  • 东部沿海大省浙江,为何盯上内河航运?
  • 科普|认识谵妄:它有哪些表现?患者怎样走出“迷雾”?
  • 对谈|“大礼议”:嘉靖皇帝的礼法困境与权力博弈
  • 有人倒卖试运营门票?上海乐高乐园:这些票存在无法入园风险
  • 遭“特朗普关税”冲击,韩国今年经济增长预期“腰斩”降至0.8%
  • 10名“鬼火少年”凌晨结队在城区飙车,警方:涉非法改装,正处理