Arch Linux 시스템을 BIOS에서 UEFI로 변환하는 방법은 무엇입니까?

Arch Linux 시스템을 BIOS에서 UEFI로 변환하는 방법은 무엇입니까?

내 시스템을 새 SSD로 마이그레이션하고 있습니다. 이번 기회에 BIOS에서 EFI로 전환하고 싶습니다. 마더보드는 약 1년이 되었기 때문에 이전 버전의 UEFI 문제를 방지하려면 펌웨어가 충분히 새 것이어야 합니다.

저는 두 개의 전체 시스템 파티션(프로덕션 및 테스트용)을 사용하며 GRUB 메뉴를 통해 선택합니다. 나는 그것을 지키고 싶다.

새 SSD는 GPT로 파티션되어 있습니다. EF00 및 VFat 형식으로 "EFI 시스템" 파티션을 생성하고 /boot/efi에 설치했습니다.

하지만,지금은 악순환에 빠졌어요: 새 SSD에 EFI 지원 GRUB가 설치되어 있지 않은 한 UEFI 설정에서 CSM 모듈을 활성화한 상태로 유지하고 BIOS 모드에서 기존 HDD에서 부팅해야 합니다. 하지만 BIOS 모드로 부팅하자마자 다음과 같이 grub-install --target=x86_64-efi표시되므로 할 수 없습니다.EFI variables are not supported on this system.

Ubuntu에 대한 몇 가지 지침을 찾았 boot-repair지만 Arch Linux에서는 작동하지 않으며 이를 사용하는 것이 좋은 생각인지에 대한 논쟁이 있습니다.

답변1

몇 가지 옵션이 있습니다:

  • grubx64.efi적절한 GRUB 모듈이 포함된 파일 생성을 사용하여 GRUB 구성 파일과 동일한 디렉터리에 grub-mkimage -O x86_64-efi배치 할 수 있습니다 . /boot/efi/EFI/BOOT/BOOTX64.EFI이는 이동식 미디어 UEFI를 부팅 가능하게 만들기 위해 일반적으로 수행하는 작업과 유사합니다. 그런 다음 CSM을 비활성화하면 펌웨어가 SSD를 유효한 UEFI 부팅 디스크로 감지해야 합니다.

  • 또는 CSM을 비활성화하고 UEFI 부팅 가능한 이동식 미디어(또는 Freddy가 제안한 Super Grub2 디스크)에서 Linux를 부팅한 다음 필요한 경우 Arch 설치로 chroot할 수 있습니다.

어느 쪽이든 이제 시스템이 UEFI 모드로 부팅되므로 EFI 변수에 액세스할 수 있으며 이제 grub-install --target=x86_64-efi올바른 부트로더를 사용하여 운영 체제를 영구적으로 설치하여 UEFI 사양에서 예상하는 방식을 완료할 수 있습니다.

답변2

가장 간단한 해결책은 아마도Super Grub2 디스크.

  1. 하나를 다운로드하여 설치하세요.Super Grub2 디스크 ISOUSB 메모리 스틱에. ISO 및 dd/또는 cat이미지를 혼합하여 고정하도록 선택합니다.

    dd if=/path/to/super_grub2_disk_hybrid_2.04s1.iso of=/dev/sdX bs=16M
    

    /dev/sdXUSB 스틱의 경로는 어디에 있습니까 /dev/sdd?

  2. BIOS 부팅 모드를 "UEFI 전용"(CSM 없음)으로 변경합니다.

  3. 스틱에서 Super Grub2 디스크를 부팅하고 메뉴에서 "부팅 방법 검색 및 표시"를 선택합니다. 예상대로 작동한다면 디렉토리에 있는 커널에서 부팅할 수 있는 커널 목록이 표시되어야 합니다 /boot.
  4. 커널을 선택하고 Arch 설치로 부팅한 다음GRUB 설치.
  5. 긴급 상황에 대비해 USB 플래시 드라이브를 보관하세요.

답변3

그것은 관련이 있다Super Grub2 디스크@Freddy가 제안한대로. 다른 사람이 이 문제를 우연히 발견할 경우를 대비해 아래에서 전체 프로세스(Freddy의 단계 포함)를 더 자세히 설명하겠습니다.

그러나 현재 안정적인 Super Grub2 Disk iso 이미지는 USB 스틱에서 부팅할 수 없습니다. 테스트해보고 사용해야겠어요다중 아키텍처 USB 이미지.

전체 프로세스는 다음과 같습니다.

  • Super Grub 2 디스크 USB 스틱을 만들고 테스트해보세요 :-)
  • 기존 HDD 또는 SSD에서 마지막 부팅
  • 만들다"gpt"새 SSD의 파티션 테이블 및 일부 파티션:
    1. "EFI 시스템" 파티션, 유형 EF00, VFat 포맷 및 /boot/efi에 설치
    2. /boot에 설치된 작은 Linux 파티션
    3. 암호화를 기반으로 LVM 사용,... 하나 이상의 시스템 파티션, 데이터...
  • 해당하는 경우 암호화 및/또는 LVM을 설정하십시오.
  • 기존 HDD 또는 SSD의 모든 데이터를 새 HDD 또는 SSD로 복사
  • fstab 조정새 UUID, 태그 또는 새 루트 파일 시스템에서 사용 중인 모든 항목을 추가하세요.
  • grub.cfg 조정그에 따라 새로운 to-be-/boot 파일 시스템에
  • 폐쇄
  • 기존 BIOS 기반 HDD 또는 SSD 연결을 끊습니다.
  • 컴퓨터를 시작하고 UEFI 설정을 입력하십시오.
  • CSM 비활성화
  • Super Grub2 디스크 USB에서 부팅(UEFI 부팅 메뉴를 열어야 할 수도 있음)
  • "부팅 방법 검색 및 표시"로 이동합니다(시간이 걸릴 수 있음). 이전에 grub.cfg를 올바르게 조정한 경우 올바른 메뉴 항목을 선택하기만 하면 수동으로 편집할 필요가 없습니다.
  • 새 SSD에 grub 설치 수행
  • UEFI 설정으로 다시 이동하여 새 SSD를 기본 Android 장치로 선택해야 할 수도 있습니다.

관련 정보