새 efi 파일에서 HP 랩톱을 grub으로 부팅하려면 어떻게해야합니까?


28

원래 창 8을 사용하여 Ubuntu 12.10 이중 부팅을 설치 한 HP Pavilion Sleekbook 14 랩탑이 있습니다. 부트 복구를 사용하여 grub으로 부팅하도록 설정했습니다.

내 문제는 내가 만든 새 efi 파일에서 바로 부팅 할 수 없다는 것입니다. BIOS 화면에서 부팅 옵션을 살펴 보았지만 우분투를 선택할 수는 없습니다. Ubuntu로 부팅 할 수있는 유일한 방법은 시스템 전원을 켤 때 F9를 누르고 수동으로 ubuntu efi 파일로 이동하는 것입니다. 이것은 작동하지만주의를 기울이지 않으면 Windows로 부팅됩니다.

부팅 복구 실행을 마친 후 sda2 / EFI / ubuntu / shimx64.efi에서 부팅하라는 메시지가 표시되었습니다.이 파일을 Windows bootmgfw.efi 대신에 옮겨야한다는 제안을 보았지만 걱정할 것입니다. 문제를 해결하고 Windows 8 설치를 부팅 할 수 없습니다. 이미 win7보다 win8을 싫어하지만 몇 가지 작업을 위해 때때로 필요합니다 ...

