“이전”커널을 기본 grub 항목으로 설정


93

테스트 목적으로 메인 라인 커널을 설치했습니다. 기본적으로 이전 커널에서 부팅하도록 grub을 설정하고 싶습니다.

GRUB_DEFAULT=0grub의 첫 페이지 설정을 설정할 수 있지만 두 번째 페이지 (고급 페이지)의 한 커널에서 기본적으로 부팅하도록 설정하는 방법을 알고 있습니까?

다른 소프트웨어 (예 : grub-customizer)를 설치하지 않고이 작업을 선호합니다.

관련 질문 :
부트 로더에서 Windows를 기본값으로 부팅하도록 설정하는 방법
GRUB 부팅 순서를 어떻게 변경합니까?


3
@belacqua : 중복되지 않습니다. 이 질문은 grub의 첫 번째 옵션 페이지에 존재하지 않는 이전 커널을 기본값으로 설정하는 것에 관한 것입니다.
수행하려면

이 경우 12.10, 이전 커널 등을 위해 메소드를 업데이트해야하더라도 이전 질문에서 다루어야 할 것 같습니다.
belacqua

3
질문의 사용 사례는 다르며 답변은 주장 된 다른 사본에는 적용되지 않는 방식으로 매우 구체적입니다. 이 문제를 해결하기 위해 여기에 왔습니다. 부팅 순서를 변경하지 마십시오. Windows를 부팅 할 수도 없습니다. "중복이 아님"+1
Robie Basak

답변:


128

먼저의 백업 사본을 만드십시오 /etc/default/grub. 문제가 발생하면 알려진 사본으로 쉽게 되돌릴 수 있습니다.

sudo cp /etc/default/grub /etc/default/grub.bak

그런 다음 원하는 텍스트 편집기 (예 : gedit 등)를 사용하여 파일을 편집하십시오.

sudo -H gedit /etc/default/grub

포함 된 줄을 찾으십시오 GRUB_DEFAULT-이것이 기본값을 설정하기 위해 편집하려는 것입니다. 예를 들어 Ubuntu, with Linux 3.13.0-53-generic"고급 메뉴"의 전체 이름과 함께 원하는 커널의 전체 이름을 알고 있어야합니다 Advanced options for Ubuntu.

그런 다음이 두 문자열을 결합하여 다음 >과 같이 설정 GRUB_DEFAULT하십시오 GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 3.13.0-53-generic"(따옴표 포함).

저장 한 다음 업데이트 된 그럽 메뉴를 빌드하십시오.

sudo update-grub

참조 : GNU GRUB 수동 2.02 또는 더 구체적으로 섹션 15.1.0을 기본 설정에 .


참고 : 커널과 메뉴에 액세스하기 위해 숫자를 사용하는 방법이 있지만 커널 업데이트가 발생할 때는 신뢰할 수 없으므로 권장되지 않습니다.


24
업데이트 할 때 숫자 값을 사용하면 문제가 발생할 수 있습니다. 텍스트 기본값을 사용하는 것이 좋습니다. 예 : GRUB_DEFAULT = "리눅스 3.2.0-18-generic이있는 우분투"
Bealer

27
하나는 사용 sudo grub-mkconfig | less가능한 모든 옵션을 볼 수
NITZ

9
이것은 좋은 해결책이지만, 심지어 더 나은를 여는 것입니다 /boot/grub/grub.cfg거기 당신은 모든 볼 manuentry모든를 submenus. 편집하면 기본 설정을 쉽게 설정하고 컴퓨터를 다시 시작할 때 그룹 목록에서 옵션 제목을 변경할 수도 있습니다.
Aleks

7
/boot/grub/grub.cfg사용할 정확한 이름을 결정 하기 위해 검사 하는 것이 확실히 유용 합니다. 그러나이 파일은 update-grub패키지 업데이트를 포함하여에 의해 자동으로 재생성되므로이 파일을 변경하지 마십시오 .
Robie Basak

