나는 동일한 SSD에서 win10과 Linux를 이중 부팅했으며 Linux를 설치할 때 grub이 포함되었습니다. 설치가 완료되면 ESP 파티션에 새로운 Linux efi 파일이 추가된 것을 볼 수 있습니다. 이제 저는 Linux를 완전히 제거하기로 결정했고 제가 한 첫 번째 단계는 EasyUEFI라는 도구를 사용하여 efi 부팅 항목을 제거하는 것이었습니다. 재부팅하고 F11을 누르면 항목이 사라졌습니다.
하지만 나를 혼란스럽게 만드는 두 가지 부분이 있습니다.
해당 항목을 제거한 후에도 Linux efi 파일은 여전히 ESP 파티션에 있습니다. 이러한 efi 파일의 존재는 사용자가 부팅 시 F11을 누를 때 해당 부팅 옵션이 있는지 UEFI가 알 수 있는 방식이라고 생각합니다. 이제 이는 부팅 옵션이 다른 곳에 기록되고 EasyUEFI 도구가 이를 제거한다는 것을 의미합니다. ESP 파티션에 있습니까?
제가 올바르게 이해했는지 잘 모르겠습니다. UEFI 부팅(설치 중에 추가된 efi 파일 및 기타 부팅 레코드)과 grub이 이제 동일한가요? 아니면 사용자가 efi 부팅 항목을 선택하면 grub 부팅 메뉴로 이동하는데, 이는 별개의 것입니까? efi 부팅이 이미 부팅 선택을 처리할 수 있다면 그 뒤에 있는 그럽은 의미가 없습니까?
당신보다
답변1
1.) EasyUEFI를 사용하여 UEFI 부팅 변수를 편집합니다. 이는 BIOS 설정과 마찬가지로 시스템 NVRAM에 저장됩니다. Linux에서는 유틸리티를 사용하여 편집할 수 있습니다 efibootmgr
. 일반 Windows에서는 bcdedit /enum FIRMWARE
목록을 나열하고 다른 옵션을 사용하여 편집할 수 있습니다.
부팅 변수가 정의되지 않은 경우 UEFI는 자동으로 특정 대체 경로를 확인합니다. 64비트 x86 하드웨어의 경우 이 경로는 입니다 \EFI\boot\bootx64.efi
. 이 파일이 ESP 파티션이나 FAT32 이동식 미디어에 있으면 해당 디스크나 다른 미디어가 자동으로 간주됩니다. 기본 UEFI 스타일 "부팅 가능"이어야 합니다.
2.) UEFI는 시스템 펌웨어입니다(BIOS와 유사하지만 최신 버전). GRUB는 부트로더이므로 관련 하드웨어 아키텍처의 펌웨어가 기대하는 모든 것을 준수해야 합니다. 그렇지 않으면 펌웨어가 GRUB를 로드할 수 없습니다.
따라서 GRUB의 핵심은 다양한 형태를 취할 수 있습니다. BIOS의 경우 GRUB는 MBR의 일부 부팅 코드 + MBR과 첫 번째 파티션의 시작 부분 사이의 디스크 블록에 포함된 추가 코드의 형태를 취합니다. UEFI를 사용하면 GRUB의 핵심(또는 전체)이 grubx64.efi
ESP 파티션에서 단일 파일 형식을 취할 수 있습니다.
GRUB에는 자체 아키텍처 식별자가 있습니다. GRUB의 BIOS 버전을 version 이라고 하며 i386-pc
, 64비트 x86 하드웨어의 UEFI 버전을 version 이라고 합니다 x86_64-efi
. 예를 들어, 이전 시스템을 이미징하고 이미지를 새 하드웨어로 복원하는 중에 새 시스템이 다른 펌웨어 스타일을 사용하는 것을 발견한 경우(예: 이전 시스템은 레거시 BIOS를 사용하고 새 시스템은 UEFI를 사용함) 일반적으로 ESP 파티션을 추가하고 i386-pc
GRUB 패키지 버전을 x86_64-efi
GRUB 패키지 버전으로 교체한 다음 GRUB를 다시 설치해야 합니다.