You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04 Desktop LTS无人值守安装及OEM安装镜像打包恢复USB问题咨询

Ubuntu 22.04 Desktop LTS无人值守安装及OEM安装镜像打包恢复USB问题咨询

一、Ubuntu 22.04 Desktop无人值守安装(无需预设用户配置)

其实Ubuntu Desktop的无人值守安装可以基于Server的autoinstall机制改造,同时实现跳过用户配置步骤,具体操作如下:

  1. 创建自定义autoinstall配置文件
    你需要编写一个user-data文件,核心是通过autoinstall字段定义安装逻辑,再用late-commands处理桌面环境安装和用户配置跳过:

    #cloud-config
    autoinstall:
      version: 1
      locale: en_US.UTF-8
      keyboard:
        layout: us
      timezone: America/New_York
      packages:
        - ubuntu-desktop
        - gnome-shell
      late-commands:
        # 卸载首次启动的用户设置向导,让系统直接进入桌面
        - curtin in-target -- apt remove -y gnome-initial-setup
        # 若后续需要自动创建用户,可添加以下命令(按需启用)
        # - curtin in-target -- useradd -m -s /bin/bash yourusername
        # - curtin in-target -- echo "yourusername:yourpassword" | chpasswd
        # - curtin in-target -- usermod -aG sudo yourusername
    

    注意:完全不需要预设用户的话,直接移除identity字段即可,卸载gnome-initial-setup后,系统首次启动会让用户自行创建账户。

  2. 制作带autoinstall配置的启动镜像

    • 下载Ubuntu 22.04 Desktop官方ISO镜像
    • 挂载ISO到本地目录:sudo mount ubuntu-22.04-desktop-amd64.iso /mnt
    • 创建临时目录复制ISO内容:mkdir -p ~/custom-iso && cp -r /mnt/* ~/custom-iso/
    • 卸载原ISO:sudo umount /mnt
    • 在~/custom-iso/nocloud/目录下放入user-data和空的meta-data文件
    • 修改~/custom-iso/boot/grub/grub.cfg,找到默认启动项,在内核参数末尾添加autoinstall ds=nocloud;s=/cdrom/nocloud/,示例片段:
      menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-xxxxxx' {
          recordfail
          load_video
          gfxmode $linux_gfx_mode
          insmod gzio
          if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
          insmod part_msdos
          insmod ext2
          set root='hd0,msdos1'
          search --no-floppy --fs-uuid --set=root xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          linux   /casper/vmlinuz quiet splash autoinstall ds=nocloud;s=/cdrom/nocloud/ ---
          initrd  /casper/initrd
      }
      
    • 重新生成自定义ISO:sudo genisoimage -o custom-ubuntu-22.04-autoinstall.iso -r -J -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ~/custom-iso/

二、将OEM安装后的系统打包成恢复启动USB

OEM安装完成后,你可以通过以下两种方式制作可恢复的启动USB:

方式一:全盘克隆(简单直接)

  1. 准备目标USB
    • 确保USB容量大于已安装系统的占用空间,提前备份USB内所有数据
    • 用lsblk命令确认USB设备名(比如/dev/sdb),务必不要选错设备!
  2. 克隆系统到USB
    • 卸载系统分区(若已挂载):sudo umount /dev/sda1(假设系统安装在/dev/sda)
    • 执行克隆命令:sudo dd if=/dev/sda of=/dev/sdb bs=4M status=progress
    • 克隆完成后执行sudo sync,确保所有数据写入USB
  3. 修复启动引导
    • 挂载USB的EFI分区(UEFI启动模式下):sudo mount /dev/sdb2 /mnt
    • 重新安装GRUB引导:sudo grub-install --target=x86_64-efi --efi-directory=/mnt --bootloader-id=ubuntu --recheck
    • 更新GRUB配置:sudo update-grub
    • 卸载分区:sudo umount /mnt

方式二:分区备份(节省空间)

如果你觉得全盘克隆太占空间,可以用fsarchiver工具只备份系统分区:

  1. 安装fsarchiver:sudo apt install fsarchiver
  2. 备份系统分区:sudo fsarchiver savefs /path/to/system-backup.fsa /dev/sda1
  3. 制作一个带fsarchiver的启动USB(比如用Ubuntu Live ISO)
  4. 恢复时,从USB启动,挂载目标磁盘分区后执行:sudo fsarchiver restfs /path/to/system-backup.fsa id=0,dest=/dev/sda1

备注:内容来源于stack exchange,提问作者Ivan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:27:53