우분투 - Linux 커널 삭제 방법

Ubuntu에서 특정 리눅스 커널 버전을 삭제하는 방법을 소개합니다.

커널을 최신 버전으로 업데이트했는데, 내 컴퓨터의 하드웨어와 호환 문제가 있거나 다른 이유로 부팅이 안될 때가 있습니다. 또는 부팅은 잘 되는데 화면이 버벅이거나 해상도가 이상할 때가 있습니다. 이럴 때, 최신 버전의 커널을 삭제하고 싶을 수가 있습니다.

1. 현재 커널 버전 확인

uname -r 명령어로 현재 동작 중인 커널 버전을 확인할 수 있습니다. 잘 동작하는 커널 버전이라면 이 커널을 지우시면 안되겠죠?

$ uname -r
5.11.0-46-generic

2. 설치된 모든 커널 버전 확인

아래 명령어로 내 PC에 설치된 모든 커널 버전을 확인할 수 있습니다. 저는 linux-image-5.13.0-27-generic 버전을 삭제해야 합니다.

$ dpkg --list | grep linux-image
rc  linux-image-5.11.0-36-generic              5.11.0-36.40~20.04.1                amd64        Signed kernel image generic
rc  linux-image-5.11.0-37-generic              5.11.0-37.41~20.04.2                amd64        Signed kernel image generic
rc  linux-image-5.11.0-38-generic              5.11.0-38.42~20.04.1                amd64        Signed kernel image generic
rc  linux-image-5.11.0-40-generic              5.11.0-40.44~20.04.2                amd64        Signed kernel image generic
rc  linux-image-5.11.0-43-generic              5.11.0-43.47~20.04.2                amd64        Signed kernel image generic
rc  linux-image-5.11.0-44-generic              5.11.0-44.48~20.04.2                amd64        Signed kernel image generic
ii  linux-image-5.11.0-46-generic              5.11.0-46.51~20.04.1                amd64        Signed kernel image generic
rc  linux-image-5.13.0-27-generic              5.13.0-27.29~20.04.1                amd64        Signed kernel image generic

3. 특정 커널 버전 삭제

삭제해야 할 커널 버전을 알았다면, 아래 명령어로 삭제할 수 있습니다. 터미널에 sudo apt-get purge [kernel version]을 입력하시면 됩니다.

$ sudo apt-get purge linux-image-unsigned-5.13.0-27-generic
Reading package lists... Done
Building dependency tree
Reading state information... Done
....

삭제가 완료되었다면, 아래 명령어로 커널이 정말 삭제되었는지 다시 확인해볼 수 있습니다.

$ dpkg --list | grep linux-image
rc  linux-image-5.11.0-36-generic              5.11.0-36.40~20.04.1                amd64        Signed kernel image generic
rc  linux-image-5.11.0-37-generic              5.11.0-37.41~20.04.2                amd64        Signed kernel image generic
rc  linux-image-5.11.0-38-generic              5.11.0-38.42~20.04.1                amd64        Signed kernel image generic
rc  linux-image-5.11.0-40-generic              5.11.0-40.44~20.04.2                amd64        Signed kernel image generic
rc  linux-image-5.11.0-43-generic              5.11.0-43.47~20.04.2                amd64        Signed kernel image generic
rc  linux-image-5.11.0-44-generic              5.11.0-44.48~20.04.2                amd64        Signed kernel image generic
ii  linux-image-5.11.0-46-generic              5.11.0-46.51~20.04.1                amd64        Signed kernel image generic
rc  linux-image-5.13.0-27-generic              5.13.0-27.29~20.04.1                amd64        Signed kernel image generic

4. grub 업데이트

커널이 삭제되었으니, 부팅 화면에 보이는 커널 리스트도 업데이트해줘야 합니다.

sudo update-grub을 입력하시면 grub 화면에 보이는 리스트를 업데이트합니다. 명령어 수행 중 출력되는 로그에 삭제한 커널 버전이 없으면 됩니다.

$ sudo update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.11.0-46-generic
Found initrd image: /boot/initrd.img-5.11.0-46-generic
Found linux image: /boot/vmlinuz-5.8.0-50-generic
Found initrd image: /boot/initrd.img-5.8.0-50-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 10 on /dev/sdb1
done

5. 부팅 화면 확인

이제 reboot을 하여 부팅 화면에서 삭제한 커널 버전이 안보이는지 확인하시면 됩니다. 삭제한 커널이 계속 보이고 있다면, PC에서 삭제가 안되었거나 Grub이 업데이트 안되었을 수 있습니다. 다시 확인해보세요.

Loading script...
codechachaCopyright ©2019 codechacha