부팅 복구에 대한 자세한 내용은 여기 ( http://paste.ubuntu.com/1418009/)입니다.


내 경우 우분투 그놈이 설치 후 부팅되지 않았고 BIOS에서 새 부팅 옵션을 만들어 파일을 선택해야했지만 shimx64.efi가 나를 위해 일했습니다.
timkofu

여기에 Windows에 대한 많은 답변이 있습니다. Linux 또는 Windows로 부팅하려고합니까?
Evan Carroll

Windows 문제로 인해 불필요하게 복잡한 많은 답변 sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi은 @Vitor Abella의 답변에서 grub의 efi 이름을 바꾸는 것입니다
Evan Carroll

답변:


29

Ubuntu 12.04.3 LTS와 Windows 8을 이중 부팅하려고 할 때 HP Pavilion g6에서도 이와 동일한 문제가 발생했습니다. 즉, "복구"부팅 복구를 성공적으로 실행 한 후에도 여전히 노트북이 Windows 8로 직접 부팅되었습니다. HP 심볼이 나타나기 전에 F9를 누르면 부트 메뉴 (HP 메뉴? 모르겠다 ...)에 들어가서 "우분투"항목을 선택하여 GRUB으로 이동했습니다. 2 그리고 마지막으로 우분투 설치.

그래도 사용자 개입없이 컴퓨터를 Linux로 직접 부팅 할 수 있기를 원했습니다.

결국, 위의 Rod Smith의 답변 과 다른 포럼에서 찾은 정보와 함께 나를 위해 속임수를 사용했습니다. 보안 부팅이 비활성화되었고 레거시 부팅도 비활성화되었습니다.

이것이 내가 한 일입니다.

  • 부팅 로더를 선택할 수 있도록 시작시 F9 키를 사용하여 Ubuntu 설치로 부팅했습니다.
  • 우분투에 도착하면 터미널을 열었습니다.
  • 아래 명령을 사용하여 Windows 부트 로더의 위치를 ​​확인했습니다.

    $ sudo efibootmgr -v
    
  • 필자의 경우 원래 부트 로더는 다음과 같습니다 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi. 컴퓨터에서 다른 곳에있을 수 있습니다. 그렇다면 아래 명령을 조정해야합니다.

  • 그의 대답 (부트 로더를 수동으로 복구하는 방법에 대한 것)에 대한 Rod의 권장 사항에 따라 파일을 한 수준 위로 이동하여 해당 파일을 백업했습니다.

    $ sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi
    
  • 마지막으로, GRUB2의 부트 로더를 그 장소에 복사하여 시스템을 Windows의 원래 부트 로더 대신에 원하는 부트 로더를 "트레이 킹"합니다.

    $ sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
    

그래서 마지막으로 GRUB2로 듀얼 부트를 사용했습니다. Windows가 업데이트 후 부트 로더를 다시 덮어 쓰는 경우 (나와 마찬가지로) 이미 그럽으로 돌아가는 단계를 알고 있습니다.

이것이 누군가를 돕기를 바랍니다. 내 솔루션에 문제가 있으면 알려주십시오.


9
고맙지 만 도움이되었지만 Windows로 부팅 할 수 없었습니다. 시작시 GRUB이 시작되고 GRUB에서 'Windows Boot Manager'옵션이 GRUB 메뉴로 다시 이동합니다 (이것은 동일한 .efi 파일에 연결되므로 예상됩니다). 부트 복구로 운이 좋지는 않았지만 그 문제 처럼 보였습니다 . 우분투 붙여 넣기에서 가지고있는 Windows 부팅 항목을 복사하고 .efi 파일의 URL을 편집하여 bootmgfw.efi의 백업을 가리 키도록 /etc/grub.d/의 우분투로 이동하여 40_custom 파일을 작성하여 문제를 해결했습니다. 메뉴 항목에chainloader /EFI/Microsoft/bootmgfw.efi
Vince

1
그 메뉴는 저에게 효과가 없습니다
Pierre

@Pierre May : 아마도 다음 메뉴 항목을 사용하면 효과가있을 것입니다 : menuentry 'Real Windows'{set root = (hd0, gpt2) chainloader /EFI/Microsoft/bootmgfw.efi} (이는 efi 파티션이 첫 번째에 있다고 가정합니다) grub에있을 때 "c"를 입력하고 사용 가능한 파티션을 보려면 "ls"를 입력하십시오.
tobiasBora

12

새로운 Kubuntu 15.04로 이미 덮어 쓴 원본 Windows 8의 HP ProBook 4340에서 동일한 문제에 직면했습니다 (듀얼 부팅을 선호하지 않습니다). 다른 시도 중에서도 Boot-Repair (설치 후 HD와 boot-repair-disk 를 통해 )를 시도했지만 그 운동은 불필요했습니다.

트릭을 한 것은 BIOS 설정에서 다음과 같은 변경 사항이었습니다 (컴퓨터를 시작한 후 F10- 시스템 구성으로 이동 - 부팅 옵션 열기 ).

  1. 사용자 정의 부팅 확인

  2. SecureBoot 확인

  3. 부팅 모드 : UEFI 하이브리드 또는 UEFI 네이티브 선택 ( UEFI 네이티브 선택 )

  4. UEFI 부팅 순서 : 사용자 정의 부팅 을 맨 위에 놓습니다

  5. 사용자 정의 부팅 옵션 정의 : 추가 + 설정을 선택 하십시오 .\EFI\ubuntu\grubx64.efi

빠른 부팅 옵션 (F9) 의 EFI 파일 에서 부팅 옵션을 통해 GRUB을 열 때 올바른 경로 문자열을 찾았습니다 . 처음에는 옵션 목록에 다음이 포함되었습니다.

  • OS 부팅 관리자
  • EFI 파일에서 부팅

Customized Boot 옵션을 추가 한 후 목록에 추가되었습니다.

  • 맞춤형 부팅
  • OS 부팅 관리자
  • EFI 파일에서 부팅

hp zbook 15에서 정확히 그렇게 했습니까? 운이 없습니다
cmbarbu

당신은 UEFI 시스템을 사용하고 창문 후 우분투 16.10를 설치하는 경우이 답변 10은 올바른입니다
leoredi

고마워, 나는 이것을했다Define Customized Boot Option: choose Add + put the setting: \EFI\ubuntu\grubx64.efi
m3asmi

6

휴렛팩커드의 UEFI는 한동안 가슴 아프게했습니다. F9를 먼저 누르지 않아도 GRUB에서 HP 랩탑을 다시 시작할 수있게되었습니다.

문제가 하나 있습니다. 수정 후 GRUB에서 Windows 8을 선택할 수 있지만 Windows 8은 시작을 거부하고 GRUB 메뉴가 다시 표시되었습니다.

내 수정 :

  1. 원본 Microsoft efi 파일을 /boot/efi/EFI/Microsoft/Boot/bootmgf2.efi
  2. /boot/grub/grub.cfg이름이 바뀐 Microsoft efi 파일을 인식하도록 편집

이제 랩톱이 GRUB으로 부팅되고 Ubuntu 및 Windows 8이 GRUB에서 정상적으로 시작됩니다.


5

일반적으로 Boot Repair를 실행하면 Microsoft의 원래 부트 로더 파일 ( bootmgfw.efi)이 백업되고 bootmgfw.efi.bkp원본 bootmgfw.efi파일이 GRUB (또는 shim)의 사본으로 대체되고 게시 한 Boot Repair 출력에이 내용이 표시됩니다. 그러나 백업 파일이 보이지 않습니다. 따라서 다음 세 가지 중 하나를 수행하는 것이 좋습니다.

  • Boot Repair를 다시 실행하되 Microsoft 부트 로더 백업 및 교체와 관련된 옵션을 찾으십시오. 프로세스를 계속하려면 해당 옵션을 활성화하십시오. GRUB은 Windows를 시작하거나 시작하지 못할 수 있습니다. 보안 부팅을 활성화 상태로두면 "누락"이 발생합니다.
  • 수동으로 작업을 수행하십시오. Linux에서 백업 하십시오 (후자는 표준이 아니며 부트 복구 및 Ubuntu의 GRUB이이를 찾을 수 없기 때문에 이름을 바꾸지 않고 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi한 레벨 아래로 이동하는 것이 좋습니다 ). 그 자리에 복사하십시오 . 또는 Secure Boot를 계속 작동 시키려면 그 자리에서 복사 하여/boot/efi/EFI/Microsoft/bootmgfw.efibootmgfw.efi.bkp/boot/efi/EFI/ubuntu/grubx64.efi/boot/efi/EFI/ubuntu/shimx64.efigrubx64.efi/boot/efi/EFI/Microsoft/Boot원래 이름을 사용합니다. 그런 다음 GRUB 구성을 수정하여 새 위치 또는 새 이름으로 Windows 부트 로더를 시작할 수 있도록해야합니다. GRUB은 아직 보안 부팅 모드에서 Windows 부팅 로더를 시작할 수 없다고 들었습니다. 따라서 GRUB에서 Windows를 시작하려면 보안 부팅을 비활성화해야 할 수도 있습니다. OTOH, 나는 이것을 직접 시도한 적이 없습니다. 그렇기 때문에 GRUB의 기능에 대해 잘못 생각할 수 있습니다.)
  • 보안 부팅을 비활성화 한 다음 Linux로 부팅 하고 데비안 패키지를 사용하여 rEFInd 부팅 관리자 를 설치 하십시오. 완료되면을 입력하십시오 sudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/Microsoft/Boot. 후자의 명령은 방금 설명한 수동 절차 나 부트 복구와 유사한 방식으로 파일을 이동하고 이름을 바꾸지 만 rEFInd를 GRUB이 아닌 기본 부트 로더로 설정합니다. 보안 부팅을 사용하려면 파일을 저글링하고 새 버전의 shim을 설치하여 사용할 수 있습니다 (우분투의 shim은 rEFInd에서 제대로 작동하지 않을 정도로 빠릅니다). 이 방법으로 rEFInd를 설치하면 GRUB을 사용하지 않고 부팅 할 수 있으며 데비안 패키지를 설치할 때 패키지 시스템에서 실행되는 설치 스크립트와 스크립트의 조합 mvrefind.sh으로 인해 문제가 해결됩니다.

