GRUB 부팅 순서를 어떻게 변경합니까?


336

공유 컴퓨터에 Windows 7과 Ubuntu가 모두 설치되어 있습니다. 많은 비 개발자가 Windows를 사용하기 때문에 부팅 순서를 쉽게 변경하고 싶습니다.

현재 부팅 순서는 다음과 같습니다.

  • 우분투 11.10 커널 일반 * 86
  • 우분투 11.10 커널 일반 * 86 (안전 부팅)
  • 기억력 테스트
  • 기억력 테스트
  • Windows 7 on /dev/sda6

Windows 7이 목록의 맨 위에 오도록 기본 순서를 어떻게 변경합니까?

  • Windows 7 on /dev/sda6
  • 우분투 11.10 커널 일반 * 86
  • 우분투 11.10 커널 일반 * 86 (안전 부팅)
  • 기억력 테스트
  • 기억력 테스트


grub 파일을 변경 한 후 'sudo update-grub'을 했습니까?
Tinellus 2016 년

네, 잊어 버린 것 같아요, 고마워요! 결과를 업데이트하려고합니다.
jeffery_the_wind

kubuntu 14.04 sudo apt-get install kde-config-grub2는 시스템 설정에서 시작 종료
n611x007에서

답변:


295

Grub Customizer 라고하는 사용하기 쉬운 GUI 응용 프로그램을 사용하면 좀 더 쉽게 생활 할 수 있습니다. 이름에서 알 수 있듯이 GRUB 메뉴 항목을 재정렬하는 것 이상을 할 수 있습니다.

다음을 통해 설치할 수 있습니다.

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

(Ubuntu 질문하기를 참조하십시오. PPA가 시스템에 안전하게 추가 할 수 있으며주의해야 할 "적색 플래그"는 무엇입니까? )

이에 대한 How-To Geek 기사 , Linux GRUB 2 부팅 메뉴를 쉽게 구성하는 방법이 있습니다. 관심이 있으시면 살펴보십시오. 또한 우분투 포럼, GRUB 2의 부팅 순서 변경 에서이 도구를 언급 한 해결 된 스레드가 있습니다.

스크린 샷은 다음과 같습니다.

screen_1

screen_2

screen_3


일부 문제 해결 :

Grub Customizer 설정은 최신 Linux / Ubuntu 설치 (Grub을 설치 한 것) 내에서만 작동 할 수 있습니다.

예를 들어, 누군가 두 개의 OS가 설치되어 있고 (Windows 및 Ubuntu) 세 번째 OS (Manjaro 등)를 설치 한 다음 위의 답변을 따르려고하면 두 번째 OS에서 Grub Customizer 변경 사항이 작동하지 않습니다 ( 예에서 우분투). Grub Customizer는 자신이 설치된 시스템의 설치로 생성 된 Grub 파일 만 편집 할 수있는 것처럼 보이기 때문에이 프로그램은 제 3 OS에 설치해야합니다.

Grub 부팅 메뉴를 결정하는 파일은 대부분 시스템에 최신 시스템이 설치된 상태로 제공되므로 해당 Linux 시스템 에서 Grub Customizer를 설치하고 사용해야 합니다.


4
가장 환영합니다 :) 스크린 샷은 위에 링크 된 블로그 포스트에서 나왔습니다 : P
Nitin Venkatesh

2
최신 우분투에서는 작동하지 않습니다. 여기서 업데이트 된 게시물을 얻을 수 있습니까?
AT

7
귀하의 답변이 훌륭하고 도움이된다고 생각하므로 오해하지 마십시오. GUI 도구는 깔끔하고 쉬우면서도 사실을 숨 깁니다. 아래 Marve의 답변은 사용중인 파일과 수동으로 업데이트하는 방법에 대해 설명하고 Grub 작동 방식에 대한 통찰력을 제공합니다. GUI가 실패하고 일부는 적어도 토대를 엿볼 것입니다-결국 그렇게 어렵지는 않으며 장기적으로 수동 조작이 더 쉬울 것입니다.
barrypicker

1
이 도구를 사용할 때 문제가 발생했습니다. / etc / default / grub 관련성을 업데이트하는 것처럼 보이지만 코어 덤프라고 말하고 중단되었습니다.
Mauricio Gracia Gutierrez

1
현재 레벨의 현재 그루브 메뉴와 관련된 업데이트가 필요합니다.
Hannu

243

추가 도구를 설치하지 않고도 명령 줄에서 grub 기본 부팅 항목을 변경할 수도 있습니다. 이렇게하면 목록의 순서가 변경되지 않지만 기본적으로 다른 OS가 부팅되도록 할 수 있습니다.

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

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

