我尝试无人值守安装 ubuntu-18.04.4-live-server 版本,但它仍然提示欢迎语言屏幕
- 我还从这里添加了修复程序:VBoxManage 无人值守安装 Debian/Ubuntu 等待输入
- 使用 isohttps://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-live-server-amd64.iso
- 使用桌面版时一切正常
aux_base_path="$(mktemp -d --tmpdir unattended-install-XXXXX)"
VBoxManage unattended install --auxiliary-base-path "$aux_base_path"/ myvm --install-additions --user=testuser --password=testpw --country=DE --time-zone=EAT --locale=en_US --language=en-US --hostname=test.local --iso=/home/.../ubuntu_server.iso
sed -i 's/^default vesa.*/default install/' "$aux_base_path"/isolinux-isolinux.cfg
VBoxManage startvm myvm
我可以看到,正如预期的那样,从到isolinux-isolinux.cfg
进行了修改,并且包含正确的信息。/tmp/unattended-install-hash
vesa
install
preseed.cfg
答案1
乌本托 20.04
- 使用自动安装
- 补丁
isolinux-txt.cfg
以便使用自动安装 - 构建
autoinstall.yaml
并通过 http 提供,user-data
并且为空meta-data
(根据 Ubuntu 自动安装指南)
样本修补isolinux-txt.cfg
default live
label live
menu label ^Install Ubuntu Server
kernel /casper/vmlinuz
append initrd=/casper/initrd quiet autoinstall ds=nocloud-net;s=http://192.168.1.2:3003/aux-mcsbeta/
label live-nomodeset
menu label ^Install Ubuntu Server (safe graphics)
kernel /casper/vmlinuz
append initrd=/casper/initrd quiet autoinstall ds=nocloud-net;s=http://192.168.1.2:3003/aux-mcsbeta/
label memtest
menu label Test ^memory
kernel /install/mt86plus
label hd
menu label ^Boot from first hard disk
localboot 0x80
样品自动install.yaml
#cloud-config
autoinstall:
identity:
hostname: mcsbeta
password: $6$0DEwl5R1ymqg6L4N$LjO4rO/NWEkOk9A5aBoOk17m07fXedRdkO.gs6HA6xekTmgv0fpbNRWukUhUP.fVnSP/XD8muFzZVqtTTkBgl.
realname: ''
username: mcs
keyboard:
layout: us
variant: ''
late-commands:
- 'echo "mcs ALL=(ALL) NOPASSWD: ALL" > /target/etc/sudoers.d/mcs'
- chmod 440 /target/etc/sudoers.d/mcs
- apt-get -y install linux-headers-$(uname -r)
- cp /media/cdrom/vboxadditions/VBoxLinuxAdditions.run /target/root
- curtin in-target -t /target -- /bin/bash /root/VBoxLinuxAdditions.run --nox11;
echo 'vboxadditions installed'
locale: en_US
packages:
- avahi-daemon
- avahi-autoipd
- build-essential
ssh:
allow-pw: true
authorized-keys: []
install-server: true
storage:
config:
- grub_device: true
id: disk-sda
path: /dev/sda
ptable: gpt
type: disk
wipe: superblock-recursive
- device: disk-sda
flag: bios_grub
id: partition-0
number: 1
size: 1048576
type: partition
- device: disk-sda
id: partition-1
number: 2
size: -1
type: partition
wipe: superblock
- fstype: ext4
id: format-0
type: format
volume: partition-1
- device: format-0
id: mount-0
path: /
type: mount
version: 1
Ubuntu < 20.04
- 使用替代图像。我还没有找到让 casper / Subiquity (live) 无人值守地与 VBoX 一起工作的方法。例如19.10 Debian作品,19.10-live casper/subiquity总是会提示输入答案。除了构建自定义 ISO 之外,我还没有找到有关如何将 answers.yaml 发送到 Subiquity 安装程序的参考。
- 我发现
preseed.cfg
需要修补。除非在 late-command 中修补,否则较新的内核会导致重启时出现问题。此外,还要可靠地安装 VBoX 附加组件。late-command 示例:
d-i preseed/late_command string \
echo 'mcs ALL=(ALL) NOPASSWD: ALL' > /target/etc/sudoers.d/mcs ; \
in-target chmod 440 /etc/sudoers.d/mcs ; \
in-target update-initramfs -c -k 5.3.0-51-generic ; \
in-target update-grub ; \
in-target apt-get install -y avahi-daemon avahi-autoipd ; \
in-target apt-get -y install build-essential linux-headers-$(uname -r) ; \
in-target /bin/bash /media/cdrom/vboxadditions/VBoxLinuxAdditions.run --nox11 ; \
in-target /bin/bash -c "udevadm constrol --reload-rules" ; \
in-target /bin/bash -c "udevadm trigger" ; \
in-target usermod -a -G vboxsf "mcs" ; \
in-target apt-get install -y openssh-server
对于我的设置,我使用 python 代码来控制获取 ISO、将命令行参数化为 VBoXManage、构建和修补配置。完全无人值守 - 但识别 < 20.04 仅适用于使用较旧的 di 基础设施而非 Subiquity 的替代版本。