리눅스에서 손상된 GRUB 부팅 항목을 제거하는 방법

손상된 GRUB 부팅 항목을 제거하려면 먼저 해당 항목을 생성한 원인을 파악한 다음 소스 파일에서 GRUB 메뉴를 다시 생성해야 합니다. Ubuntu 및 Debian에서는 `grub.config.php` 명령을 실행하고, sudo update-grubFedora 및 Arch Linux에서는 다른 명령어를 사용합니다. 생성된 파일에서 직접 줄을 삭제하지 마십시오 grub.cfg. 나중에 업데이트될 때 해당 항목이 다시 생성될 수 있으며, 잘못된 위치를 수정하면 시스템 부팅이 어려워질 수 있습니다.

부팅 진입 유형을 식별하십시오.

GRUB 메뉴에는 Linux 커널, 감지된 다른 운영 체제, 사용자 지정 항목 및 펌웨어 설정 옵션이 표시될 수 있습니다. 마지막 항목(종종 UEFI 펌웨어 설정 이라고 표시됨 )은 손상된 운영 체제 항목이 아닙니다. 이전 커널 및 복구 옵션은 제거된 운영 체제 항목과도 ​​다릅니다. 시스템이 정상적으로 부팅되는지 확인할 때까지 최소한 하나의 정상 작동하는 커널과 해당 복구 옵션을 보관하십시오.

GRUB 메뉴에는 Linux, Windows, 더 이상 사용되지 않는 Ubuntu 항목 및 UEFI 펌웨어 설정이 있습니다.
원치 않는 레이블이 운영 체제 항목인지 아니면 별도의 펌웨어 설정 옵션인지 확인하십시오.

/etc/default/grubGRUB은 일반적으로 설정 파일 과 스크립트 파일 등을 기반으로 메뉴를 구성합니다 /etc/grub.d/. 메인 메뉴는 grub.cfg생성된 출력 파일입니다. GNU GRUB 매뉴얼에는 이러한 구성 생성 흐름에 대한 설명이 나와 있습니다.

운영 체제를 제거한 후 GRUB을 다시 생성하세요.

다른 운영 체제를 제거했거나 커널 패키지를 삭제했다면 먼저 메뉴를 다시 빌드해야 합니다. 사용 중인 GRUB 메뉴가 있는 Linux 설치 환경에서 터미널을 열고 해당 배포판에 맞는 명령어를 실행하세요.

배포메뉴를 다시 생성합니다
우분투 또는 데비안sudo update-grub
페도라(현재 릴리스)sudo grub2-mkconfig -o /boot/grub2/grub.cfg
아치 리눅스sudo grub-mkconfig -o /boot/grub/grub.cfg

Ubuntu와 Debian은 메뉴 파일을 작성하는 update-grub도우미 프로그램 을 문서화했습니다. Fedora 34 이상 버전은 기본 설정으로 를 사용하며, 에 있는 작은 UEFI 포인터 파일을 덮어쓰지 않도록 주의해야 합니다 . Arch Linux는 출력 경로를 문서화했습니다. 다른 배포판의 경우, 해당 배포판의 최신 GRUB 문서를 참조하고 구성된 출력 경로를 사용하십시오.grub-mkconfig/boot/grub2/grub.cfg/boot/efi/EFI/fedora/grub.cfg/boot/grub/grub.cfg

터미널 명령어 sudo update-grub을 실행하여 GRUB 메뉴를 다시 생성합니다.
정확한 스캔 및 상태 메시지는 시스템에 따라 다릅니다. 이 명령은 Ubuntu 및 Debian에서 생성된 메뉴를 다시 생성합니다.
Fedora 터미널에서 grub2-mkconfig가 /boot/grub2/grub.cfg에 쓰기 작업을 수행하는 모습을 보여줍니다.
최신 Fedora 릴리스에서는 생성된 구성을 .에 기록합니다 /boot/grub2/grub.cfg.
Arch Linux 터미널에서 grub-mkconfig가 /boot/grub/grub.cfg에 쓰기 작업을 수행하는 모습을 보여줍니다.
Arch Linux는 출력 경로 grub-mkconfig와 함께 사용합니다 /boot/grub/grub.cfg.

명령 출력에서 ​​오류 및 제거한 운영 체제 관련 내용이 있는지 확인하십시오. 명령이 성공적으로 완료된 후에만 재시작하십시오. 원치 않는 항목이 제거되었다면 수동으로 메뉴를 편집할 필요가 없습니다.

입력 내용이 돌아오면

자동 감지 기능이 필요하지 않은 경우에만 자동 감지를 중지하세요.

