此页面的目的是提供在您机器上的 VM 中执行自动安装的简单说明。
此页面假设您使用的是 amd64 架构。s390x也有一个版本。
这种方法是最容易推广到完全基于网络的安装的方法,在这种安装中,机器会进行网络引导,然后自动安装。
转到20.04 ISO 下载页面并下载最新的 Ubuntu 20.04 实时服务器 ISO。
sudo mount -r ~/Downloads/ubuntu-20.04-live-server-amd64.iso /mnt
这意味着创建 cloud-init 配置如下:
mkdir -p ~/www
cd ~/www
cat > user-data << 'EOF'
#cloud-config
autoinstall:
version: 1
identity:
hostname: ubuntu-server
password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
username: ubuntu
EOF
touch meta-data
加密的密码只是“ubuntu”。
让它在一个终端窗口中运行:
cd ~/www
python3 -m http.server 3003
truncate -s 10G image.img
kvm -no-reboot -m 1024 \
-drive file=image.img,format=raw,cache=none,if=virtio \
-cdrom ~/Downloads/ubuntu-20.04-live-server-amd64.iso \
-kernel /mnt/casper/vmlinuz \
-initrd /mnt/casper/initrd \
-append 'autoinstall ds=nocloud-net;s=http://_gateway:3003/'
这将启动,从上一步中设置的服务器下载配置并运行安装。安装程序最后会重新启动,但是 kvm 的 -no-reboot 标志意味着 kvm 将在发生这种情况时退出。大约需要 5 分钟。
kvm -no-reboot -m 1024 \
-drive file=image.img,format=raw,cache=none,if=virtio
这将引导到新安装的系统,您应该能够以 ubuntu/ubuntu 身份登录。
当您想要创建可以插入系统进行安装的媒体时,可以使用这种方法。
转到20.04 ISO 下载页面并下载最新的 Ubuntu 20.04 实时服务器 ISO。
mkdir -p ~/cidata
cd ~/cidata
cat > user-data << 'EOF'
#cloud-config
autoinstall:
version: 1
identity:
hostname: ubuntu-server
password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
username: ubuntu
EOF
touch meta-data
加密的密码只是“ubuntu”。
sudo apt install cloud-image-utils
cloud-localds ~/seed.iso user-data meta-data
truncate -s 10G image.img
kvm -no-reboot -m 1024 \
-drive file=image.img,format=raw,cache=none,if=virtio \
-drive file=~/seed.iso,format=raw,cache=none,if=virtio \
-cdrom ~/Downloads/ubuntu-20.04-live-server-amd64.iso
这将引导并运行安装。除非您中断引导以将“自动安装”添加到内核命令行,否则安装程序将在接触磁盘之前提示确认。
安装程序最后会重新启动,但是 kvm 的 -no-reboot 标志意味着 kvm 将在发生这种情况时退出。
整个过程大约需要 5 分钟。
kvm -no-reboot -m 1024 \
-drive file=image.img,format=raw,cache=none,if=virtio
这将引导到新安装的系统,您应该能够以 ubuntu/ubuntu 身份登录。