我正在尝试进行完全自动化的 ubuntu 预置安装。我陷入困境,因为我无法在 /dev/sda 以外的设备上预置安装 grub 的答案,而无需手动按“enter”继续安装。
它说:
[!] 在硬盘上安装 Grub 引导加载程序
并正确选择了我尝试安装引导加载程序的设备,但仍需要我手动按回车键。
您可以在此处看到它的图像:
https://i.stack.imgur.com/paqyU.png
我已经在预置中尝试了以下值的各种组合,它们都具有相同的最终结果:
# Option 1 (works when installing to /dev/sda. Prompts with sdm)
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
# Option 2
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i grub-installer/bootdev string /dev/sdm
# Option 3
d-i grub-installer/only_debian boolean false
d-i grub-installer/with_other_os boolean false
d-i grub-installer/bootdev string /dev/sdm
# Option 2
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i grub-installer/bootdev string /dev/sdm
I've also tried adding the following:
d-i grub-pc/install_devices multiselect /dev/sdm
无论这些设置如何,我都会收到提示。
我在安装过程中将日志设置为详细模式。当我停止并出现以下提示时,日志会显示以下内容:
Dec 9 07:30:35 debconf: --> SET grub-installer/bootdev /dev/sdm
Dec 9 07:30:35 debconf: <-- 0 value set
Dec 9 07:30:35 debconf: --> PROGRESS STEP 1
Dec 9 07:30:35 debconf: <-- 0 OK
Dec 9 07:30:35 debconf: --> PROGRESS INFO grub-installer/progress/step_bootdev
Dec 9 07:30:35 debconf: <-- 0 OK
Dec 9 07:30:35 debconf: --> INPUT critical grub-installer/bootdev
Dec 9 07:30:35 debconf: <-- 0 question will be asked
Dec 9 07:30:35 debconf: --> GO
如果我按下回车键并且安装继续,它将继续进行:
Dec 9 07:30:35 debconf: --> SET grub-installer/bootdev /dev/sdm
Dec 9 07:30:35 debconf: <-- 0 value set
Dec 9 07:30:35 debconf: --> PROGRESS STEP 1
Dec 9 07:30:35 debconf: <-- 0 OK
Dec 9 07:30:35 debconf: --> PROGRESS INFO grub-installer/progress/step_bootdev
Dec 9 07:30:35 debconf: <-- 0 OK
Dec 9 07:30:35 debconf: --> INPUT critical grub-installer/bootdev
Dec 9 07:30:35 debconf: <-- 0 question will be asked
Dec 9 07:30:35 debconf: --> GO
Dec 9 07:37:20 debconf: <-- 0 ok
Dec 9 07:37:20 debconf: --> GET grub-installer/bootdev
Dec 9 07:37:20 debconf: <-- 0 /dev/sdm
Dec 9 07:37:20 debconf: --> PROGRESS STEP 1
Dec 9 07:37:20 debconf: <-- 0 OK
Dec 9 07:37:20 debconf: --> SUBST grub-installer/progress/step_install_loader BOOTDEV /dev/sdm
Dec 9 07:37:20 debconf: Adding [BOOTDEV] -> [/dev/sdm]
Dec 9 07:37:20 debconf: <-- 0
Dec 9 07:37:20 debconf: --> PROGRESS INFO grub-installer/progress/step_install_loader
Dec 9 07:37:20 debconf: <-- 0 OK
Dec 9 07:37:20 grub-installer: info: Installing grub on '/dev/sdm'
Dec 9 07:37:20 grub-installer: info: grub-install supports --no-floppy
Dec 9 07:37:20 grub-installer: info: Running chroot /target grub-install --no-floppy --force "/dev/sdm"
Dec 9 07:37:22 grub-installer: Installation finished. No error reported.
Dec 9 07:37:22 grub-installer: info: grub-install ran successfully
...
我不太清楚提示到底是什么。是这个吗?
Dec 9 07:37:20 debconf: <-- 0 ok
如果这样,我该如何输入“ok”?
任何帮助是极大的赞赏。
答案1
在你的预置文件的更高位置,应该出现这一行:
d-i debconf/priority string critical
这应该确保只提出“关键”问题
仅此一行似乎就足以为引导加载程序提供足够的信息/dev/sda
;
根据您的需要进行修改
d-i grub-installer/bootdev string /dev/sda
至于您的另一个问题,行 <- 0 ok 仅仅是一个返回值(成功);您可以忽略它。
希望这可以帮助。
答案2
如果我能找到如何自动回答“是”这个问题,我也会很高兴,这意味着我对它的任何建议都感到满意。通常它与您用来分区和安装操作系统的方法相同(partman 使用的设备)。
对于 Stephen 的问题。如果您可以硬编码安装 grub 的位置。如果这不起作用:
d-i grub-installer/bootdev string /dev/sdb
尝试:
grub-pc grub-pc/install_devices string /dev/sdb
我希望找到如何自动回答 grub 问题为“是”,而无需输入 grub 安装位置的静态名称。只需自动按回车键即可。