18
GRUB_DEFAULT의 형식은 약간 구식입니다 (최소한 Ubuntu 14.04.2부터). 실행 update-grub중 경고 Previous Linux versions>Ubuntu, with Linux 3.13.0-53-generic가 표시됨 : GRUB_DEFAULT에 이전 제목 을 사용하지 마십시오 Advanced options for Ubuntu>Ubuntu, with Linux 3.13.0-53-generic(2.00 이전 버전의 경우) 또는 gnulinux-advanced-b0ce60c3-184c-453b-af59-419b56a2584f>gnulinux-3.13.0-53-generic-advanced-b0ce60c3-184c-453b-af59-419b56a2584f(2.00 이상)
Wumms

22

나에게 가장 좋은 해결책은 (in /etc/default/grub) 을 설정하는 것이 었습니다 .

 GRUB_DEFAULT=saved
 GRUB_SAVEDEFAULT=true

이 설정을 사용하면 다음에 부팅 할 때 마지막으로 선택한 값이 유지됩니다. 새로운 커널이 있다면 설정을 편집 할 필요가 없습니다.

다시 실행하는 것을 잊지 마십시오 sudo update-grub

해결책은 다음과 같습니다. info grub-mkconfig


4
이것은 굉장하다
Mephisto

;줄 끝에 세미콜론 ( ) 이 확실 합니까?!?
DJCrashdummy

현재이 컴퓨터를 사용한 컴퓨터를 볼 수는 없지만 ";" 잘못되었거나 불필요한 것 같습니다!
Martin T.

21

이제 것을 Advanced메뉴는 우분투의 기본이며, 당신은 당신이 사용하고자하는 커널 전에 선택해야합니다 >문자.

예를 들면 :

GRUB_DEFAULT="1>7"

/etc/default/grub다시 실행하십시오 sudo update-grub.

GRUB 메뉴 항목의 번호는로 시작한다는 점에 유의해야합니다 0. 따라서 1위의 Advanced메뉴를 가리 킵니다 . 예방책으로 처음에을 설정하는 것이 GRUB_TIMEOUT=5좋습니다. 부팅 할 때 키를 눌러 GRUB에 액세스하지 못할 수 있습니다. 실수로 Memory test대신 다른 것을 가리킬 경우를 대비 한 안전망 입니다. 위의 숫자를 따옴표로 묶어야합니다. 그렇지 않으면 작동하지 않습니다.

16.04 LTS에서 테스트했습니다.


데비안에서도 작동합니다.
Lawrence D' Oliveiro

커널 업데이트 후에도 여전히 최신 커널을 가리 키므로이 답변은 매우 유용합니다. 예를 들어 내 설정에서 1> 0은 고급 우선 목록입니다 (항상 최신 커널 임). 내 시스템은 때때로 최신 커널로 grub의 0 항목을 자동으로 업데이트하지 않기 때문에이 방법을 사용합니다.
Peter Fleix

9

기본값으로 사용할 부팅 옵션을 설정하려면 무엇이 있는지 알아야합니다.

실제로 부팅하지 않고 메뉴 항목을 표시하려면 다음과 같이 시도하십시오.

$ lsb_release -s -rdc
우분투 16.04.4 LTS
16.04
제니 얼

$ update-grub --version
grub-mkconfig (GRUB) 2.02 ~ beta2-36 우분투 3.17

$ grep -Ei '하위 메뉴 | 메뉴 항목'/boot/grub/grub.cfg | sed -re "s / (.?) '([^'] +) '. * / \ 1 \ 2 /"
메뉴 항목 우분투
하위 메뉴 Ubuntu의 고급 옵션
    Linux 4.4.0-34-generic이있는 menuentry Ubuntu
    menuentry Ubuntu, Linux 4.4.0-34-generic (시작)
    menuentry Ubuntu, Linux 4.4.0-34-generic (복구 모드)
menuentry 시스템 설정

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