UEFI 랩탑에서 GRUB 제거


9

Windows 8과 함께 Ubuntu를 설치했지만 Ubuntu를 unisntall하기로 결정했습니다.

먼저 Parted Magic으로 부팅했고 GParted를 사용하여 모든 ext4 및 스왑 파티션을 삭제했습니다.

이것은 우분투를 설치하기 전에 가진 것과 같은 파티션을 남깁니다.

/dev/sda1 ntfs WINRE_DRV
/dev/sda2 fat32 SYSTEM_DRV (my UEFI partition)
/dev/sda3 fat32 LRS_ESP
/dev/sda4 unknown Microsoft Reserved Partition
/dev/sda5 ntfs Windows8_OS
/dev/sda6 ntfs LENOVO
/dev/sda7 ntfs PBR_DRV

파티션을 삭제하면 Ubuntu를 제거하고 Windows 8로 다시 부팅 할 수있을 것으로 예상했지만 부팅 할 때마다 다음 오류가 발생합니다.

error: no such partition.

GRUB 구조가 뒤 따릅니다 :

grub rescue>

내 UEFI 파티션에서,이 두 디렉토리는 다음 BOOTEFI. In BOOT은 단일 파일 boot.sdi입니다. 에서 EFI디렉토리 다른 두 디렉토리입니다, BOOT하고 Microsoft. 내부는 BOOT두 개의 파일입니다, bkpbootx64.efi하고 bootx64.efi. Microsoft디렉토리는 이름의 디렉토리가 있습니다 Boot. 내부에는 일반적인 Microsoft EFI 파일이 있습니다 (알 수있는 한).

여전히 GRUB이 왼쪽 파일이 있었다 생각, 내가 실행 find . -iname "*grb*"하고 find . -iname "*grub*"만 UEFI 파티션에, 그러나 단 하나 개의 빈 파일 발견 bootx64.efi.grb(I 삭제).

GRUB은 어떻게 설치되어 있으며 어떻게 제거 할 수 있습니까?

UEFI에 익숙하지 않아서 자세히 설명해야 할 수도 있습니다. 컴퓨터는 Lenovo IdeaPad Z580입니다.

편집 : ubuntuUEFI 파티션에서 폴더를 삭제했습니다 .

편집 2 : 랩톱의 BIOS 설정에서 "시스템 복구"옵션을 통해 Windows로 돌아 왔습니다. 이것은 문제를 해결했을 수도 있고 아닐 수도 있습니다.

편집 3 : 좋아, 나는 거의 정상적으로 부팅 할 수 있습니다. 부팅 No partition active하면 몇 초 동안 표시된 다음 Windows가 부팅됩니다. 어떻게 제거 할 수 있습니까?

답변:


28

문제를 해결했음을 알았지 만 무엇이 잘못되었고 어떻게 수정 되어야 하는지 지적하고 싶습니다 (최종 사용자와 우분투 개발자 모두).

첫째, Ubuntu 개발자는 가장 현명하지 못한 점으로 Ubuntu 루트 ( /) 파티션 의 파일 과 EFI 시스템 파티션 (ESP)에 의존하는 GRUB 구성을 만들기로 결정했습니다 . 이로 인해 GRUB은 Linux 파티션의 제거 또는 손상에 취약하므로 Ubuntu를 제거한 후 또는 Ubuntu 설치가 손상된 경우 컴퓨터를 부팅하기가 어렵습니다. 이 취약점은 불필요합니다. ESP에서 모든 지원 및 구성 파일을 찾도록 GRUB을 구성 할 수 있습니다. GRUB이 이런 방식으로 구성 되었다면 (Fedora와 마찬가지로) 우분투를 삭제해도 GRUB이 Windows로 리디렉션하는 기능에는 영향을 미치지 않습니다. 시스템은 여전히 ​​GRUB을 통해 부팅되지만 최소한 여전히 부팅됩니다. 따라서 GRUB을 잘못된 방법으로 설정 한 우분투에 부끄러운 일입니다.