그런 다음 vim또는 원하는 텍스트 편집기를 사용하여 파일을 편집하십시오 .

sudo vim /etc/default/grub

포함 된 줄 찾기

GRUB_DEFAULT=0

그리고 그것을 설정

GRUB_DEFAULT=x

여기서 x기본적으로 부팅하려는 grub 메뉴 항목의 인덱스는 어디 입니까? 메뉴 항목은 인덱스가 0입니다. 즉, 목록의 첫 0번째 항목은 실제로 여섯 번째 항목입니다 5. 따라서 목록의 여섯 번째 항목으로 부팅하려면 줄에 다음과 같이 표시됩니다.

GRUB_DEFAULT=5

품목의 주문을 잊어 버린 경우를 살펴보십시오 /boot/grub/grub.cfg. 각 메뉴 항목은 다음 유형의 라인으로 지정됩니다.

menuentry 'Ubuntu' [options] {

index 대신 이름으로 기본값을 선택할 수도 있습니다. 예 :

GRUB_DEFAULT='Ubuntu'

menuentry 'Ubuntu'줄 이 있다면 /boot/grub/grub.cfg. 변경 될 수있는 항목 순서에 의존하지 않기 때문에이 방법이 더 좋습니다.

"이전 Linux 버전"하위 메뉴에서 커널을 사용하려면 다음을 사용하십시오.

GRUB_DEFAULT="Previous Linux Versions>x"

x하위 메뉴의 이전 커널 색인 또는에 표시되는 커널 이름은 어디에서나 인용 부호를 포함해야합니다 /boot/grub/grub.cfg. 예를 들어

GRUB_DEFAULT="Previous Linux Versions>4.13.0-43-generic"

그런 다음 업데이트 된 grub 메뉴를 빌드하십시오.

sudo update-grub

5
마지막으로 grub2는 많은 항목을 즉석에서 생성하여 항목에 사용할 숫자를 파악하기가 어려웠습니다.
Joe

52
인덱스를 사용하는 것은 상당히 어려울 수 있습니다-업데이트 후 OS 목록이 변경 될 수 있습니다. 그러나 /boot/grub/grub.cfg를 살펴보고 원하는 기본 OS 의 이름 을 검색 할 수 있습니다 . 그런 다음 색인 대신 따옴표로 묶은 이름을 사용하십시오. 예 : GRUB_DEFAULT="Microsoft Windows XP Professional (on /dev/sda1)"대신GRUB_DEFAULT=7
geekQ

1
현재 레벨의 현재 그루브 메뉴와 관련된 업데이트가 필요합니다.
Hannu

5
당신이 부팅 특정 커널을 선택하려면 우분투 16.04의 최신 버전으로, 당신은 추가 할 필요가 Advanced options for Ubuntu다음과 같이 하위 메뉴 :GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-34-generic'
제프 윌리엄스

1
@BandaMuhammadAlHelal 목록에있는 7 번째 항목을 부팅하려고 시도합니다. 원하는 것입니까? 6 번째 항목을 목록에 표시하려면을 사용하십시오 GRUB_DEFAULT=5.
Nick

39

로부터 tombuntu 사이트 (문서, ) :

GRUB은 /etc/default/grub파일을 사용하여 구성 할 수 있습니다 . 변경하기 전에 사본을 작성하여 백업하는 것이 좋습니다.

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

원본을 통해 백업 사본을 복원 할 수 있습니다.

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

루트 권한으로 텍스트 편집기를 사용하여 파일을여십시오.

gksu gedit /etc/default/grub

GRUB_DEFAULT=0은 GRUB이 부팅 할 첫 번째 메뉴 항목을 선택한다는 것을 의미합니다. 로 변경하십시오 GRUB_DEFAULT=saved. 이 변경으로 인해 나중에 기본 항목을보다 쉽게 ​​변경할 수 있습니다.

파일을 저장하고 닫습니다. GRUB 구성에 변경 사항을 적용하려면이 명령을 실행하십시오.

sudo update-grub

구성 변경으로 grub-set-default 및 grub-reboot 명령을 언제든지 사용할 수 있습니다. 이를 통해 기본 부팅 항목을 영구적으로 또는 다음 부팅에 대해서만 변경할 수 있습니다.

실행 grub-set-default또는 grub-reboot(로 sudo메뉴 항목의 수는 ()의 첫 번째 항목이 0) 부팅. 이 명령은 기본값을 두 번째 항목으로 변경합니다.

sudo grub-set-default 1

15
이 답변은 tombuntu.com/index.php/2011/09/25/… 에서 거의 그대로 사용됩니다 . 크레딧이 필요한 곳에 크레딧을 제공하십시오.
James McMahon

이 답변은 부팅 항목의 순서를 변경하지 않는 것 같습니다.
Sparhawk

Linux Mint Debian Edition을 사용하고 있습니다. / etc / default / grub이 없지만 수정할 GRUB_DEFAULT 값이 대신 /etc/grub.d/00_header에 있습니다. 원하는 부팅 항목 이름으로 00_header에서 GRUB_DEFAULT를 수정 한 후 "sudo update-grub"과 voila, success를 실행했습니다.
퍼지 분석

tipsonubuntu.com/2016/07/20/grub2-boot-order-ubuntu-16-04 에서 동일한 명령을 보았습니다.이 명령은 시스템에서 부팅 순서 0으로 먼저 발행 된 경우에만 작동한다는 것을 깨달았습니다.
Sun Bear

-2

나는 다음을 시도하고 좋은 결과를 얻었습니다.

터미널 창을 엽니 다 ( Ctrl+ Alt+ T).

입력 sudo gksu nautilus하고 Enter를 누르십시오. 사용자 비밀번호를 입력하십시오.

파일로 이동하십시오 /boot/grub/grub.cfg. 파일을 동일한 디렉토리에 복사하여 붙여넣고 백업 목적으로 grub.cfg 파일의 사본을 작성해야합니다. 그런 다음 grub.cfg를 두 번 클릭하여 텍스트 편집기에서 파일을여십시오.

파일에서 줄 ( set default="0")을 찾을 수 있습니다. 로드하려는 Grub의 행 번호로 0을 편집하십시오. 광산은 여섯 번째 줄이므로 첫 번째 줄은 0으로 간주되므로 5를 사용했습니다. 파일을 저장하십시오. PC를 재부팅하고 올바른 줄을 선택하면 Grub이로드 될 때 강조 표시됩니다.

행운을 빕니다


10
파일의 시작 부분에서 볼 수 있듯이이 작업을 수행해서는 안된다는 메시지가 나타납니다. 대신 편집 /etc/default/grub하고 실행하십시오 update-grub.
sazary

7
그리고 노틸러스도 사용하지 않는 것이 좋습니다. 시스템에서 폭탄을 떨어 뜨리기가 너무 쉽습니다.
sylvainulg

이 게시물을 확인하십시오 : psychocats.net/ubuntu/bootmenu
tqjustc

어떤 이유로이 답변은 "grub change boot order"를 검색 할 때 Google에서 "자동 답변"으로 표시됩니다.
lepe sep

@lepe, 내가 기본에 대해 걱정하지 않는 것은 linuxandubuntu.com/home/...
vladkras

-5

터미널 창을 열거 나 ( Ctrl+ Alt+ T) Alt+를 누릅니다 F2.

입력하고을 gksu nautilus누릅니다 Enter.

그러면 루트가 소유 한 파일을 변경할 수있는 권한으로 파일 브라우저 노틸러스가 열립니다.

파일을 탐색 /boot/grub/grub.cfg하고 두 번 클릭하여 텍스트 편집기에서 파일을여십시오.

다른 운영 체제에 속하는 해당 파일의 섹션을 잘라 내고 이동하여 붙여 넣습니다. 당신 이 잘못하면 더 이상 부팅 할 수 없으므로이 작업을 수행 할 때 매우주의 해야합니다 . Windows 부팅 디스크는 FIXMBRGRUB-MBR을 일반적인 Windows-MBR로 덮어 쓰는 Windows 설치 디스크 ( ) 의 도구로 항상 복구 할 수 있습니다 .

우분투 9.04에서 12.04까지 테스트했으며 매번 잘 작동했습니다.

그러나 Windows 부팅 섹션을 목록의 맨 위로 이동하여 기본값으로 만들려고했습니다.

메모리가 올 바르면 파일의 각 부팅 메뉴 섹션은 begin...로 시작하고 ...로 끝납니다 end. 여러 텍스트 행에 걸쳐 있습니다.

해당 파일의 텍스트가 조금 더 복잡해졌으며 이전 Ubuntu 버전에서는 이전 버전과 동일하게 보이지 않습니다. 그러므로 사용하여 실수를하지 않도록하십시오.


4
sudo update-grub어느 시점에서 달리지 않아도 됩니까?
Eliah Kagan

4
/boot/grub/grub.cfg설치 / 업데이트 할 때마다 Grub 업데이트를 트리거하여 효과적으로 호출 update-grub합니다. 그리고 그것은 새로운을 생성합니다 grub.cfg. 따라서 Grub 구성 /etc은 다른 답변에서 설명하는 것처럼 디렉토리의 파일에서 수행되어 영구적입니다.
gertvdijk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.