기록상, 문제는 HP의 EFI 구현에서 알려진 버그와 관련이 있습니다. 기본적으로 펌웨어는 Microsoft의 부트 로더에서 부팅하고 다른 것으로 부팅하기가 어렵거나 불가능하도록 하드 코딩되어 있습니다. 이에 대해 HP에 불만을 제기 할 것을 강력히 권장합니다. 사람들이 불평하지 않으면 그러한 문제를 해결하지 못합니다.

세 가지 솔루션 중에서 부팅 복구를 사용하는 것이 가장 쉬운 방법 일 것입니다. 그러나 앞서 언급했듯이 Boot Repair에서 사용하는 비표준 명명으로 인해 나중에 다른 유틸리티에 문제가 발생할 수 있습니다. 수동 조정은 작업을 위해 더 많은 노력이 필요하지만 장기적으로는 더 깨끗합니다. 일부 사람들은 GRUB이 Windows 부트 로더를 체인로드하는 데 문제가 있다고보고 했으므로 어느 옵션을 사용하든 그 점수에 두통이 생길 수 있습니다. rEFInd는 문제없이 Linux 또는 Windows를 부팅 할 가능성이 훨씬 높지만 절차에서 알 수 있듯이 수동 복구를 수행하는 것보다는 부팅 복구를 다시 실행하는 것보다 약간의 노력이 필요할 수 있습니다. 보안 부팅과 함께 rEFInd를 사용하려면 현재 더 많은 후프 점프가 필요합니다. (자세한 내용은 rEFInd의 설명서를 참조하십시오.

세 가지 솔루션 모두에 위험이 따릅니다. EFI 구현은 그 자체가 너무 다양하므로 한 컴퓨터에서 잘 작동하는 자동화 된 절차 나 수동 절차가 다른 컴퓨터에서는 비참하게 실패 할 수 있습니다. 자신을 보호하기 위해 ESP (일반적 /boot/efi으로 Linux)를 백업하는 것이 좋습니다 . tarball에 파일을 압축하거나 백업 디렉토리에 복사하면됩니다. 문제가 심하면 응급 디스크로 부팅하여 파일을 복원 할 수 있습니다. 즉 것이다 아마 컴퓨터를 다시 부팅을 얻는다.


대단히 감사합니다! 나는 아직 당신의 선택을 시도하지 않았지만 이번 주말에
maddentim

rEFInd 부팅 관리자가 흥미롭게 보입니다. 그렇다면 보안 부팅을 비활성화하고 여전히 Win8을 사용할 수 있습니까? 내가 가지고있는 한 가지 질문은 tar / boot / efi를 시도했을 때 tar가 ubuntu 폴더의 일부 파일에서 오류를 일으켰다는 것입니다. 'ame = "App.lic'과 같은 이상한 이름이 있습니다. paste.ubuntu.com/1418009 에서 809 행에서 817 행을 참조하십시오. 이 마지막 설치는 실제로 세 번째 시도였습니다. 내가 네 단계 중 하나를 완료 한 후에 다시 게시하겠습니다
maddentim

사람들이 보안 부팅을 비활성화하고 Windows 부팅에 문제가 없다는 몇 가지 보고서를 보았으므로 문제가되지 않습니다. 보안상의 이점을 위해이를 유지하려는 경우 이해할 수 있지만 Windows를 부팅 할 수 없게 될 염려는 없습니다. tar오류에 관해서 는 스크립트에 버그가 있고 이상한 이름의 파일을 만든 것처럼 들립니다. 이전에 출력에서 ​​해당 파일을 확인하지는 않았지만 버그를 생성 한 모든 버그는 부팅 문제의 원인 일 수 있습니다. 그렇다면 rEFInd를 사용하면 문제를 해결할 수 있지만 다른 솔루션은 실패 할 수 있습니다.
Rod Smith

rEFInd가 성공적으로 설치되지 않았습니다. LovinBuntu에 문제가 있다고 생각합니다. / boot / EFI는 읽기 전용입니다. 다음은 출력의 일부입니다. mkdir : /boot/efi//EFI/refind': Read-only file system cp: cannot create regular file /boot/efi//EFI/refind/refind_x64.efi ' 디렉토리를 작성할 수 없습니다 : 해당 파일 또는 디렉토리가 없습니다 ext4 용 드라이버 설치 (ext4_x64.efi) mkdir :`/ boot / 디렉토리를 작성할 수 없습니다. efi // EFI / refind ': 읽기 전용 파일 시스템 복사 된 rEFInd 바이너리 파일
maddentim

3

나는 같은 문제에 하루를 보냈고 마침내 그것을 해결했다. 다음은 정확한 해결책입니다. 이 문제를 해결하기위한 전체 기사는 여기 에 의해 작성되는 로드 스미스 .

유용한 정보

efi 부트 로더를 사용하여 GPT 파티션 테이블로 부팅합니다. efi파일은 설치시 운영 체제에 의해 만들어지며 코어 응답 운영 체제로 부팅 할 수 있도록 컴퓨터의 UEFI 바이오스에 제공되어야합니다.

efi 파일을 보관하려면 하나의 EFI 파티션이 있어야합니다. 이 fat32레이블 은 보통 형식 이 200MB 미만인 파티션 입니다 EFI system. 여기에는 부팅 가능한 파티션 (일반적으로 운영 체제)으로 부팅하는 데 필요한 .efi파일 및 해당 종속성 ( .dll또는 모양 .efi)이 포함됩니다. 내 컴퓨터에서이 파티션의 구조는 다음과 같습니다.

\EFI
   |_Boot
     |_fw
   |_Microsoft
     |_Boot
     |_Recovery
   |_Ubuntu
     |_fw

일반적으로 .efi파일 이름은 다를 수 있지만 일부 컴퓨터는 특정 이름을 찾고있는 것 같습니다. 그래서 표준 이름도 언급합니다.

  1. Boot폴더 : Is는 기본 부팅 옵션으로, NVRAM이 이유로 지워진 경우로 인식됩니다. 기본적으로 사용됩니다. efi 부트 로더의 이름은 "bootx64.efi"입니다. 기본 efi 부트 로더를 선택하려면 efi 파일과 그 주변의 모든 파일을 부트 폴더에 복사하고 소스의 efi 파일 이름을 "bootx64.efi"로 바꾸십시오.

  2. Microsoft폴더 : Windows의 efi 부팅 파일이 들어 있습니다. 여러 efi 파일이 있지만 주요 파일은 "efibootmgfw.efi"입니다. Windows에서 부팅하는 데 사용한다고 확신합니다.

  3. Ubuntu폴더 : Ubuntu 또는 Mint의 efi 파일이 들어 있습니다. 여러 .efi파일이 있지만 주요 파일은grubx64.efi

무엇을해야합니까?

운영 체제 설치시 이미 설치된 일부 부팅 옵션이 있습니다. 그러나 HDD 제거 및 재설치, 새 운영 체제 설치 또는 새 마더 보드 배터리와 같은 여러 가지 이유로 BIOS의 부팅 옵션에서 벗어날 수 있습니다. 부팅 옵션을 복구하는 두 가지 솔루션이 있습니다.

  1. (권장되지 않음) 일부 답변에 설명 된대로 작동중인 부팅 옵션을 작동하지 않는 부팅 옵션으로 교체 할 수 있습니다. 그러나 문제는 다른 방식으로 남아 있습니다.

  2. 누락 된 efi 부트 로더 파일을 수동으로 등록하십시오.

수행하는 방법?

  1. Linux 부팅 가능한 플래시에서 부팅합니다 (Linux Mint의 부팅 가능한 플래시를 사용합니다). EFI USB 여야합니다. (rufus와 같은 프로그램으로 만들 수있는 GPT usb)

  2. EFI 파티션을 마운트하면 배포판에서 자동으로 수행 할 수 있습니다. /boot사용 가능한 경우이 단계를 건너 뛰고 위와 유사한 구조를 표시하십시오. 현대 우분투는 당신을 위해 이것을해야합니다.

    1. EFI 파티션의 주소를 찾으십시오. parted명령 또는 Disks프로그램 을 사용하여 수행 할 수 있습니다 . 일반적으로 부팅 가능한 디스크의 첫 번째 또는 두 번째 파티션입니다. ( /dev/sda1또는 /dev/sda2)이 파티션은 일반적으로 FAT32가있는 100MB-200MB와 EFI 시스템의 파티션 유형입니다.

    2. EFI 파티션을 마운트하십시오. df명령을 사용 하여 파티션이 이전에 마운트되었는지 확인할 수 있습니다 .

      df  /boot/efi
      

      이전에 파티션을 마운트하지 않은 경우 (이전 명령에는 표시되지 않음) mount명령을 사용하여 파티션을 마운트하십시오 .

      mount  /dev/sda1  /boot/efi
      
  3. 이제 탐색 /boot/efi하면 위에서 설명한 것과 유사한 파일 구조가 표시됩니다. 손실 된 운영 체제의 폴더를 찾을 수 있는지 여부를 제어하십시오. 필자의 경우 컴퓨터의 BIOS는 Windows 부팅 옵션 만 볼 수 있었지만 Linux Mint의 Grub 부팅 옵션도있었습니다.

    • (권장되지 않음) Windows 부팅 옵션이 작동 했으므로 테스트 목적으로 먼저 Windows 용 부팅 efi 파일과 함께 많은 파일을 보유하는 Microsoft 폴더 백업을 만들었습니다. ( bootmgfw.efi나는이 이름 옆에) 그럼, 마이크로 소프트에 우분투 폴더를 이름 grubx64.efibootmgfw.efi. 다시 시작한 후 Windows로 부팅하는 대신 grub 메뉴가로드되지만 이번에는 Windows로 부팅하는 것이 grub을 통해서만 가능했습니다. 그리고 창으로 직접 부팅 할 수 없었습니다.

      sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
      
    • ( 권장 방법 ) BIOS의 부팅 옵션에서 관련 운영 체제를 표시 할 efi 파일의 주소를 작성하십시오. 필자의 경우 Linux Mint가 컴퓨터 BIOS의 부팅 목록에서 누락되었습니다. efi 파일의 주소는 /efi/ubuntu/grubx64.efiEFI 파티션의 루트 에 상대적입니다. 그런 다음 efibootmgr 명령 을 사용하여 NVRAM에 등록했습니다 .

      efibootmgr -c -d /dev/sda -p 1 -l \\efi\\ubuntu\\grubx64.efi -L nameForBootOption
      

      p 1명령의 일부로 1은 주어진 디스크에 EFI 파티션의 파티션 번호를 정의합니다. nameForBootOption부팅 옵션에 지정된 사용자 정의 이름입니다.

* 올바른 주소를 쓰도록주의하십시오. 리눅스에서 파티션을 마운트 할 때. 루트 아래의 일부 폴더에 파티션을 마운트하여 실제 주소를 다른 부분으로 확장 /media/mint/CC1F-9708/EFI/ubuntu하지만 일부만 제공하면 /EFI/ubuntu됩니다.

* Disks프로그램은 기본적으로 리눅스 민트의 부팅 가능한 플래시에있는 훌륭한 그래픽 도구입니다. EFI 파티션을 확인하고 찾는 데 사용할 수 있으며 마운트 또는 분할 명령을 사용하지 않고 EFI 파티션을 마운트하는 데 사용할 수도 있습니다. 메뉴, 기본 설정, 디스크에서만 검색하면됩니다.


권장하지 않는 방법으로 갔다. 완벽하게 작동했습니다.
Evan Carroll

1

이 버그의 영향을받습니다 : https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1091477

해결책:

  1. Gparted를 통해 다른 EFI 파티션 (FAT32, 200MB, 디스크의 첫 100GB 내에 위치)을 만듭니다.
  2. 거기에 '부팅'플래그를 이동
  3. Ubuntu에서이 새로운 ESP를 사용하도록하십시오 (예 : 부팅 복구-> 권장 복구를 통해).

첫 번째 100GB 안에 다른 ESP를 생성한다는 것은 win8 파티션을 200MB 이상으로 옮기는 것을 의미합니다. Windows 부팅이 중단 될 수 있습니다. 어쩌면 나는 그것을 날려 버려야합니다. 어쨌든 마음에 들지 않습니다. 넷플릭스를 볼 때만 필요합니다!
maddentim

Boot-Repair ( 'boot-sav'및 'boot-repair'패키지)를 업데이트 한 다음 권장 복구를 실행하고 표시 될 새 URL을 표시하십시오.
LovinBuntu


1

Windows 10을 통해 Cent-OS 7을 설치 한 후 비슷한 문제에 직면했습니다. 다음은 내가 따르는 프로세스입니다.

  • 초기 OS는 Windows 10이었습니다.
  • rufus가 만든 uefi usb를 사용하여 cent-os 7 설치

문제 : Windows 10 이로 드되고 cent OS 부팅 메뉴가 표시되지 않습니다.

  1. 내가 해결 한 방법 :
  2. 바이오스에 갔다
  3. 레거시 부팅 활성화 (향후 예방 조치를위한 추가 단계)
  4. 부팅 옵션으로 이동
  5. OS 부팅 관리자를 클릭하십시오
  6. CentOS UEFI를 창 위로 이동 : f10을 눌러 저장
  7. OD bootmanager를 다시 클릭하고 확인하십시오.
  8. f10을 눌러 저장하고 종료하십시오.

이제 시스템이 centos UEFI로 부팅됩니다

레거시 부팅을 활성화 했으므로 esc 키를 선택하여 BIOS 또는 다른 부팅 옵션으로 이동할 수 있습니다


1

bootmgfw.efirEFInd 또는 GRUB로 교체하지 않고 HP Pavilion g7-2269wm (UEFI)이 rEFInd를 부팅 (GRUB 가능) 할 수있는 방법을 찾았습니다.

rEFInd를 설치하고 다음을 사용하여 rEFInd를 부팅 관리자 목록에 추가했습니다. sudo efibootmgr -c -d /dev/sda -p 2 -L "rEFInd" -l "\EFI\refind\shimx64.efi"

F9를 사용하여 재부팅하여 rEFInd를 선택한 다음 Ubuntu를 선택하십시오.

그런 다음 이름 bootmgfw.efibootmgfwms.efi사용

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi

그런 다음 F9를 사용하지 않고 재부팅하고 rEFInd로 재부팅했습니다 .Windows 10 항목이 없어서 우분투를 선택했습니다.

그런 다음 내가 실행 한 Windows 10 항목을 다시 얻으려면

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi /boot/EFI/EFI/Microsoft/Boot/bootmgfw.efi

그런 다음 재부팅하고 F9를 누르지 않고 rEFInd가 나오고 Windows 10이 항목으로 나타납니다.


1

빈스 나 나처럼 창으로 부팅 할 수없는 사람들을위한 mairabc에 대한 추가 답변입니다. fs_uuid가 필요합니다 :

# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/bootmgfw.efi

그리고 hints_string :

# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/bootmgfw.efi

그런 다음 /etc/grub.d/40_custom 파일을 다음과 같이 편집해야합니다.

menuentry "Microsoft Windows x86_64 UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --no-floppy --set=root your_hints_string your_fs_uuid
    chainloader /EFI/Microsoft/bootmgfw.efi
}

