고정 부팅 메뉴에서 Ubuntu를 강제로 부팅하려면 어떻게해야합니까?


31

Ubuntu Server 11.04가 있지만 헤드리스입니다 (모니터 없음). 내가 액세스 할 수있는 유일한 방법은 SSH를 통한 원격입니다. 그러나 때때로 전원이 꺼진 후 서버가 다시 시작되면 Grub 부팅 메뉴에 멈추어 카운트 다운되지 않습니다. 첫 번째 부팅 항목을 선택할 때까지 기다리면 중단됩니다. 이것은 거기에 가서 모니터와 키보드를 연결해야 함을 의미합니다.

그러나 나는 그것을 원격으로 할 수 없습니다. 전원 손실 또는 기타 사항에 관계없이 부트 항목 1 (기본값)로 강제 부팅을 계속하려면 어떻게해야합니까?

답변:


10

이것에 대한 답은 grub 파일에서 찾을 수 있습니다 /etc/grub.d/00_header

make_timeout ()
{
    cat << EOF
if [ "\${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=${2}
fi
EOF
}

시간 초과 값을 -1로 설정하면 카운트 다운이 중지됩니다. 값을 0보다 큰 값으로 변경하십시오. 즉set timeout=10

파일의이 부분은

make_timeout ()
{
    cat << EOF
if [ "\${recordfail}" = 1 ]; then
  set timeout=10
else
  set timeout=${2}
fi
EOF
}

그런 다음 실행

sudo update-grub2

감사. 검색 할 때 여러 개의 "recordfail"행을 볼 수 있으므로 파일의 "make_timeout"섹션에 해당됩니다. 그렇다면 두 번째 "set timeout"옵션을 그대로 두십시오 ( "else"라고 표시)?
nLinked

정답-명확하게하기 위해 답변을 업데이트하겠습니다
fossfreedom

sudo shutdown now -r을 실행했지만 시스템을 핑 (ping)하고 수동으로 시스템을 껐다가 다시 켰을 때 시스템이 온라인 상태로 돌아 오지 않은 것을 확인한 경우, 시스템이 중단 된 이유를 확인할 수있는 곳이 있습니까?
nLinked

그럽에 다시 붙어 있습니까? 아니면 그냥 셧다운 했습니까? 물건을 쓰는 두 개의 파일이있는 사람 "종료"를하십시오.
fossfreedom

3
나는 생각 GRUB 패키지가 업데이트를받을 경우 덮어 쓰기 때문에이 솔루션을 영구적으로하지 않습니다. "GRUB_RECORDFAIL_TIMEOUT"을 사용하는 "다른 솔루션"이 더 적합합니다. 따라서이 솔루션을 정중하게 하향 조정하고 다른 솔루션을 상향 조정했습니다.
rik-shaw

36

Ubuntu 12.04부터 더 간단하지만 문서화되지 않은 솔루션은 레코드 실패 시간 초과 /etc/default/grub를 재정의하는 데 사용 하는 것입니다 .

GRUB_TIMEOUT=10
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

그러한 옵션이 완전히 문서화되어 있지 않다는 사실은 너무 나쁩니다.

편집하다

실제로 버전에 대한 지원 GRUB_RECORDFAIL_TIMEOUT은 12.04 사이클 중반에 추가되었습니다 1.99-21ubuntu3.3.

  grub2 (1.99-21ubuntu3.3) precise-proposed; urgency=low

[ Ben Howard ]
* Parameterization of recordfail setting. This allows users to define the
  default time out of GRUB when recordfail has been set. The curren
  setting causes hangs on headless and appliances where access to the
  console is limited or prohibited.  (LP: #669481)  [1]

-- Louis Bouchard <louis.bouchard@canonical.com>  Tue, 21 Aug 2012 10:51:58 +0200

LaunchPad의 자세한 정보 .


변경 후 update-grub업데이트 된 /boot/grub/grub.cfg파일 을 생성하기 위해 실행
콜트
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.