둘째, 언급 한 파일 이름을 기반으로 언젠가 우분투의 부팅 복구 도구를 실행 한 것으로 보입니다. 이 도구는 Windows 부트 로더의 이름을 자동으로 바꾸고 EFI/Microsoft/Boot/bootmgfw.efiGRUB 사본을 그 자리에 놓습니다. 그것은 EFI 폴백 부트 로더와 동일한 작업을 수행 EFI/BOOT/bootx64.efi하며 EFI/Microsoft/Boot/bootx64.efi, 내가 fathom를 주장하지 않는 이유로 GRUB의 다른 사본을로 삭제합니다. 이것은 소수의 EFI에서 버그에 대한 해결 방법으로 수행됩니다. 문제는 부팅 복구가 기본적으로 이를 수행한다는 것 입니다. 대부분의 컴퓨터에서는 그렇지 않습니다필요한. 이후 부트 구성을 변경하는 것이 바람직한 경우, GRUB의 이름 변경 및 복제는 사용자가 진행 상황을 추측하기 때문에 복잡해집니다. 따라서 Boot Repair의 개발자가 수리에 미묘한 점을 부끄럽게 생각합니다. 그러나 방어에서는 부트 복구가 기본적으로 수행되는 방식으로 부팅 파일을 이동해야하는 버그가있는 컴퓨터를 확실하게 감지하기가 매우 어렵습니다.

한 가지 더 중요한 점이 있습니다. 올바르게 작동하는 EFI 시스템에서는 부팅 프로그램 목록이 NVRAM에 보관됩니다. EFI는이 목록의 각 프로그램을 순서대로 시도합니다. 하나가 실패하거나 결석하면 다음 단계가 시도됩니다. Ubuntu가 설치되면 GRUB 버전이 목록의 맨 위에 추가됩니다. 대부분의 EFI를 사용하면 기본 제공 부팅 관리자에서 사용할 부팅 프로그램을 지정할 수 있지만이 기본 제공 부팅 관리자는 대부분의 EFI에 적합합니다.

이러한 모든 요소를 ​​요약하면 원래 문제에 대한 가장 간단한 해결책은 다음과 같습니다.

  1. 부팅 복구 도구의 변경 사항을 취소하십시오. 부팅 복구 도구 자체를 사용하여 수행 할 수 있습니다. "EFI 백업 복원"이라는 확인란이있는 고급 옵션 메뉴가 있습니다. 이를 사용하면 GRUB의 여러 사본이 제거되고 Windows의 부트 로더가 복원됩니다. 또는이 작업을 수동으로 수행 할 수 있습니다. 가장 중요한 점은 백업 bootmgfw.efi( bkpbootmgfw.efi일부 버전의 Boot Repair에서 다른 이름을 사용 했더라도)을 EFI/Microsoft/Boot/bootmgfw.efiESP에 복사해야합니다 .
  2. EFI/ubuntu/grubx64.efi우분투 의 공식 / 적절한 위치에서 GRUB을 삭제하십시오 . 보안 부팅이 활성화 된 EFI/ubuntu/shimx64.efi경우 대신 삭제 가 필요합니다. 실제로 전체 EFI/ubuntu디렉토리를 삭제 하거나 최소한 이름을 바꾸면 어떤 경우에도 작업이 수행됩니다.

그게 다야. 이 두 가지 작업을 수행하면 EFI는 더 이상 유효하지 않으므로 Ubuntu 부팅 옵션을 건너 뛰고 Windows 부팅을 계속합니다. 일부 EFI는 부팅 관리자 메뉴에서 Ubuntu 부팅 옵션도 자동으로 제거하지만이 방법은 보편적이지 않습니다.

당신의 경우에, 매튜, 나는이 일들을하는 것을 권장하지 않습니다. 당신은 작동 구성을 가지고 있고, 그들이 말했듯이 "파산되지 않으면 그것을 고치지 마십시오." ESP에 약간의 길 잃은 파일이 남아있을 수 있지만 아무런 해를 끼치 지 않으므로 혼자 두는 것이 가장 좋습니다. 다른 사람이 유용하게 사용할 수 있기를 바랍니다.


편집 : 위의 내용은 처음 썼을 때 정확했으며 원칙은 동일합니다. 그러나 Boot Repair는 더 이상 Windows 부트 로더의 이름을 자동으로 바꾸지 않고 다른 GRUB 사본으로 바꿉니다. (부팅 복구는이 작업을 선택적으로 수행 할 수 있지만 옵션은 고급 옵션 메뉴에 묻혀 있으므로 더 이상 기본적으로 수행되지 않습니다.)이 사실로 인해이 문제를 2013 년보다 더 쉽게 복구 할 수 있습니다. 대부분의 경우에만 EFI/ubuntuESP 에서 디렉토리를 삭제하여 시스템을 Windows로 직접 부팅하십시오. 이 작업을 수행 한 후에도 GRUB이 계속 나타나면 부팅 복구 옵션을 사용하여 부팅 파일을 백업하고 이름을 바꾸었을 수 있습니다.이 경우 부팅 파일을 사용하여 해당 작업을 취소 할 수 있습니다.