그것을 저장하고

# update-grub

창으로 재부팅 ...


1

내 HP 랩톱에서 다음과 같이 단계별로 수행했습니다.

1-F9로 우분투로 부팅

2-Windows 부트 로더가있는 위치 확인

sudo efibootmgr -v

나의 경우에는 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

3-백업 .efi 파일 :

sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi

4-원본 .efi 파일을 우분투 파일로 대체하십시오 ( 트릭 ).

sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

5-grub에 windows 10 메뉴 항목을 추가하십시오. /etc/grub.d/40_custom파일 끝에이 메뉴 항목을 열고 추가하십시오.

menuentry "Windows 10 click here!" {
    search --set=root --file /EFI/Microsoft/bootmgfw.efi
    chainloader /EFI/Microsoft/bootmgfw.efi
}

6-저장 40_custom및 :

sudo update-grub

7-On bios 보안 부팅 비활성화 (필요한지 확실하지 않음)

8-모든 것이 올바르게 작동하면 기본적 으로 우분투에서 부팅 되고 Windows 10 은 grub의 또 다른 옵션이됩니다.

생각보다 쉬웠습니다.


sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi완벽하게 작동했습니다.
Evan Carroll

@EvanCarroll, 내 대답을 향상시켜야한다고 생각합니까? 정말 내가하는 단계입니다.
Vitor Abella

