阻止 ubuntu 安装时选择语言

阻止 ubuntu 安装时选择语言

我想从 USB 驱动器中完全无人值守地安装 Ubuntu Server 14.04ubuntu-14.04.2-server.iso

/syslinux/txt.cfgUSB 驱动器中,我添加了以下部分

menu label ^Unattended Ubuntu Server installation
kernel /install/vmlinuz
append noprompt cdrom-detect/try-usb=true auto=true priority=critical url=http://website.com/preseed.cfg vga=788 initrd=/install/initrd.gz quiet --

但是当我尝试它时,甚至在这个菜单出现之前,我就必须选择一种语言(因此迫使我通过按 进行手动干预enter)。

我找到了一个类似的问题它建议的地方echo en >syslinux/langlist,但我仍然得到语言选择菜单(只有一项)。

我怎样才能避免这种干预?

答案1

执行 py4on 建议的操作只会缩短可用语言列表(达到只有一个元素的程度:)en,但不会自动执行语言选择。它可能适用于旧版本的 Ubuntu,但要求是 Ubuntu Server 14.04。在 16.04 中,以下说明可能会更改为isolinuxisolinux.cfg而不是syslinux取决于您创建媒体的方式。

为了避免在语言选择菜单中出现这种干预,应将 选项timeout设置syslinux为严格正值。在指定的超时时间后,将选择默认语言并syslinux选择 的默认启动项。timeout的参数syslinux表示以十分之一秒为单位的时间,默认值为0,对应于“无限超时”。

因此,可以设置为在继续使用默认值之前timeout 10等待。放置参数的最佳位置是在 中。例如:syslinux1 secondsyslinux/syslinux.cfg

echo "timeout 10" >> syslinux/syslinux.cfg

为了使用与 不同的语言en,我建议按照 py4on 的建议进行操作,仅在syslinux/langlist文件中保留所选语言。例如:

echo "fr" > syslinux/langlist

参考:

答案2

在创建 ISO 之前,请按照下面链接中列出的步骤进行操作 - 我自己已经完成了此操作。对于预选语言,具体执行以下操作:

# cd /opt/ubuntuiso
# echo en >isolinux/lang

来源:https://askubuntu.com/a/122506

答案3

我一直在寻找一种方法来做同样的事情,直到现在才找到答案。

我只在 Ubuntu 16.04 上尝试过此操作,但我怀疑大多数 Ubuntu 版本的答案都是相同的 - 该/isolinux文件夹可能/syslinux适用于我怀疑的某些版本。

诀窍是修改该/isolinux/bootlogo文件,该文件是未压缩的 cpio 存档。

您需要做的是将安装程序 CD 映像提取到一个目录(我将其称为 )${CDDIR}。然后创建一个临时文件夹,我们将在其中存储bootlogo文件内容,对其进行更改,然后:

将原始bootlogo文件解压到当前文件夹:

cat ${CDDIR}/isolinux/bootlogo | cpio --extract --make-directories --no-absolute-filenames

删除所有非英文文件:

ls *.hlp *.tr | grep -v "^en\." | xargs rm

仅在语言列表中保留“en”:

echo "en" > langlist

自动选择“en”作为语言选择:

echo "en" > lang

之后,我使用以下命令创建新的 bootlogo 文件:

find . | cpio -o > /tmp/bootlogo.new

之后 - 您可以将其复制/tmp/bootlogo.new到提取 ISO 的目录,覆盖原始bootlogo文件:

cp /tmp/bootlogo.new ${CDDIR}/isolinux/bootlogo

现在从${CDDIR}内容重建您的图像,您不应该再获得语言选择。

我受到这篇文章的启发,它自定义了启动屏幕:https://askubuntu.com/questions/412707/splash-screen-before-ubiquity-install

相关内容