os-proberGRUB은 다른 운영 체제를 찾아 메뉴에 추가하는 데 사용할 수 있습니다 . 만약 GRUB이 오래된 설치를 계속 찾아낸다면, 연결되어 있거나 마운트된 다른 파티션에 해당 설치가 여전히 남아 있지 않은지 확인하십시오. GRUB이 감지된 다른 운영 체제를 목록에 표시하지 않도록 하려면, 해당 파일을 백업한 /etc/default/grub다음 해당 파일에서 이 옵션을 설정하십시오.

GRUB_DISABLE_OS_PROBER가 true로 설정된 GRUB 기본 설정 파일
이 설정은 다른 운영 체제의 자동 검색 기능을 비활성화하므로, 해당 항목이 더 이상 필요하지 않은 경우에만 사용하십시오.
GRUB_DISABLE_OS_PROBER=true

파일을 저장하고 위의 배포판 명령어를 사용하여 GRUB을 다시 생성하세요. 이 설정은 사용 중인 Windows 설치를 포함하여 자동으로 감지된 모든 이전 시스템을 메뉴에서 제거합니다. 듀얼 부팅이 필요한 경우 OS 감지 기능을 활성화한 상태로 유지하고, 대신 오래된 파티션이나 감지 소스를 수정하세요. Arch Linux GRUB 가이드에서 마운트된 파티션이 생성된 항목에 어떤 os-prober영향을 미치는지 자세히 설명합니다.

직접 추가한 항목을 삭제합니다.

사용자 정의 항목은 /etc/grub.d/40_custom또는 와 같은 소스 파일 에 저장될 수 있습니다 /boot/grub/custom.cfg. 해당 파일들을 검사하여 더 이상 사용하지 않는 menuentry블록을 찾으십시오. 해당 블록만 제거하고 40_custom, 를 편집하는 경우 기존 헤더와 실행 스크립트 줄은 그대로 유지하십시오. 그런 다음 기본 구성을 다시 생성하십시오. Arch Linux 가이드에는 사용자 정의 항목의 두 위치가 모두 설명되어 있습니다.

텍스트 편집기에서 /etc/grub.d/40_custom에 있는 사용자 지정 GRUB 메뉴 항목을 보여줍니다.
40_custom수동으로 추가한 항목은 생성된 파일이 아니라 해당 소스 파일(예: )에 있어야 합니다 grub.cfg.

생성된 메뉴를 변경하지 않고 검사하려면 메뉴 항목 줄을 검색하세요. 배포판에 따라 경로를 조정하십시오. Fedora의 기본 파일은 .에 있습니다 /boot/grub2/.

GRUB 설정에서 menuentry 줄을 나열하는 읽기 전용 grep 명령입니다.
이 읽기 전용 검사는 표시된 메뉴 레이블과 생성된 구성을 일치시키는 데 도움이 됩니다. 항목을 삭제하지는 않습니다.
grep -n 'menuentry' /boot/grub/grub.cfg

더 이상 사용되지 않는 커널 항목의 경우

커널 항목은 일반적으로 시스템에 설치된 커널을 기반으로 생성됩니다. 불필요한 커널은 배포판의 패키지 관리자를 통해 제거해야 하며, 메뉴 텍스트나 파일을 수동으로 삭제해서는 안 됩니다 /boot. 실행 중인 커널과 하나 이상의 정상 작동하는 대체 커널을 유지한 후 GRUB을 다시 생성하고 메뉴를 다시 확인하십시오.

UEFI 부팅 메뉴에 해당 항목이 있을 때

만약 해당 레이블이 GRUB 내부가 아닌 컴퓨터 펌웨어 부팅 선택기에 나타난다면, 그것은 GRUB 메뉴와는 별도로 저장된 UEFI 부트 관리자 레코드입니다. sudo efibootmgr -vUEFI로 부팅된 Linux 시스템에서는 다음 명령어를 사용하여 해당 레코드를 확인할 수 있습니다.

efibootmgr 출력 목록에는 BootCurrent, BootOrder 및 UEFI 부팅 항목이 표시됩니다.
UEFI 펌웨어 기록은 GRUB의 화면 메뉴 항목과는 별개입니다.

efibootmgr 매뉴얼 에는 이 도구가 UEFI 부트 레코드를 삭제할 수 있다고 나와 있습니다. 레이블이 익숙하지 않다고 해서 항목을 삭제하지 마십시오. 먼저 해당 로더를 확인하고 현재 또는 유일하게 작동하는 Linux 부팅 경로가 아닌지 확인하십시오. 특정 삭제 대상 레코드를 확인한 경우, 매뉴얼에 나와 있는 삭제 형식은 다음과 같습니다. 여기서 <boot>는 정확한 16진수 부트 번호로 sudo efibootmgr -b XXXX -B대체해야 합니다 XXXX. 이 명령은 펌웨어 데이터를 변경하는 것이지 GRUB 메뉴를 편집하는 것은 아닙니다.

