이전 커널 버전으로 부팅하려면 어떻게해야합니까?


55

최신 커널이 내 소리에 문제를 일으켜 이전 버전에서 제대로 작동했습니다. Ubuntu 만 설치했기 때문에 부팅하는 동안 Grub이 표시되지 않습니다. 부팅하는 동안 커널 버전을 수동으로 선택하려면 어떻게해야합니까?

답변:


58

Grub을 표시하는 가장 간단한 방법은 SHIFT부팅하는 동안 버튼을 길게 누르는 것 입니다.

다른 방법으로, 특정 커널을 부팅하지 않고도 Grub을 항상 표시 할 수 있습니다.

gksudo gedit /etc/default/grub

GRUB_TIMEOUT-1로 변경 하고 주석 처리GRUB_HIDDEN_TIMEOUT

실행하여 마무리

sudo update-grub

5
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. 내가 GRUB_HIDDEN_TIMEOUTGRUB_TIMEOUT=0
말하고

명시 적으로 : GRUB_HIDDEN_TIMEOUT은 'update-grub'을 실행할 때 설정 해야하는 환경 변수입니까?
Jonathan Hartley

1
@JonathanHartley는 GRUB_HIDDEN_TIMEOUT에 정의되어있다/etc/default/grub
wjandrea

20

부팅하는 동안 Shift 키를 누르고 있으면 Grub 메뉴가 표시됩니다. 이전 커널 버전을 선택할 수 있습니다.

이전 커널을 기본 커널로 선택하려면 게시물을 참조하십시오


2
필자의 경우 (Ubuntu 16.04) 왼쪽으로 바뀌 었습니다. 오른쪽 이동이 작동하지 않았습니다.
Bob

1
이전 커널이 grub에 표시되지 않으면 (제거 된 경우) 어떻게됩니까? 이 커널에 액세스 할 수 없다는 의미입니까?
칼라 마카 키드

1
나는 교대가 아닌 탈출을 사용해야했다
Jonathan King

5

GRUB이 항목과 함께 나타날 때 부팅하는 동안 두 번째 항목, 즉 Ubuntu의 고급 옵션을 선택하면 이전에 설치된 다른 이전 커널 버전을 볼 수 있습니다. 그렇지 않으면 grub.cfg 로 이동하여 현재 설치된 커널 항목 위에 필요한 커널 버전을 붙여 넣습니다. 두 가지 방법으로 작동합니다


3

시스템에 몇 개의 커널이있는 경우 커널 버전을 시작하도록 수동으로 설정할 수 있습니다.

  1. BIOS가 시작된 후 GRUB을 표시하려면 Shift 버튼을 눌러 PC를 재부팅하십시오. GRUB 시작 페이지 와 같은 내용이 표시 됩니다.

  2. "우분투 고급 옵션"을 선택하고이 메뉴 줄의 색인을 기억하십시오 (횟수는 0부터 시작) 그림 색인은 1입니다

콘크리트 커널 선택

  1. 부팅 할 구체적인 커널을 선택하고이 메뉴 줄의 색인을 기억합니다 (횟수는 0부터 시작) 선택한 커널의 그림 색인은 2입니다.

  2. 시스템을 시작하십시오. 이 작업은 콘크리트 커널에서 한 번 부팅하는 것입니다. 콘크리트 커널에서 항상 시작하려면 다음 단계를 수행해야합니다.

4.1. GRUB 설정 파일을 열고 편집합니다 :

sudo nano /etc/default/grub

4.2. GRUB_DEFAULT = ... (기본 GRUB_DEFAULT = 0) 행을 찾아 따옴표 메뉴 경로에서 구체적 커널로 설정합니다 (2 단계와 3 단계의 메뉴 색인 기억). 내 시스템에서 첫 번째 인덱스는 1이고 두 번째 인덱스는 2입니다. GRUB_DEFAULT로 설정했습니다.

GRUB_DEFAULT="1>2"

파일을 저장.

4.3. 변경 사항을 적용하기 위해 GRUB 정보를 업데이트하십시오.

sudo update-grub

4.4. 재부팅 후 선택한 메뉴 경로에 따라 커널에서 자동으로 부팅됩니다. 내 컴퓨터 1-> 2의 예

4.5. 재부팅 후 커널 버전을 확인하십시오.

uname -r


2

에 의해 https://help.ubuntu.com/community/Grub2 :

GRUB_HIDDEN_TIMEOUT = 0

이 설정은 GRUB 2 메뉴가없는 화면이 표시되는 시간을 결정합니다. 화면이 비어있는 동안 사용자는 아무 키나 눌러 메뉴를 표시 할 수 있습니다.

기본 동작은 운영 체제가 하나만있는 경우 메뉴를 숨기는 것입니다. Ubuntu 만있는 사용자가 메뉴를 표시하려면이 줄의 시작 부분에 # 기호를 표시하여 숨겨진 메뉴 기능을 비활성화하십시오.

다운 그레이드 커널 : 11.10에서 커널을 다운 그레이드하는 방법

커널 업그레이드 : 커널을 3.1로 업그레이드하려면 어떻게해야합니까?


1

다음 명령으로 이전 커널을 설치하십시오 :

sudo apt-get install linux-image-3.0.0-12-generic linux-headers-3.0.0-12-generic

그런 다음 재부팅하십시오. 커널을 선택하라는 메시지가 표시됩니다.


