音乐播放器
Dustin Blog
 
文章 标签
9

Powered by Dustin | Theme: Fog

Ubuntu 无人值守安装

👏 欢迎使用Ubuntu,本文以X86硬件架构为例,请访问官方镜像站下载!

👇 Ubuntu 系统启动盘

  • 通过上述下载的镜像,使用 rufus 制作 U 盘启动盘,此过程不做过多赘述!

👇 U 盘实现无人值守安装

1️⃣ 通过 autoinstall.yaml 文件实现

该方式无需修改 grub.cfg,在启动盘根目录放置 autoinstall.yaml 文件,启动系统后将自行安装系统。

  • autoinstall.yaml 文件内容如下。
version: 1
early-commands:
  - echo 'It is me'
  - sleep 1
  - echo 'Use autoinstall'
locale: en_GB.UTF-8
apt:
  mirror-selection:
    primary:
      - country-mirror
      - arches: &id001
        - amd64
        - i386
        uri: http://archive.ubuntu.com/ubuntu/
      - arches: &id002
        - s390x
        - arm64
        - armhf
        - powerpc
        - ppc64el
        - riscv64
        uri: http://ports.ubuntu.com/ubuntu-ports
    preserve_sources_list: false
    security:
    - arches: *id001
      uri: http://security.ubuntu.com/ubuntu/
    - arches: *id002
      uri: http://ports.ubuntu.com/ubuntu-ports
late-commands:
  - echo late
  - sleep 1
  - echo late
error-commands:
  - echo OH NOES
  - sleep 5
  - echo OH WELL

identity:
    hostname: ubuntu
    password: $6$5Y1CqzzfE.WLueH4$AVXtEYRvCb/HSqH8KysClx4z29q1fQIkX0qtHe7KZWOS8gagQ9ZyQBZcXqSWj1Xcvty7waPfwoM/9d44GYmFL1
    realname: xspeed
    username: xspeed
keyboard:
  layout: gb
kernel:
  package: linux-generic
source:
  id: ubuntu-server-minimal
  search_drivers: false
storage:
  layout:
    name: lvm

2️⃣ 通过 user-data 文件实现

该方式需修改 grub.cfg,优先级高于 autoinstall.yaml 安装方式,在启动盘根目录放置 user-data 和 meta-data 文件,其中 meta-data 文件是一个以 meta-data 命名的空文件,启动系统后将自行安装系统。

  • grub.cfg 文件内容需要注意冒号前分号要加上,否则可能导致传递异常截断。
linux	/casper/vmlinuz autoinstall ds=nocloud\;s=/cdrom/ console=ttyS0,115200n8 ---
  • user-data 文件内容如下。
#cloud-config
autoinstall:
  early-commands:
    - echo 'It is me'
    - sleep 1
    - echo 'Use user-data'
  apt:
    disable_components: []
    fallback: abort
    geoip: true
    mirror-selection:
      primary:
      - country-mirror
      - arches: &id001
        - amd64
        - i386
        uri: http://archive.ubuntu.com/ubuntu/
      - arches: &id002
        - s390x
        - arm64
        - armhf
        - powerpc
        - ppc64el
        - riscv64
        uri: http://ports.ubuntu.com/ubuntu-ports
    preserve_sources_list: false
    security:
    - arches: *id001
      uri: http://security.ubuntu.com/ubuntu/
    - arches: *id002
      uri: http://ports.ubuntu.com/ubuntu-ports
  codecs:
    install: false
  drivers:
    install: false
  identity:
    hostname: ubuntu
    password: $6$5Y1CqzzfE.WLueH4$AVXtEYRvCb/HSqH8KysClx4z29q1fQIkX0qtHe7KZWOS8gagQ9ZyQBZcXqSWj1Xcvty7waPfwoM/9d44GYmFL1
    realname: xspeed
    username: xspeed
  kernel:
    package: linux-generic
  keyboard:
    layout: us
    toggle: null
    variant: ''
  locale: en_US.UTF-8
  oem:
    install: auto
  source:
    id: ubuntu-server-minimal
    search_drivers: false
  ssh:
    allow-pw: true
    authorized-keys: []
    install-server: false
  storage:
    layout:
      name: lvm
  updates: security
  version: 1

👇 网络无人值守安装

启动盘仅保留启动文件相关的三个目录,boot,casper,EFI,该方式需修改 grub.cfg,启动系统后将自行安装系统。

  • grub.cfg 文件内容需要注意冒号前分号要加上,否则可能导致传递异常截断。
linux	/casper/vmlinuz ip=dhcp url=http://192.168.85.235:70/chfs/shared/ISO/Ubuntu/ubuntu-22.04.4-live-server-amd64.iso autoinstall ds=nocloud-net\;s=http://192.168.85.235:70/chfs/shared/ISO/Ubuntu/ console=ttyS0,115200n8 ---
  • 需要搭建一个 http 服务,并将本文档描述的 meta-data,user-data,iso 镜像(官网下载)放置在 http 文件服务器上。

👇 遇坑记录

  • 网络安装时候,使用的设备网卡需具有唯一 mac,否则自动安装将会失败中断。
  • 使用 user-data 或 autoinstall.yaml 进行无人安装,文件格式需严格按照 yaml 编写,不然会识别不到,导致自动安装异常。
  • user-data 需要配合修改 grub.cfg,其中 grub.cfg 指定的 ds 参数带的;需要、进行转义,否则同样会导致自动安装异常。

😘 Thank you for browsing,Enjoy~