글쎄, 나는이 대답이 솔직히 필요하다는 것을 확신하지 못한다. 그것은 많은 단어이지만 귀하의 방법은 Tekin이 권장하지 않는 섹션 에있는 것과 동일 합니다. 그러나 Linux 전용 사용자의 경우이 방법은 단순하기에 좋습니다.
Evan Carroll

1

Windows 10 및 Ubuntu 이중 부팅이 포함 된 2018 HP 노트북, 14 인치가 있습니다. F9를 눌러 원하는 OS를 선택했으며 몇 주 동안 수행했습니다.

해결책:

  • 종료하고 F10을 눌러 BIOS로 이동

  • 부팅 순서가 나열된 BIOS 부분으로 이동

  • OS 부팅 관리자에서 Enter를 누르십시오.

  • F5 또는 F6을 사용하여 Windows에서 Ubuntu를 전환하십시오.

  • 저장하고 종료.


0

이것은 Windows 문제가 아닙니다! HP 펌웨어는 UEFI 회사 변수 "BootOrder"를 사용하지 않거나 제대로 지원하지 않기 때문에 완전히 버그가 있습니다. 이것에 대한 유일한 해결책은 Windows 부트 로더 파일 (일부 언급 한 것처럼)을 grub.efi로 바꾸는 것입니다.


