Ubuntu Server 16.04 从预置和 kickstart 安装后启动时出现黑屏

Ubuntu Server 16.04 从预置和 kickstart 安装后启动时出现黑屏

我目前正在尝试使用预置文件和 kickstart 文件在 Intel UP² 主板上执行 Ubuntu Server 16.04 的无人值守安装。

目前,我并没有真正关注安装的无人值守方面。我只想使用 preseed 和 kickstart 安装操作系统。我设法让 ISO 工作,但一旦安装了 Ubuntu Server,我就无法启动它。我甚至看不到 GRUB 屏幕,我得到的是一个黑屏,我在那里停滞不前。我尝试按 Ctrl+Alt+F1 到 F9 来打开我的一个 tty,但它什么也没做。

为了创建 ISO 并刻录 USB,我受到了以下启发:邮政。现在我将一步一步地向你们展示我到底做了什么。

在此之前,让我告诉你,新的 Intel UP² 主板似乎无法处理 MBR 安装,所以我的 USB 密钥必须是 EFI 可启动的。(我不确定我们是不是这样说的,如果我错了,请纠正我)

假设我有一个位于 ~/Downloads 的 Ubuntu Server ISO:

# mount original ISO
sudo mount -o loop ~/Downloads/ubuntu-16.04.5-server-amd64.iso /mnt/iso

# copy data 
sudo cp -rT /mnt/iso /opt/ubuntuiso

现在我有一个文件夹,里面有制作 ISO 所需的一切。我正在使用这个预置文件 (ks.preseed)

d-i partman-auto/method string lvm
d-i partman-auto-lvm/guided_size string max
d-i partman-auto/choose_recipe select atomic
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/confirm_write_new_label     boolean true
d-i partman/choose_partition            select  finish
d-i partman/confirm_nooverwrite         boolean true
d-i partman/confirm                     boolean true
d-i partman-auto/purge_lvm_from_device  boolean true
d-i partman-lvm/device_remove_lvm       boolean true
d-i partman-lvm/confirm                 boolean true
d-i partman-lvm/confirm_nooverwrite     boolean true
d-i partman-auto/init_automatically_partition       select      Guided - use entire disk and set up LVM
d-i partman/choose_partition                select      Finish partitioning and write changes to disk
d-i partman-auto-lvm/no_boot            boolean true
d-i partman-md/device_remove_md         boolean true
d-i partman-md/confirm                  boolean true
d-i partman-md/confirm_nooverwrite      boolean true

这个 kickstart 文件 (ks.cfg)

#Generated by Kickstart Configurator
#platform=x86

#System language
lang en_US
#Language modules to install
langsupport en_US
#System keyboard
keyboard fr
#System mouse
mouse
#System timezone
timezone Europe/Paris
#Root password
rootpw --disabled
#Initial user
user eb --fullname "Laia001" --iscrypted --password $1$uPBQ18Zj$ye8BIWTa7eOWVgdhtQQ8b0
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use CDROM installation media
cdrom
#System bootloader configuration
#bootloader --location=partition
#Clear the Master Boot Record
#zerombr yes
#Partition clearing information
#clearpart --all --initlabel
#System authorization infomation
auth  --useshadow  --enablemd5
#Network information
network --bootproto=dhcp --device=enp2s0
#Firewall configuration
firewall --disabled
#Do not configure the X Window System
skipx
%packages
@ ubuntu-server
openssh-server

这个 grub 配置文件(grub.cfg):

if loadfont /boot/grub/font.pf2 ; then
    set gfxmode=auto
    insmod efi_gop
    insmod efi_uga
    insmod gfxterm
    terminal_output gfxterm
fi

set timeout=10
set default=0

menuentry "Automatically Install Ubuntu Server with Custom Config" {
    set gfxpayload=keep
    linux   /install/vmlinuz  file=/cdrom/preseed/ubuntu-server.seed quiet ks=cdrom:/ks.cfg preseed/file=/cdrom/ks.preseed --
    initrd  /install/initrd.gz
}
menuentry "OEM install (for manufacturers)" {
    set gfxpayload=keep
    linux   /install/vmlinuz  file=/cdrom/preseed/ubuntu-server.seed quiet oem-config/enable=true --
    initrd  /install/initrd.gz
}
menuentry "Multiple server install with MAAS" {
    set gfxpayload=keep
    linux   /install/vmlinuz  modules=maas-enlist-udeb vga=788 initrd=/install/initrd.gz quiet --
    initrd  /install/initrd.gz
}
menuentry "Check disc for defects" {
    set gfxpayload=keep
    linux   /install/vmlinuz  MENU=/bin/cdrom-checker-menu quiet --
    initrd  /install/initrd.gz
}
menuentry "Rescue a broken system" {
    set gfxpayload=keep
    linux   /install/vmlinuz  rescue/enable=true --
    initrd  /install/initrd.gz
}

假设所有先前的文件都位于 ~/newIsoFiles 中:

# copy data into ISO folder
sudo cp ~/newIsoFiles/ks.* /opt/ubuntuiso/ubuntu
sudo cp ~/newIsoFiles/grub.cfg /opt/ubuntuiso/boot/grub/

# create ISO
sudo xorriso -as mkisofs -V "Unattended Server" -no-emul-boot -boot-load-size 4 -boot-info-table -iso-level 4 -b isolinux/isolinux.bin -c isolinux/boot.cat -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -o /tmp/ubuntu16-server-unattended-install.iso /opt/ubuntuiso/

# treat ISO to make it bootable
sudo isohybrid --uefi /tmp/ubuntu16-server-unattended-install.iso

# Finally, burn it on USB
sudo dd if=/tmp/ubuntu16-server-unattended-install.iso of=/dev/sdb bs=4k

之后,我只需将 USB 插入 UP² 板并安装所有东西即可。在最终重启之前,一切似乎都运行正常,之后我得到一个黑屏,甚至看不到 GRUB 屏幕。

有人能看到我做错什么了吗?

相关内容