UEFI 파티션이 삭제되었을 수 있습니다. 내 시스템에 "부팅 미디어를 찾을 수 없습니다"라고 표시됩니다. 시동을 어떻게 복원할 수 있나요?

UEFI 파티션이 삭제되었을 수 있습니다. 내 시스템에 "부팅 미디어를 찾을 수 없습니다"라고 표시됩니다. 시동을 어떻게 복원할 수 있나요?

모든 드라이브를 마운트 해제하여 노트북을 청소했는데 이제 시스템을 켜면 부팅 미디어를 찾을 수 없다는 메시지가 나타납니다. Windows 10, Kali Linux 및 Ubuntu로 세 번 부팅했습니다. Ubuntu와 Windows 10은 표준 하드 드라이브에 설치되고 Kali는 SSD에 설치됩니다. UEFI 부팅 파티션을 엉망으로 만들었나요? UEFI 부팅 파티션은 이전에 표준 하드 드라이브에 설정되었습니다. BIOS 설정에서 UEFI 부팅을 켰습니다. 시동을 다시 복원하려면 어떻게 해야 합니까? 또한 BIOS에 UEFI 부팅 메뉴를 추가해 보았습니다. 그런데 "미디어를 찾을 수 없습니다"라고 뜹니다. 부팅 메뉴를 추가할 수 없습니다.

답변1

뭔가 잘못됐어

/etc/fstab커널 부팅 옵션, initramfs 설정 및 콘텐츠를 기반으로 모든 부팅 시 모든 것이 마운트되므로 파일 시스템을 마운트 해제하는 것만으로는 지속적인 영향을 미치지 않습니다.

BIOS 부팅 설정을 변경하는 것이 원인일 가능성이 더 높다고 생각합니다. 또한 일부 UEFI 펌웨어는 오래된 부팅 변수가 NVRAM을 복잡하게 만드는 것을 방지하기 위해 더 이상 감지할 수 없는 디스크와 관련된 UEFI 부팅 설정을 지우는 데 "도움이 됩니다". 따라서 노트북에서 디스크를 물리적으로 제거한 다음 디스크를 설치하지 않은 채 노트북을 시작하면 이것이 원인일 수 있습니다.

UEFI 부팅 변수

기본 UEFI 부팅 스타일을 사용하려면 특정 UEFI 부팅 변수를 올바르게 설정해야 합니다. 시스템 부팅 모드를 레거시 BIOS에서 UEFI로 방금 전환한 경우에는 이런 일이 발생할 가능성이 없습니다. 이러한 변수가 없으면 UEFI 펌웨어는 EFI 시스템 파티션(줄여서 ESP) 또는 이동식 미디어의 액세스 가능한 FAT 파티션에서 특정 대체/이동식 미디어 부트 로더 파일만 찾습니다. 64비트 x86 하드웨어에서 이 부트 로더 파일 이름은 \EFI\BOOT\bootx64.efi관련 FAT 파티션의 루트 디렉터리에 상대적입니다 .

\EFI\BOOT\bootx64.efi따라서 디스크에 UEFI 부팅 변수가 없으면 디스크가 UEFI 기본 스타일로 부팅될 수 없습니다. 매우 간단합니다. 현재 해당 파일이 포함된 사용 가능한 디스크가 없으면 No media found오류 메시지가 표시됩니다.

UEFI 부팅 변수는 추가 부팅 로더를 지정할 수 있으며 ESP 파티션의 예상 디렉터리 구조는 여러 부팅 로더가 공존할 수 있도록 설계되었습니다.

예를 들어, 대부분의 Linux 배포판은 UEFI 부트 로더를 포함하거나 \EFI\<name of distribution>\shimx64.efi(일반적인 솔루션인 심 부트 로더를 사용하여 보안 부팅이 지원되는 경우) \EFI\<name of distribution>\grubx64.efi보안 부팅 지원을 요구하지 않습니다. Ubuntu와 Kali 모두 이 모드를 사용해야 합니다.

Windows 10용 UEFI 부트로더는 \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI.

수정 사항 및 해결 방법

UEFI 펌웨어 설정("BIOS 설정", UEFI BIOS를 호출하는 것은 약간 잘못된 이름임에도 불구하고) "파일에서 부팅" 옵션이 포함된 경우 위의 부트로더 파일 중 하나를 선택하여 적절한 운영 체제를 부팅할 수 있습니다. .. ...하지만 그것 자체로는 지속적인 수정이 되지 않습니다.

이렇게 하는 경우 UEFI 부팅 변수가 누락된 경우 자동으로 다시 작성하는 "자가 복구" 기능이 있는 것 같으므로 Windows 10을 먼저 부팅하는 것이 좋습니다. 허용하지 않는 한 운영 체제의 다른 부팅 변수를 덮어쓸 수도 있습니다. Windows에서는 Boot0000자체적으로 첫 번째 UEFI 부팅 변수( 라고 함)를 예약합니다 . 또는 Windows 10 설치 미디어에서 부팅하고 컴퓨터 복구를 선택하여 UEFI 부팅 변수를 자동으로 복구하고 Windows UEFI 부트 로더가 작동하지 않는 것 같으면 수정할 수도 있습니다.

Windows 10이 복구된 후에는 UEFI 설정(사용 가능한 경우)의 "파일에서 부팅" 옵션을 사용하거나 Linux 설치 미디어에서 복구로 부팅하거나 Linux 설치를 사용하여 Linux 설치 중 하나를 부팅해 볼 차례입니다. 라이브 부트 미디어 제공 완전히 독립적인 환경입니다. 일단 거기에 도달하면 이 efibootmgr명령을 사용하여 Linux 설치에 대해 누락된 부팅 변수를 다시 생성 할 수 있습니다 . 먼저 매뉴얼 페이지를 읽으십시오. 여기에는 좋은 예가 있습니다: man efibootmgr.

Windows 10에는 UEFI 부팅 변수를 편집하기 위한 기본 명령도 있습니다: bcdedit. 이를 사용하려면 관리자 권한으로 명령 프롬프트를 실행해야 하며 Linux보다 인체공학적이지 않다고 생각합니다 efibootmgr(Linux 사용자에 대해 편견이 있을 수는 있지만). 하지만 그것은할 수 있는일을 하세요.

필수 명령 bcdedit:

bcdedit /create /d "<description of your Linux boot option>" {fwbootmgr}

이 명령은 다음 모든 명령에서 사용되는 긴 GUID 문자열을 반환합니다. 다음과 같이 표시됩니다.<GUID>

bcdedit /set <GUID> device partition=S:

동일한 ESP 파티션을 사용하여 Windows 및 Linux 부트로더를 포함하는 경우 ESP가 Windows에 기본적으로 설치되지 않더라도 Windows 드라이브 문자 S:가 ESP에 할당될 수 있습니다. Linux용 다른 ESP를 사용하는 경우 이 프로세스를 시작하기 전에 ESP에 Windows 드라이브 문자를 할당하고 partition=S:이에 따라 이 섹션을 변경해야 합니다.

bcdedit /set <GUID> path \EFI\<name of Linux distro>\shimx64.efi

이는 부팅 변수와 관련된 부트로더 경로 이름을 설정합니다.

bcdedit /set {fwbootmgr} default <GUID>

이렇게 하면 새로 추가된 부팅 변수가 기본 부팅 옵션으로 설정됩니다. 부팅할 운영 체제를 선택하는 데 사용할 수 있는 GRUB 부팅 메뉴를 제공할 가능성이 높기 때문입니다.

관련 정보