0

내 시나리오는 15:20 게시물의 Michal Žarnay의 8 월 19 일 15 일과 비슷합니다 .HP Pavillion Slimline 400-314 미니 타워를 얻었고 사전 설치된 Windows 8이 필요하지 않았으므로 즉시 HDD를 다시 파티션하고 Ubuntu 14.04를 설치했습니다. 그럽 2.

불행히도, Pavillion의 BIOS 메뉴는 부팅 구성에서 극히 제한적입니다. 대부분의 다른 사람들이 여기에 설명하는 멋진 선택은 대부분 없습니다. 부팅 순서를 변경하려고해도 문제가 해결되지 않습니다.

내가 작업 한 유일한 솔루션은 이 블로그 의 "대체 이름 지정 솔루션"섹션에 설명 된대로 "대체 이름 지정"대안을 사용하는 것 입니다.


1
Ask Ubuntu에 오신 것을 환영합니다! 이 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
Mark Kirby

0

@Vitor Abella의 단계를 통해 HP 2000 노트북의 이중 부팅 문제가 해결되었음을 확인했습니다. 단 @mairabc에서 언급 한대로 다음 중 하나를 수행해야합니다.

  • 레거시 부팅 활성화 (기본적으로 보안 부팅은 비활성화 됨)

또는

  • 레거시 부팅을 비활성화하고 보안 부팅을 활성화합니다.

