우분투 기본 커널을 강제로 변경

5284 단어 우분투리눅스
이번에 Ubuntu를 PC에 설치하고 apt-upgrade를 하면 재부팅 후에 화면이 표시되지 않는 현상이 일어났습니다.
트위터에서 최신 커널이 불안정하고 세이프 부팅으로 한 전의 커널을 사용하고 있다고 듣고 시도해 보면 화면이 붙게 되었습니다.
그러나 매번 세이프 부트에서 커널을 선택하는 것은 번거롭기 때문에 하나 전의 커널을 디폴트로 기동할 수 없는지 시험해 보았습니다.

환경



우분투 버전: 21.04
기본 커널: 5.11.0.22-generic
변경하려는 커널: 5.11.0.16-generic

시도한 것



/etc/default/grub 편집



여러가지 시험해 보았습니다만, UEFI가 기동하거나 통상의 기동등으로 해서 잘 가지 않았습니다.
sudo gedit /etc/default/grub
sudo update-grub

/etc/default/grub
GRUB_DEFAULT=2

/etc/default/grub
GRUB_DEFAULT="saved"

/etc/default/grub
GRUB_DEFAULT="Ubuntu, with Linux 5.11.0.16-generic

/etc/default/grub
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.11.0.16-generic

/etc/default/grub
GRUB=DEFAULT="gnulinux-5.11.0-16-generic-advanced-5f2f8280-6d4b-4822-bbbf-792ef193a92d"

grub-set-default 명령



이것은 반영되지 않았다.
sudo grub-set-default 2

/boot/grub/grub.cfg 편집



일반적으로 시작하는 우분투 커널을 변경하여 성공했습니다.
※update-grub하면 덮어쓰여 원래의 커널로 돌아갑니다.boot/grub/grub.cfg를 열고 submenu 중에서 변경하려는 커널을 찾아 linux 행과 initrd 행을 복사하고 menuenty 'ubuntu' linuxinitrd

변경된 커널의 submenu
menuentry 'Ubuntu, with Linux 5.11.0-16-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.0-16-generic-advanced-5f2f8280-6d4b-4822-bbbf-792ef193a92d' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  5f2f8280-6d4b-4822-bbbf-792ef193a92d
        else
          search --no-floppy --fs-uuid --set=root 5f2f8280-6d4b-4822-bbbf-792ef193a92d
        fi
        echo    'Linux 5.11.0-16-generic をロード中...'
        linux   /boot/vmlinuz-5.11.0-16-generic root=UUID=5f2f8280-6d4b-4822-bbbf-792ef193a92d ro  quiet splash $vt_handoff
        echo    '初期 RAM ディスクをロード中...'
        initrd  /boot/initrd.img-5.11.0-16-generic
}
sudo gedit /boot/grub/grub.cfg

/boot/grub/grub.cfg 편집 전
mmenuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-5f2f8280-6d4b-4822-bbbf-792ef193a92d' {
    recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  5f2f8280-6d4b-4822-bbbf-792ef193a92d
    else
      search --no-floppy --fs-uuid --set=root 5f2f8280-6d4b-4822-bbbf-792ef193a92d
    fi
    linux   /boot/vmlinuz-5.11.0-22-generic root=UUID=5f2f8280-6d4b-4822-bbbf-792ef193a92d ro  quiet splash $vt_handoff
    initrd  /boot/initrd.img-5.11.0-22-generic
}

/boot/grub/grub.cfg 편집 후
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-5f2f8280-6d4b-4822-bbbf-792ef193a92d' {
    recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    set root='hd0,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  5f2f8280-6d4b-4822-bbbf-792ef193a92d
    else
      search --no-floppy --fs-uuid --set=root 5f2f8280-6d4b-4822-bbbf-792ef193a92d
    fi
    linux   /boot/vmlinuz-5.11.0-16-generic root=UUID=5f2f8280-6d4b-4822-bbbf-792ef193a92d ro  quiet splash $vt_handof
    initrd  /boot/initrd.img-5.11.0-16-generic
}

내 계정



좋은 웹페이지 즐겨찾기