결과를 ​​확인하세요

메뉴를 다시 생성하거나 사용자 지정 소스 항목을 제거한 후 시스템을 재시작하고 의도한 Linux 시스템이 부팅되는지 확인하십시오. 오래된 OS 항목이 다시 나타나면 해당 항목의 출처(OS 감지, 사용자 지정 메뉴 파일, 설치된 커널 패키지 또는 별도의 UEFI 펌웨어 레코드)를 다시 확인하십시오. 생성된 구성을 직접 편집하지 마십시오. 출처를 수정하고 다시 생성하는 것이 가장 확실한 해결책입니다.

댓글 남기기

손실된 파티션과 하드 디스크 데이터를 안전하게 복구하는 방법

손실된 파티션과 하드 디스크 데이터를 안전하게 복구하는 방법

TestDisk와 PhotoRec을 사용하여 손실된 파티션과 파일을 복구하는 방법을 알아보세요. 원본 드라이브를 보호하고 안전하게 스캔한 다음 복구된 데이터를 다른 디스크에 저장하세요.

리눅스 데스크톱에서 QR 코드를 스캔하는 방법

리눅스 데스크톱에서 QR 코드를 스캔하는 방법

웹캠이나 이미지 파일을 사용하여 CoBang으로 Linux에서 QR 코드를 스캔하세요. Flatpak 카메라 접근 관련 설치 옵션, 설정 단계 및 문제 해결 방법을 참조하세요.

Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하는 방법

Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하는 방법

Cameractrls를 사용하여 Linux에서 웹캠 설정을 변경하세요. 노출, 색상, 깜빡임 감소 및 기타 지원되는 제어 기능을 조정하고 호환되는 비디오 모드를 확인하세요.

Linux에 PhpStorm을 설치하는 방법: Toolbox, Tar.gz, Snap 및 AUR

Linux에 PhpStorm을 설치하는 방법: Toolbox, Tar.gz, Snap 및 AUR

Linux에 PhpStorm을 설치하려면 JetBrains Toolbox 또는 독립 실행형 tar.gz 아카이브를 사용하세요. Snap 및 Arch AUR 옵션도 제공됩니다. Java는 이미 포함되어 있습니다.

리눅스에 Cisco Packet Tracer를 설치하는 방법

리눅스에 Cisco Packet Tracer를 설치하는 방법

Cisco Packet Tracer 9.0.1 for Ubuntu 64비트 버전을 다운로드하고, APT를 사용하여 DEB 패키지를 설치한 다음, 터미널에서 라이선스에 동의하고 로그인하여 실습을 시작하십시오.

XFCE 4에서 듀얼 패널을 설정하는 방법

XFCE 4에서 듀얼 패널을 설정하는 방법

각 디스플레이마다 별도의 XFCE 4 패널을 생성하고, 두 번째 패널을 올바른 출력에 할당하고, 위치와 크기를 조정한 다음, 필요한 실행기와 상태 항목을 추가합니다.

리눅스에서 CD-ROM을 ISO 파일로 백업하는 방법

리눅스에서 CD-ROM을 ISO 파일로 백업하는 방법

GNOME Disks 또는 dd 명령어를 사용하여 Linux에서 CD-ROM ISO 파일을 생성합니다. 광학 드라이브를 식별하고, 복사 과정을 모니터링하고, 이미지 유효성을 검사하고, 손상된 디스크나 오디오 디스크에 다른 도구가 필요한 경우를 알 수 있습니다.

리눅스에서 GIMP를 사용하여 이미지를 잘라내는 방법

리눅스에서 GIMP를 사용하여 이미지를 잘라내는 방법

GIMP를 사용하여 Linux에서 사진 배경 제거하기: 피사체를 따라 그리고, 선택한 배경을 삭제하고, 투명도를 유지한 다음, 재사용 가능한 PNG 파일로 내보낼 수 있습니다.

FlightGear 무료 다운로드: 공식 설치 가이드

FlightGear 무료 다운로드: 공식 설치 가이드

FlightGear를 공식 사이트에서 무료로 다운로드하세요. Windows, macOS, Linux 패키지를 비교하고, 데이터 파일을 설치한 후 첫 비행을 시작하세요.

Google Tasks 데스크톱 애플리케이션: 컴퓨터에서 사용하는 방법

Google Tasks 데스크톱 애플리케이션: 컴퓨터에서 사용하는 방법

브라우저에서 Google Tasks를 열거나, Chrome 바로가기 또는 앱 스타일 실행을 추가하고, 캘린더 및 Gmail을 통해 날짜별 할 일을 관리하세요.