阅

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 参数带的;需要、进行转义,否则同样会导致自动安装异常。