Mint UEFI 파티션이 UEFI에서 갑자기 더 이상 인식되지 않음 - Windows 7을 한 번 부팅한 후

Mint UEFI 파티션이 UEFI에서 갑자기 더 이상 인식되지 않음 - Windows 7을 한 번 부팅한 후

저는 몇 년 된 기성품 HP 오피스 박스인 컴퓨터를 다루고 있습니다. 나는 한동안 헤드리스 컴퓨팅을 위해 다양한 버전이나 Linux에서 이 제품을 사용해 왔습니다. 어떤 시점에서는 Windows 7 x86_64를 설치해야 했기 때문에 컴퓨터에서 이전 하드 드라이브를 모두 제거하고 다른 SSD를 찾아서 연결하고 지우고 Windows 7을 설치했습니다(모두 기본값). 내가 아는 한, UEFI 부팅 모드로 설치되었습니다(즉, SSD에 작은 FAT32 파티션이 있고 부팅 플래그가 설정되어 있음).

시간이 흘러 이 컴퓨터에서 Linux를 다시 실행해야 했고, SSD를 분리하고 USB 플래시 드라이브에 Linux Mint(예: Ubuntu)(2주 전 최신 버전)를 설치했습니다. Mint 설치 프로그램은 이 PC에 레거시 BIOS 모드에서 실행되는 다른 운영 체제가 있으며 UEFI 모드에서 Mint를 설치하는 것은 좋지 않다는 오류 메시지를 표시했습니다. SSD가 분리되어 있음을 기억하십시오. 글쎄... 저는 Mint 설치 프로그램이 이 오류 메시지와 함께 충돌하지 않을 것이라고 확신할 수 없었기 때문에 GParted를 사용하여 USB 플래시 드라이브를 수동으로 분할했습니다. BOOT 플래그가 설정된 512MB FAT32와 ext4 시스템 파티션 및 GPT 파티션 테이블. Mint 설치 프로그램을 다시 실행하여 이 파티션을 지정했습니다. 또 다른 경고가 표시되었지만 충돌은 발생하지 않았습니다. Mint가 UEFI 모드로 설치되고 실행되었습니다. 커널 및 Grub 업데이트를 사용할 수 있습니다.

시간은 또 흐르고 다시 Windows가 필요해졌습니다. 아직 SSD가 있어서 SSD를 연결해봤습니다. USB 플래시 드라이브도 있는데 별 문제가 아닌 것 같습니다. PC를 시작하면 Windows가 제대로 작동하고 종료됩니다. 좋아요, 이제 Mint를 시작하겠습니다. UEFI가 찾을 수 없습니다. 기간. SSD를 뽑았습니다. 사용 가능한 모든 USB 포트를 사용해 보았습니다. 재미로 보안 부팅을 켰다가 다시 껐습니다. BIOS 전용 부팅 모드로 전환한 다음 UEFI/레거시 결합 모드로 다시 전환했습니다. UEFI 전용 모드로 전환했습니다. 민트를 인식하지 못할 뿐입니다. UEFI 부팅 메뉴를 탐색하면 USB 플래시 드라이브가 UEFI 부팅 옵션으로 나열되지 않고 레거시 BIOS 옵션으로만 나열됩니다(Mint를 설치할 때 UEFI 옵션으로 나열되었던 것으로 기억합니다).

내가 알 수 있는 한, Mint UEFI 부팅 파티션은 영향을 받지 않습니다(변경 날짜는 마지막 Grub 업데이트 날짜와 일치합니다). BOOT 플래그가 설정되었습니다. 내가 아는 한, 이것에는 전혀 문제가 없습니다. 나의 유일한 "실수"는 Mint가 포함된 USB 플래시 드라이브를 PC에 연결하는 동안 Windows를 한 번 부팅한 것입니다.

이 문제를 디버그 및/또는 해결하려면 어떻게 해야 합니까? 내가 무엇을 간과했을까요?


편집 (1): 이것은 gdisk나에게 알려줍니다:

# gdisk -l /dev/sdc
GPT fdisk (gdisk) version 0.8.8

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdc: 30464000 sectors, 14.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): ***
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 30463966
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1050623   512.0 MiB   EF00  
   2         1050624        30461951   14.0 GiB    0700  

파티션 1의 코드 EF00은 짜증납니다. EE00이어야 하지 않나요?


또한 게시됨민트 포럼에서.

답변1

내 첫 번째 추측은 Mint의 NVRAM 부팅 변수가 누락되었다는 것입니다. 시스템에 더 이상 존재하지 않는 디스크/SSD를 참조하는 것을 발견했을 때 펌웨어가 이를 제거했을 수도 있습니다.

UEFI를 사용하면 각 운영 체제는 자체 부트로더 사양을 시스템의 부팅 가능 목록에 기록합니다. 사양에는 기본적으로 부트 로더가 포함된 EFI 시스템 파티션의 GUID 식별자와 부트 로더 파일의 경로 이름이 포함됩니다. Mint의 경우 \EFI\Mint\grubx64.efiUEFI 버전의 GRUB2를 사용하므로 경로명이 유사할 수 있습니다 .

비결은 운영 체제 내에서 이러한 UEFI 부팅 변수에 액세스할 수 있다는 것입니다. 그러나 운영 체제가 UEFI 모드에서 부팅되는 경우에만 가능합니다. 레거시 부팅 모드를 사용하는 경우 시스템을 레거시 시스템과 비슷하게 만들기 위해 부팅 변수에 액세스하는 데 필요한 UEFI 런타임 서비스가 비활성화됩니다.

이동식 미디어의 경우 또 다른 UEFI 규칙이 있습니다. UEFI 부팅 변수가 적용되지 않거나 시스템이 이전에 본 적이 없는 디스크에서 UEFI 모드로 부팅하라는 지시를 받으면 UEFI 펌웨어는 FAT32 파일 시스템이 있는 파티션을 찾고 이를 \EFI\BOOT\BOOTx64.efi(64비트 x86 하드웨어의 경우 ARM 아키텍처에는 자체 부팅 파일 이름이 있음) 이라는 파일이 포함되어 있습니다 .

따라서 이 문제를 해결하는 방법에는 두 가지가 있습니다.

1.) GPT 파티션 테이블과 FAT32 파일 시스템을 인식하는 운영 체제를 사용하여 Mint 디스크에 액세스합니다. 부트로더 파일(또는 유사한 파일)을 찾아 동일한 디스크 \EFI\Mint\grubx64.efi에 복사합니다 . \EFI\BOOT\BOOTx64.efi원본 부트로더 파일이 포함된 디렉터리에 구성 파일처럼 보이는 항목이 있으면 해당 파일도 복사하세요.

이제 NVRAM 부팅 변수가 사라지더라도 UEFI는 해당 디스크를 UEFI 부팅 가능 디스크로 인식해야 합니다. (이렇게 하면 SSD를 다시 교체해야 하는 경우 문제가 다시 발생하는 것을 방지할 수 있습니다.)

2.) 시스템 시작UEFI 모드에서모든 유형의 라이브 Linux 또는 복구 환경에 들어가십시오. 부팅 파일 이름을 찾고 efibootmgr명령을 사용하여 Mint의 부팅 변수를 재정의합니다. 필수 명령은 다음과 유사합니다.

# efibootmgr -c -d /dev/sdX -l \\EFI\\Mint\\grubx64.efi -L "Linux Mint"

/dev/sdX실제 디스크 장치 이름으로 바꾸십시오 . efibootmgr해당 GUID가 자동으로 검색됩니다. Windows 스타일 경로 이름에서 이중 백슬래시를 참고하세요. 이는 백슬래시가 Linux 셸의 특수 이스케이프 문자이기 때문입니다. 마지막 매개변수는 부팅 선택 메뉴 등에 나타날 수 있는 레이블입니다. 원하는 짧은 텍스트를 작성할 수 있습니다.

관련 정보