0

당신이 경우 부팅 파일을 이동할 싶지 않아 수동으로 부팅 순서를 변경 시도 할 수 있습니다 :

수동으로 우분투에 들어가서 다음을 사용하여 현재 부팅 순서와 ID를 확인하십시오.

sudo efibootmgr -v

그런 다음 -o와 ID를 사용하여 부팅 순서를 변경하십시오 (부팅 순서는 왼쪽에서 오른쪽으로).

sudo efibootmgr -o 0000,3000,0001,2001,2002,2003



:
1. 현재 부팅 설정 표시

$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0001,3000,0000,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

2. 부팅 순서를 변경하십시오 (우분투를 먼저 시작하고 싶습니다. 시작시 부팅 메뉴가 표시됩니다).
첫 번째 시도는 Boot2003 (플로피 디스크 드라이브?)을 찾을 수 없으므로 오류가 발생했습니다. 재부팅 후 다시 생성되었습니다.

$ sudo efibootmgr -o 0000,3000,0001,2001,2002,2003
Invalid boot order entry value: 0000,3000,0001,2001,2002,2003
                                                         ^
Boot entry 2003 does not exist

$ sudo efibootmgr -o 0000,3000,0001,2001,2002
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002
Boot0000* ubuntu
Boot0001* Windows Boot Manager
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3000* Internal Hard Disk or Solid State Disk
Boot3001* Internal Hard Disk or Solid State Disk
Boot3002* Internal Hard Disk or Solid State Disk
Boot3003* Internal Hard Disk or Solid State Disk

