Ubuntu server版本无人值守安装自动安装

更新记录

2022.4.21 支持ubuntu server 22.04

环境

本文使用Win11系统,VMware 16.2.3

下载ISO(略),本文用的是清华源下载的ubuntu-20.04.4-live-server-amd64.iso

准备无人值守安装配置文件

先手动安装一遍,在安装好后的Ubuntu里有一个文件/var/log/installer/autoinstall-user-data,这个文件就是刚才手动配置生成的自动安装用的文件,如果会自己写也可以自己写,参考本文结尾的链接就可以。

/var/log/installer/autoinstall-user-data通过scp拷贝到windows上,然后复制一份,重命名为user-data

在这里插入图片描述

原始autoinstall-user-data文件内容(网卡v4,DHCP,用户名susu,密码toor,硬盘50G)

#cloud-config
autoinstall:
  apt:
    disable_components: []
    geoip: true
    preserve_sources_list: false
    primary:
    - arches:
      - amd64
      - i386
      uri: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
    - arches:
      - default
      uri: http://ports.ubuntu.com/ubuntu-ports
  identity:
    hostname: susu
    password: $6$E8BmcjTt3guRTQ5P$2ZsbGgtVFrun3MCbOYHV1wt5pNJ9XK7m8DeoreCrQl0iU4PT2hQ1whEsKK9MRwy3UsXGdafqcqaPEYaE2rm/v1
    realname: susu
    username: susu
  kernel:
    package: linux-generic
  keyboard:
    layout: us
    toggle: null
    variant: ''
  locale: en_US.UTF-8
  network:
    ethernets:
      ens33:
        dhcp4: true
    version: 2
  ssh:
    allow-pw: true
    authorized-keys: []
    install-server: true
  storage:
    config:
    - ptable: gpt
      path: /dev/sda
      wipe: superblock-recursive
      preserve: false
      name: ''
      grub_device: true
      type: disk
      id: disk-sda
    - device: disk-sda
      size: 1048576
      flag: bios_grub
      number: 1
      preserve: false
      grub_device: false
      type: partition
      id: partition-0
    - device: disk-sda
      size: 53683945472
      wipe: superblock
      flag: ''
      number: 2
      preserve: false
      grub_device: false
      type: partition
      id: partition-1
    - fstype: ext4
      volume: partition-1
      preserve: false
      type: format
      id: format-0
    - path: /
      device: format-0
      type: mount
      id: mount-0
  updates: security
  version: 1

为了提高适配性,修改了一下,主要修改了硬盘分区部分。修改后user-data文件内容:

#cloud-config
autoinstall:
  apt:
    disable_components: []
    geoip: true
    preserve_sources_list: false
    primary:
    - arches:
      - amd64
      - i386
      uri: https://mirrors.tuna.tsinghua.edu.cn/ubuntu
    - arches:
      - default
      uri: http://ports.ubuntu.com/ubuntu-ports
  identity:
    hostname: ubuntu-server
    password: $6$E8BmcjTt3guRTQ5P$2ZsbGgtVFrun3MCbOYHV1wt5pNJ9XK7m8DeoreCrQl0iU4PT2hQ1whEsKK9MRwy3UsXGdafqcqaPEYaE2rm/v1
    username: susu
  kernel:
    package: linux-generic
  keyboard:
    layout: us
    toggle: null
    variant: ''
  locale: en_US.UTF-8
  network:
    ethernets:
      ens33:
        dhcp4: true
    version: 2
  ssh:
    allow-pw: true
    authorized-keys: []
    install-server: true
  storage:
    layout:
      name: direct
  updates: security
  version: 1

在新建一个文件名为meta-data的空文件备用。

windows挂载原始ISO,G:\isolinux\txtcfg,修改该文件
原始文件内容

default live
label live
  menu label ^Install Ubuntu Server
  kernel /casper/vmlinuz
  append   initrd=/casper/initrd quiet  ---
label hwe-live
  menu label ^Install Ubuntu Server with the HWE kernel
  kernel /casper/hwe-vmlinuz
  append   initrd=/casper/hwe-initrd quiet  ---
label memtest
  menu label Test ^memory
  kernel /install/mt86plus
label hd
  menu label ^Boot from first hard disk
  localboot 0x80

修改后,其实就是在默认启动项live的启动参数加了一个autoinstall ds=nocloud;s=/cdrom/,thanks to @landuodecaiji

default live
label live
  menu label ^Install Ubuntu Server
  kernel /casper/vmlinuz
  append   initrd=/casper/initrd quiet autoinstall ds=nocloud\;s=/cdrom/ ---
label hwe-live
  menu label ^Install Ubuntu Server with the HWE kernel
  kernel /casper/hwe-vmlinuz
  append   initrd=/casper/hwe-initrd quiet  ---
label memtest
  menu label Test ^memory
  kernel /install/mt86plus
label hd
  menu label ^Boot from first hard disk
  localboot 0x80

重建ISO

我是在windows下进行的,使用的是软碟通。

打开软碟通挂载原版ISO,然后将user-datameta-data添加到ISO的根目录,txt.cfg添加并覆盖isolinux/txt.cfg

具体操作是打开软碟通,打开ISO。然后切到ISO中要添加文件的目录,操作 - 添加文件,选择user-datameta-data即可。

修改完文件之后另存为为一个新的ISO即可。

在这里插入图片描述

使用新的ISO安装

全自动就会装好,装好以后会自动重启,然后直接就可以用了,开箱即用。

ubuntu server 22.04

  1. user-datameta-data放到ISO的根目录
  2. 修改/boot/grub/grub.cfgmenuentry "Try or Install Ubuntu Server"启动项为:
menuentry "Try or Install Ubuntu Server" {
	set gfxpayload=keep
	linux	/casper/vmlinuz autoinstall ds='nocloud;s=/cdrom/' ---
	initrd	/casper/initrd
}
  1. 保存ISO,并使用新的ISO进行安装。安装完毕回车即可进入新系统,不会自动重启

Linux下操作

参考本文结尾参考部分的第一条

参考

ubuntu20.04打包iso镜像自动安装 - 炒鸡蛋 - 博客园
Automated Server Installs | Ubuntu
Automated Server Install Quickstart | Ubuntu
Automated server install reference | Ubuntu

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苏打呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值