efibootmgr은 DevPath가 PciRoot 대신 Venhw로 설정된 항목을 생성합니다.

efibootmgr은 DevPath가 PciRoot 대신 Venhw로 설정된 항목을 생성합니다.

efibootmgr안녕하세요 . 부팅 항목을 만들 때 EFI 부팅 메뉴에 부팅할 수 없는 일본어 문자가 표시되고 이는 매우 좋지 않기 때문에 큰 문제가 있습니다 .

반면에 EFI 셸에서 bcfg를 사용하면 정상적으로 작동합니다. 사용된 efibootmgr 명령은 다음과 같습니다. efibootmgr -c -d /dev/nvme0n1 -p 1 -l /EFI/refind/refind_x64.efi -L "rEFInd"반면 bcfg 명령은 다음과 같습니다.bcfg boot add 3 fs0:\EFI\refind\refind_x64.efi "rEFInd"

bcfg boot dump -vefibootmgr과 bcfg 항목의 차이점은 다음과 같습니다 .

DevPathbcfg 항목에 대한 내용은 PciRoot(0x0)/Pci.....\EFI\refind\refind_x64.efiefiboomgr 항목에 대한 내용은 다음과 같습니다.VenHw(99E275E7-75AO-4B37)

efibootmgr을 작동시키는 방법에 대한 아이디어가 있습니까? 아니면 bcfg로 커널 매개변수를 지정하기 위해 사용해야 하는 명령 호출의 옵션은 무엇입니까?

답변1

efibootmgr귀하가 설명하는 것과 같은 항목을 생성하는 경우 ( ) 또는 펌웨어 VenHw(99E275E7-75AO-4B37)에 버그가 있는 것 같습니다 . efibootmgr즉, efibootmgr지정한 명령을 고려하십시오.

efibootmgr -c -d /dev/nvme0n1 -p 1 -l /EFI/refind/refind_x64.efi -L "rEFInd"

여기에는 특이한 두 가지 사항이 있습니다.

  • 디스크 장치/dev/sd?-- Linux의 대부분의 디스크 장치 이름은 에서 위쪽 ?문자가 나오는 형식의 이름을 갖습니다 a. 일부 SSD 카드와 같은 일부 장치에는 /dev/mmcblk0(메모리에서 가져온 것이므로 정확하지 않을 수 있음)과 같은 다른 형식의 파일 이름이 있습니다. 와 같은 장치 이름을 본 기억이 없습니다 /dev/nvme0n1. 틀렸다는 말은 아니지만, 최소한 특이한 경우이므로 다시 확인해야 합니다. 특히 파티션 번호를 포함하지 않도록 주의하겠습니다. 이것이 바로 파티션 번호를 위한 -p옵션 efibootmgr입니다.
  • 파일 사양-- 이전 버전에서는 efibootmgrEFI 구문을 사용하여 파일을 지정해야 합니다. 즉, 디렉토리 항목을 슬래시( \) 대신 백슬래시( /)로 구분해야 합니다. Linux 셸은 일반적으로 백슬래시를 고유하게 처리하므로 전체 경로 이름을 인용하거나 백슬래시를 두 배로 늘려야 하므로 -l \\EFI\\refind\\refind_x64.efi또는 를 지정해야 합니다 -l "\EFI\refind\refind_x64.efi. 의 최신 버전은 efibootmgr보다 전통적인 Unix/Linux 형식을 수용하고 내부적으로 "번역"할 것이라고 들었습니다. 하지만 해당 기능이 언제 추가되었는지 정확히 알지 못하며 어떤 버전의 Ubuntu를 사용하는지 밝히지 않았습니다. 다시 사용 중입니다. 따라서 슬래시보다는 이중으로 묶거나 인용된 백슬래시를 사용하는 것이 좋습니다.

물론 실제적인 문제로 를 통해 작업 항목이 있는 경우 bcfg다른 작업을 수행할 필요가 없습니다.efibootmgr . 나는 당신이 그것 때문에 묻는 것 같아요~해야 한다Ubuntu에서 이러한 유형의 유지 관리를 수행할 수 있기를 원하기 때문입니다.

답변2

나는 똑같은 문제가있었습니다. nvme 디스크를 사용하여 efibootmgr로 부팅 항목을 만들려고 했습니다. 부팅되지 않았고 BIOS의 부팅 메뉴에는 해당 항목에 일본어(또는 중국어?) 문자만 표시되었습니다. 다른 OS에서 부팅 항목을 검사한 결과 새로 생성된 항목이 VenHw 유형인 것으로 나타났습니다.

그러나 문제는 파티션 번호가 올바르지 않다는 것입니다. 암호화된 lvm 볼륨에는 루트 파티션과 일부 다른 파티션이 있습니다. 그래서 지정해야 했던 /boot 파티션 대신 efibootmgr에 대해 암호화된 파티션을 지정했습니다. 아마도 귀하의 경우는 아닐 수도 있지만, 다른 사람이 같은 이유로 이 문제에 직면할 경우를 대비해 이 글을 씁니다. efibootmgr에서 파티션 번호와 기타 매개변수를 다시 확인하세요.

답변3

refind.conf 파일을 편집하고 경로를 다시 PciRoot로 변경해야 합니다. conf 파일에 입력할 수 있도록 장치에 대한 전체 설명을 기록해 둡니다. 올바른 PciRoot를 선택했는지 확인하세요. ;)

관련 정보