또 다른 옵션은 GRUB를 무시하고 Windows로 부팅하기 위해 컴퓨터의 내장 부팅 관리자 (일반적으로 컴퓨터를 켠 직후 기능 키 Esc 또는 Enter 키를 눌러 액세스)를 사용하는 것입니다. 그런 다음 EasyUEFI 를 사용 하여 부팅 순서를 조정하거나 ubuntu부팅 목록에서 항목을 삭제할 수 있습니다. 이 작업은 ESP에서 GRUB을 삭제하지는 않지만 GRUB을 무시합니다.


이 답변에 감사드립니다! 문제를 잘 설명합니다. 나는 실제로 Boot Repair를 실행했지만이 질문에 포함시키는 것을 잊었습니다. 나는 이것이 미래의 누군가를 확실히 도울 수 있고 문제를 해결하는 훨씬 더 깨끗한 방법이기 때문에 이것을 대답으로 표시했습니다.
Torvero

나는 늦었지만 어쨌든 물어볼 것이다. 또한 기본 EFI 부트 로더를 GRUB로 대체한다고 말했습니다. 여전히 Ubuntu 18.04 설치 프로그램으로 교체되었다고 가정하면 복구 방법이 있습니까?
Zoe

3

나는이 스레드가 오래되었다는 것을 알고 있지만,이 문제를 스스로 해결하려고 할 때 내 자신의 검색을 통해 나왔고 다른 답변이 없었기 때문에 나에게 도움이되는 솔루션을 찾았으므로 공유해야했습니다!

Windows 10과 함께 랩톱에서 Ubuntu를 이중 부팅했습니다. Ubuntu를 제거하기로 결정하고 파티션을 삭제했지만 grub은 여전히 ​​내 부트 로더를 중단했습니다. 포럼에 남겨진 수많은 제안을 시도한 후 마침내 나는 그것을 내 자신의 lol에서 제거하는 미친 간단하고 그래픽적인 방법을 발견했습니다. (면책 조항, 다른 Windows 버전 에이 옵션이 있는지 여부는 알 수 없습니다)

그러나 컴퓨터가 부팅 옵션을 시작하기 위해 부팅하는 동안 내가 한 것은 F12 였습니다. 그리고 기타 옵션에서 BIOS 설정을 선택했습니다 . 왼쪽에서 Boot Sequence (부팅 순서)를 선택 하고 오른쪽에 다른 부팅 옵션이 나열되어 순서를 변경하거나 제거하거나 원하는 항목을 제거 할 수 있습니다. "ubuntu"만 표시 한 다음 Delete Boot (부팅 삭제)를 클릭 하고 종료했습니다. 그것은 로그인 화면으로 계속되었고 내 문제를 해결했는지 확인하기 위해 랩톱을 다시 시작했습니다.


인터넷에 비 uefi 솔루션이 가득한 것 같지만 작동합니다!
Peter Lehnhardt '

1

좋아, 그래서 이것은 내가 생각하는 모든 컴퓨터에서 작동하지는 않지만 이것이 나를 위해 고친 것 입니다.

먼저 랩톱의 BIOS 옵션을 통해 "시스템 복구"로 부팅했습니다. 이로 인해 Windows에 들어갈 수 있었지만 그 후에 부팅 할 때마다 No partition activeWindows 부팅 전에 1 초 동안 메시지가 표시 되었습니다. 나는 다음을 수행하여 이것을 제거했다.

  1. Windows로 부팅
  2. Shift + "다시 시작"클릭
  3. 문제 해결
  4. 많은
  5. 명령 프롬프트
  6. 달리는 bootrec.exe /fixmbr

재부팅. 이제 메시지가 더 이상 나타나지 않고 모든 것이 정상인 것 같습니다.


1

내가 한 일은 Ubuntu를 제거한 후-일부 제거 프로그램을 사용하거나 Ubuntu 라이브 CD 또는 USB 스틱으로 부팅하고 GParted를 사용하여 Linux 파티션을 포맷하면됩니다 .- EFI 파티션도 포맷했습니다 (FAT32). Windows 설치 디스크에서 Windows 부팅 복구

나는 수십 개의 조언과 자습서를 읽었으며 작동하지 않는 방법으로 많은 시간을 잃었다는 것을 언급해야합니다. 결국 나는 창문을 다시 설치하는 것이 나에게 논리적 인 것처럼 보였고 매력처럼 작동했습니다.


1

Surface Pro에서는 UEFI 메뉴에서 "보안 부팅 키 다시 설치"옵션을 선택하여 Grub 2를 우회 할 수 있습니다.


이 옵션 이외의 옵션으로 약간 고민해야 할 수도 있습니다. "Windows 키만 허용"과 같은 말을해야한다고 생각합니다. 잘못된 부팅 구성에 대한 메시지가 계속 표시되지만 이후에도 계속 부팅됩니다.
bbarker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.