1
  1. 부팅 중에 BIOS / UEFI 시작 화면 직후에 BIOS를 사용하여 Shift키를 빠르게 누르고 있으면 GNU GRUB 메뉴가 나타납니다. (우분투 로고가 보이면 GRUB 메뉴를 입력 할 수있는 지점을 놓쳤습니다.) UEFI를 사용하여 Esc키를 눌러 GRUB 메뉴로 이동하십시오. 때로는 제조업체의 스플래시 화면이 Windows 부트 로더의 일부이므로 시스템 전원을 켤 때 GRUB 화면으로 바로 이동 한 다음 누를 Shift필요가 없습니다.

  2. GRUB 화면에서 Ubuntu의 Advanced options를 선택 하고를 누릅니다 Enter.

    여기에 이미지 설명을 입력하십시오

  3. 커널 목록을 보여주는 새로운 자주색 화면이 나타납니다. ↑ 및 ↓ 키를 사용하여 강조 표시 할 항목을 선택하십시오. Enter 키를 눌러 선택한 커널을 부팅하고 'e'를 눌러 부팅하기 전에 명령을 편집하거나 'c'를 눌러 명령 행을 편집하십시오. Esc를 눌러 이전 메뉴로 돌아갑니다.

    여기에 이미지 설명을 입력하십시오


1
이 짧은 대답과 동일하지만 askubuntu.com/a/584738/307523 대답은 처음부터 그럽Shift 을 불러 오기위한 스크린 샷과 키로 훨씬 더 나아갑니다 .
WinEunuuchs2Unix

0

Jackkobec의 답변grub.cfg소스 코드를 보고 스크롤하여 메뉴 번호를 찾는 방법을 설명합니다 . 더 쉬운 방법은 이 스크립트를 사용하는 것입니다 .

Grub Version: 2.02~beta2-36ubuntu3.22


         ┌───────────┤ Use arrow, page, home & end keys. Tab toggle option ├────────────┐
         │ Menu No.     ----------- Menu Name -----------                               │ 
         │                                                                              │ 
         │  1>3  Ubuntu, with Linux 4.15.0-55-generic                                  ↑│ 
         │  1>6  Ubuntu, with Linux 4.15.0-54-generic                                  ▒│ 
         │  1>9  Ubuntu, with Linux 4.14.134-0414134-generic                           ▒│ 
         │  1>12 Ubuntu, with Linux 4.14.120-0414120-generic                           ▮│ 
         │  1>15 Ubuntu, with Linux 4.14.114-0414114-generic                           ▒│ 
         │  1>18 Ubuntu, with Linux 4.14.110-0414110-generic                           ▒│ 
         │  1>21 Ubuntu, with Linux 4.14.98-041498-generic                             ▒│ 
         │  1>24 Ubuntu, with Linux 4.14.89-041489-generic                             ▒│ 
         │  1>27 Ubuntu, with Linux 4.14.78-041478-generic                             ▒│ 
         │  1>30 Ubuntu, with Linux 4.14.70-041470-generic                             ▒│ 
         │  1>33 Ubuntu, with Linux 4.4.0-157-generic                                  ▒│ 
         │  1>36 Ubuntu, with Linux 3.16.60-031660-generic                             ▒│ 
         │  1>36 Ubuntu, with Linux 3.16.60-031660-generic                             ▒│ 
         │  2    Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)                       ▒│ 
         │  3    Advanced options for Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)  ▒│ 
         │  3>0  Ubuntu (on /dev/nvme0n1p10)                                           ↓│ 
         │                                                                              │ 
         │                                                                              │ 
         │                     [Display Grub Boot]            Exit                      │ 
         │                                                                              │ 
         └──────────────────────────────────────────────────────────────────────────────┘ 



참고 : 이 예에서는 grub-menu.sh short스크립트를 호출하는 데 사용되었습니다. short매개 변수는이 라인을 억제 :

     │  1>10 Ubuntu, with Linux 4.14.134-0414134-generic (upstart)                 ▒│ 
     │  1>11 Ubuntu, with Linux 4.14.134-0414134-generic (recovery mode)           ▒│ 

컨트롤 키

항목을 스크롤 한 후 (마우스 스크롤 휠 또는 화살표 키를 사용할 수 있음)을 눌러 Escape명령 행으로 돌아갑니다.

Enter항목에 대해 그루브 명령을 누르면 다음이 표시됩니다.

menuentry 'Ubuntu, with Linux 4.14.134-0414134-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.14.134-0414134-generic-advanced-b40b3925-70ef-447f-923e-1b05467c00e7' {
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
else
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
fi
echo 'Loading Linux 4.14.134-0414134-generic ...'
linux /boot/vmlinuz-4.14.134-0414134-generic root=UUID=b40b3925-70ef-447f-923e-1b05467c00e7 ro noplymouth fastboot acpiphp.disable=1 pcie_aspm=force vt.handoff=7 i915.fastboot=1 nopti nospectre_v2 nospec mem_sleep_default=deep
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.14.134-0414134-generic
}
Press <Enter> to continue

이전 커널을 부팅하기 위해 grub 업데이트

메뉴 항목마다 grub 명령 세트가 있습니다. 컴파일 된 항목은 모두 /boot/grub/grub.cfg파일에 저장 됩니다.

이 예에서는 메뉴 번호`1> 9>를 기본값으로 설정하여 다음을 사용합니다.

sudo -H gedit /etc/default/grub

이 줄을 찾으십시오.

GRUB_DEFAULT=0

이것을 다음과 같이 변경하십시오 :

GRUB_DEFAULT="1>9"

그런 다음 파일을 저장하고 실행하십시오.

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