update-grub2는 grub.cfg 대신 grub.cfg.new를 생성합니다.

update-grub2는 grub.cfg 대신 grub.cfg.new를 생성합니다.

update-grub2Debian Buster 서버에서 실행 하면 생성하는 대신 존재하지 않는데 도 grub.cfg생성됩니다 .grub.cfg.newgrub.cfg

따라서 내 컴퓨터는 손상된 그럽을 찾을 수 없기 때문에 부팅됩니다 grub.cfg.

대신 update-grub2create를 알릴 수 있는 방법이 있나요 ?grub.cfggrub.cfg.new

답변1

대신 이것을 사용할 수 있습니다 grub-mkconfig -o /boot/grub2/grub.cfg.

답변2

나는 grub-mkconfig -o /boot/grub/grub.cfgAnsible로 실행했고 동일한 .new 확장자를 만들었습니다.

하지만 사용하면 grub-mkconfig > /boot/grub/grub.cfg성공적으로 실행되고 생성됩니다 grub.cfg.

-o다를 수도 있습니다 >.

@oldfred 님의 댓글 이후 소스코드를 보면 .newor 파일에 오류가 발생하면 확장자가 생성되는 것을 볼 수 있습니다. 바라보다/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

관련 정보