3. 재부팅하십시오. 부팅 메뉴가 나타납니다. (2003이 자동으로 다시 추가됨) :

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

0

grub4dos 가로 드되고 있음을 알면 솔루션이 실현되었습니다.

이 항목을 만들 men.lst

title Linux
find --set-root /-name.efi
boot /-name.efi

0

Windows 8이 설치된 노트북 HP-15-r248nf에 Ubuntu 14.04 64 비트를 10으로 업그레이드 한 후 Realtek Wifi 드라이버와 Wi-Fi 연결이 끊기는 문제 (을 사용하여 해결됨 echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf) 외에 PC에서 여전히 Windows로 부팅되었습니다.

grub을 통한 Ubuntu는 부팅 단계에서 ESC 키를 사용할 때만 사용할 수있게되었습니다. boot-repair는 도움이되지 않았지만 실제로 grub에 많은 옵션을 설치했지만 grub은 여전히 ​​직접 액세스 할 수 없었습니다.

실제로 부팅 순서를 기본값에서 변경하기 만하면됩니다.

  • PC 유형 Esc를 켠 후 부팅 단계에서 F10을 누른 다음 F10을 눌러 BIOS 설정으로 들어갑니다.
  • “시스템 구성”탭으로 이동하여“부팅 옵션”으로 이동하십시오. 엔터 키를 치시오. "보안 부팅"비활성화
  • UEFI 부팅 순서로 이동하십시오. F5 / F6을 사용하여 OS 부팅 관리자를 맨 위에 두었습니다 (아마도 필요하지 않음).
  • Enter를 사용하여“OS boot manager”를 선택하십시오. F5 / F6을 사용하여 우분투를 Windows 부팅 관리자 위의 맨 위로 이동하십시오.
  • F10 Save / exit로 Bios 설정을 그대로두고 변경 사항을 확인하십시오.

이제 별표가 표시된 우분투 옵션을 선택한 지브로 이동하여 짧은 지연 후에 자동으로 부팅됩니다.


2
이것을 조금 포맷하십시오. 나는 그것이 답인지 말할 수조차 없다.
TheWanderer

0

다음과 같이 EFI 부팅 문제를 해결했습니다.

efibootmgr -o재부팅하면 이 옵션을 덮어 쓰므로 작동하지 않습니다.

그러나 -n옵션이 한다는 것을 알았습니다 . 따라서 라이브 usb-ubuntu에서 우분투 efibootmgr의 네 자리 숫자를 찾아 -n옵션으로 해당 숫자를로드하십시오 . 그런 다음 시스템에서 다시 부팅하려면 다음과 같은 스크립트를 작성하십시오.

#!/bin/sh
/usr/bin/efibootmgr -n 0000

0000우분투 항목으로 교체 . 실행 crontab -e하면 cron을 편집 할 수 있습니다. 다음과 같은 줄을 추가하십시오.

@reboot /home/"user"/"path"/efibootsj

efibootsj컴퓨터가 부팅되면 스크립트 (또는 이름이 무엇이든) 가 실행 됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.