i386 LVM Ubuntu 16 설치를 UEFI로 변환

i386 LVM Ubuntu 16 설치를 UEFI로 변환

UEFI 전용 NUC에서 실행할 수 있도록 Ubuntu 16의 이전 LVM 기반 BIOS 설치를 변환하려고 합니다. 나는 이것을 위해 여행했습니다.

부팅 복구 - 작동하지 않음 grub-install을 사용한 chroot가 작동하지 않음 - 작동하지 않음

많은 변화가 있었습니다. 세부사항은 다음과 같습니다:

세 개의 파티션: /dev/sda1 - Linux 이미지가 포함된 현재 /boot 파티션, ext2 /dev/sda2 - LVM을 사용하는 현재 /root 파티션 /dev/sda3 - FAT32를 사용하여 포맷된 새 EPS 파티션, 부팅 플래그 세트

루트 파티션에 chroot를 시도하고 sda1을 /boot로, sda3을 /boot/efi로 설치한 다음 grub-install을 사용했습니다. 성공했지만 부팅할 수 없습니다(예: 정확히 이렇습니다)https://www.shellhacks.com/reinstall-grub-from-live-usb-uefi-lvm/)

질문:

  • 내 대상 시스템은 i386이지만 UEFI 지원이 있는 x64 라이브 이미지만 얻을 수 있습니다. 이것이 문제가 됩니까?
  • 내 대상 시스템 버전이 라이브 버전과 일치해야 합니까?
  • /boot 파티션과 /boot/efi 파티션이 모두 있어도 문제가 됩니까?
  • 내 efi 파티션이 첫 번째 파티션이 아니더라도 문제가 되나요?
  • 올바르게 구성된 시스템이 어떤 모습인지 어떻게 알 수 있나요?

작동시키는 방법에 대한 단서가 있습니까? 나는 이것에 몇 시간을 보냈다

고쳐 쓰다: 내 UEFI 펌웨어는 64비트만 지원하고 부팅하려는 시스템은 32비트이기 때문에 이는 거의 확실합니다. 모든 것을 업그레이드할 계획이므로 먼저 chroot 다중 아키텍처 업그레이드를 시도하여 64비트 grub EFI로 부팅할 수 있는지 확인하겠습니다.

답변1

다양한 시스템 아키텍처에 대한 다양한 GRUB 버전이 있습니다. BIOS 기반 시스템의 경우 운영 체제에 grub-pc패키지가 설치되어 있습니다 grub-pc-bin.

GRUB의 UEFI 버전을 설치하려면 패키지를 설치해야 하며 UEFI 펌웨어는 64비트(= 일반적으로 그렇습니다)이거나 grub-efi-amd64UEFI 펌웨어 는 32비트(드물지만 가능)입니다.grub-efi-amd64-bingrub-efi-ia32grub-efi-ia32-bin

이것링크에 대한 설명원래와 동일한 GRUB 아키텍처 버전을 다시 설치한다는 기본 가정이 있는 것 같습니다. 귀하의 경우에는 그렇지 않습니다. 명령에 대해 명시적으로 스키마를 지정해야 할 수도 있습니다 grub-install.

grub-install --force-extra-removable --target=x86_64-efi /dev/sda

이것이 /dev/sda시스템 디스크라고 가정합니다(필요에 따라 조정).

32비트 UEFI 펌웨어가 있는 경우 이 옵션을 사용해야 합니다 --target=i386-efi.

--force-extra-removable부트 로더 파일의 두 번째 복사본을 ESP 파티션의 이동식 미디어/백업 위치에 배치하는 것을 나타냅니다 grub-install. 이는 실제 위치에서 프로그래밍을 위해 UEFI 부팅 변수에 액세스할 수 없는 경우 초기 부팅 프로세스를 단순화할 수 있습니다.grub-install

관련 정보