Debian
update-grub2 創建 grub.cfg.new 而不是 grub.cfg
當我
update-grub2
在我的 Debian Buster 伺服器上執行時,它不是創建 agrub.cfg
它而是創建一個grub.cfg.new
,即使grub.cfg
它不存在。正因為如此,我的機器啟動到一個損壞的 grub 中,因為它找不到
grub.cfg
.有沒有辦法告訴
update-grub2
創建grub.cfg
而不是grub.cfg.new
.
我
grub-mkconfig -o /boot/grub/grub.cfg
使用 Ansible 執行,它創建了相同的 .new 擴展。但是當我使用時
grub-mkconfig > /boot/grub/grub.cfg
,它執行成功並創建了grub.cfg
.
-o
可能不一樣>
。在@oldfred 的評論之後查看原始碼,發現擴展是在一個或多個文件
.new
中出現錯誤時創建的。見這裡:/etc/default/grub``/etc/grub.d/*
if test "x${grub_cfg}" != "x" ; then if ! ${grub_script_check} ${grub_cfg}.new; then # TRANSLATORS: %s is replaced by filename gettext_printf "Syntax errors are detected in generated GRUB config file. Ensure that there are no errors in /etc/default/grub and /etc/grub.d/* files or please file a bug report with %s file attached." "${grub_cfg}.new" >&2 echo >&2 exit 1 else # none of the children aborted with error, install the new grub.cfg mv -f ${grub_cfg}.new ${grub_cfg} fi fi
你可以
grub-mkconfig -o /boot/grub2/grub.cfg
改用。