마지막으로 부팅 한 OS를 기억하도록 Grub을 구성 할 수 있습니까?


17

부팅 메뉴에 일반적으로 2-3 개의 OS가 있습니다.

  • 우분투 10.04
  • 윈도우 7
  • [때로는 Ubuntu 10.04 Netbook과 같은 세 번째 옵션]

기본 선택 이외의 OS (이 경우 Windows 7) 이외의 OS에 있고 재부팅하면 Grub이 Ubuntu 10.04로 부팅됩니다. Windows 7에서 재부팅 할 때 Windows 7을 유지하고 싶습니다. 마지막 선택 사항을 기억하도록 Grub을 구성하고 부팅 할 수있는 방법이 있습니까?

또는 재부팅 할 때 Grub 만이 작업을 수행 한 경우 (컴퓨터를 처음 켤 때가 아님)가 더 좋습니다. 나는 이것이 가능하지 않을 수도 있다는 것을 알고 있으므로 간단한 마지막 선택 기억에 만족합니다.

답변:


20

원래 Grub에서는 /boot/grub/menu.lst 에서 기본 키워드를 "saved" 로 설정 한 다음 각 부팅 메뉴 항목에서 savedefault 키워드 를 사용 하여이 작업을 수행 합니다.


업데이트 :
Grub2가 조금 더 복잡합니다. Ubuntu 9.10과 10.04는 모두 Grub2를 사용하지만 재미있는 점을 만들기 위해 물건을 포장하고 구성하는 방법에 충분한 차이가 있습니다.

savedefault 트릭 을 수행하는 방법은 다음과 같습니다 .

  • 우분투 10.04 :
    9.10 방향은 속임수입니다. Lucid가 훨씬 간단합니다. 자세한 내용은 Ubuntu의 도움말 을 참조하십시오. / etc / default / grub 에서 두 가지를 변경해야합니다 .

    1. 읽어 줄 변경 GRUB_DEFAULT=0에를GRUB_DEFAULT=saved

    2. 라인 추가 GRUB_SAVEDEFAULT=true

    그게 다야. 실제로 그렇게 나쁘지 않습니까? 실행하는 것을 잊지 마십시오 sudo update-grub.

  • 우분투 9.10 :
    우분투 포럼에는이 기능을 사용하기위한 몇 가지 해킹이 있습니다. 분명히 savedefault 키워드는 Grub v1.97에서 버그였습니다. Ubuntu 포럼에 대한 이 게시물 은 한 가지 방법을 제공합니다. 또 다른 게시물은 약간 더 간단한 방법을 제안 합니다.

    1. 설정 GRUB_DEFAULT이 저장 = 에서 의 / etc / 기본 / 애벌레 .

    2. 이 두 줄을 /etc/grub.d/40_custom에 넣으십시오 ( "exec tail" 줄 뒤의 하단 근처 ).

      saved_entry=${chosen}
      save_env saved_entry
      

    우분투 9.10 에서이 방법을 테스트했으며 작동합니다. 다음 부팅시 마지막으로 선택한 항목이 자동으로 강조 표시됩니다. 타임 아웃과 결합하면 마지막으로 부팅 한 OS로 자동 부팅됩니다.

그리고 실행하는 것을 잊지 마십시오 sudo update-grub. 변경이 끝나면 중요하고 당황스럽게 잊어 버리는 것이 중요합니다 ....


Grub은 재부팅콜드 부팅 과 구별 할 수있는 방법이 없으므로 Grub은 재부팅 자체로는이를 수행 할 수 없습니다. 그러나 Linux로 부팅하는 경우 sudo grub-set-default N(여기서 N은 0부터 시작하는 부팅 메뉴 항목의 번호 임)를 사용하여 다음에 부팅 할 때 항목 N을 선택하도록 설정할 수 있습니다 (저장된 항목 대신).

이론적으로 리눅스를 종료하라는 명령을했을 때 grub-set-default 를 실행 하는 종료 루틴 ( 어쩌면 Upstart 스크립트 )에 연결된 것을 해킹 할 수있다 . 그러나 Windows를 종료 할 때 동일한 기능을 사용할 수 없습니다.

FAT32 또는 NTFS / 부팅 파티션에 Grub을 설치하는 Grub4DOS 또는 Grub1 기술에 대해 들었습니다. Windows에서 grub-set-default 를 실행할 수도 있으므로 Windows 로그 오프 스크립트에서 호출 할 수 있습니다. 내가 그것에 대해 마지막으로 본 것은 Grub2에서는 불가능했습니다. 지금까지 변경되었을 수 있습니다.


솔루션 # 2가 저에게 효과가없는 것 같습니다. / etc / default / grub을 편집하고 /etc/grub.d/40_custom을 편집하고 실행했습니다 sudo update-grub. Windows 7로 부팅 한 다음 컴퓨터를 껐다가 다시 켜서 테스트했습니다. 우분투 10.04 (기본값)가 여전히 선택되었습니다. 또한 "saved"대신 "saved_entry"를 / etc / default / grub에 넣으려고 시도했지만 (grub 구성 스크립트가 어떻게 작동하는지 확실하지 않음) 도움이되지 않았습니다. 아직 솔루션 # 1을 시도하지 않았습니다.
Matthew

@Matthew : /etc/grub.d/40_custom이 실행 가능한지 다시 확인하십시오 (sudo chmod + x가 아닌 경우). 그러나 예, 방금 Ubuntu 10.04 컴퓨터에서 시도했지만 작동하지 않습니다. 이유를 확인하는 중 ...
퀵 퀵소트

@ 매튜 : 알았어. 죄송합니다. Lucid와 Karmic이 다른 점을 알고 있어야합니다. (오. 그리고 당신이 실행 있는지 확인하십시오 sudo update-grub.)
quack quixote

3

이 게시물 은 아마도 여러분에게 유용 할 것입니다. 10.04와 9.10은 동일한 GRUB 버전을 사용하므로 상황이 정확히 동일해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.