멀티부트에서 부팅 순서 변경 Windows 10 - Ubuntu 15.10 - Fedora 23

멀티부트에서 부팅 순서 변경 Windows 10 - Ubuntu 15.10 - Fedora 23

Windows 10 - Ubuntu 15.10 - Fedora 23이 포함된 멀티 부팅 컴퓨터에서 부팅 순서를 설정하는 데 문제가 있습니다.

내가 한 일은 다음과 같습니다. 예상대로 작동하는 Windows 10 및 Ubuntu 15.10의 이중 부팅만 사용했습니다.

  • 구성할 수 있고, 예를 들어 테마를 설정할 수도 있습니다.
  • USBLive에서 쉽게 부팅할 수 있었습니다.

다른 리눅스 배포판을 사용해 보고 싶어서 Fedora 23을 설치했습니다.

Fedora가 부팅 시 전원을 가져가는 현상이 발생했습니다. 설명된 대로 Ubuntu에서 부팅하려면 먼저 Fedora 부팅 구성을 변경하고 linux 및 initrd를 linuxefi 및 initrdefi로 교체해야 했습니다.여기.

그러면 내 컴퓨터에 설치된 모든 OS에 액세스할 수 있습니다. 하지만 저는 우분투에 부팅 권한을 돌려주고 싶습니다.

그래서 먼저 Ubuntu에서 부팅 복구를 시작해 보았지만 효율적이지 않습니다.

그런 다음 efibootmgr을 사용하려고했습니다.

$ sudo efibootmgr 
Mot de passe [sudo] pour xavier : 
BootCurrent: 0004
Timeout: 2 seconds
BootOrder: 0004,0006,0000,0007,0001,0002,0003
Boot0000* Windows Boot Manager
Boot0001* ubuntu
Boot0002  UEFI: IP4 Qualcomm Atheros PCIe Network Controller
Boot0003  UEFI: IP6 Qualcomm Atheros PCIe Network Controller
Boot0004* Fedora
Boot0006* grub
Boot0007* ubuntu

그런 다음 Ubuntu와 Fedora에서 순서를 변경해 보았습니다.

$ sudo efibootmgr --bootorder 0006,0004,0000,0001,0007,0002,0003
BootCurrent: 0004
Timeout: 2 seconds
BootOrder: 0006,0004,0000,0001,0007,0002,0003
Boot0000* Windows Boot Manager
Boot0001* ubuntu
Boot0002  UEFI: IP4 Qualcomm Atheros PCIe Network Controller
Boot0003  UEFI: IP6 Qualcomm Atheros PCIe Network Controller
Boot0004* Fedora
Boot0006* grub
Boot0007* ubuntu

하지만 재부팅할 때 efibootmgr을 사용하여 변경한 사항은 적용되지 않으며, efibootmgr에 부팅 순서를 다시 요청하면 Fedora를 사용한 변경 사항이 제공됩니다...

문제는 다음과 같이 내가 실제로 이해하지 못하는 다양한 매개변수에서 발생할 수 있다고 생각합니다.

  • efi boot, grub 및 grub2의 차이점은 무엇입니까
  • 보안 부팅은 어떤 영향을 미치나요?
  • 레거시 부팅이란 무엇입니까?

깨끗한 설정을 얻는 데 도움을 줄 수 있는 모든 분들께 감사드립니다.

편집: Rod Smith의 답변을 통해 -v 인수를 사용하여 더 많은 정보를 얻을 수 있다는 사실을 깨닫게 되었습니다.

$ sudo efibootmgr -v
BootCurrent: 0004
Timeout: 2 seconds
BootOrder: 0004,0006,0000,0007,0001,0002,0003
Boot0000* Windows Boot Manager  HD(2,GPT,e0e2d47c-9086-47d6-b1e5-0ec248d9d6f0,0x12c800,0x96000)/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.}...3................
Boot0001* ubuntu    HD(2,GPT,e0e2d47c-9086-47d6-b1e5-0ec248d9d6f0,0x12c800,0x96000)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot0002  UEFI: IP4 Qualcomm Atheros PCIe Network Controller    PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)/MAC(448a5b4783b6,0)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)..BO
Boot0003  UEFI: IP6 Qualcomm Atheros PCIe Network Controller    PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)/MAC(448a5b4783b6,0)/IPv6([::]:<->[::]:,0,0)..BO
Boot0004* Fedora    HD(2,GPT,e0e2d47c-9086-47d6-b1e5-0ec248d9d6f0,0x12c800,0x96000)/File(\EFI\FEDORA\SHIM.EFI)
Boot0006* grub  HD(2,GPT,e0e2d47c-9086-47d6-b1e5-0ec248d9d6f0,0x12c800,0x96000)/File(\EFI\GRUB\SHIMX64.EFI)
Boot0007* ubuntu    HD(2,GPT,e0e2d47c-9086-47d6-b1e5-0ec248d9d6f0,0x12c800,0x96000)/File(\EFI\UBUNTU\GRUBX64.EFI)

덕분에우편Rod Smith로부터 저는 두 우분투 항목의 역할을 모두 이해했습니다. 그러나 그럽 파일은 파일이 존재하지 않기 때문에 원하지 않는 것 같습니다.

$ ls -a
.  ..  Boot  fedora  Microsoft  MSI  ubuntu

지워야 하지 않을까요?

그런 다음 다른 주문을 시도했습니다.

$ sudo efibootmgr --bootorder 0001,0004,0000,0006,0007,0002,0003

그러나 안타깝게도 변경 사항이 적용되지 않습니다.

그렇다면 Rod Smith의 답변을 잘 이해한다면 독특한 해결책은 fedora 항목을 지우는 것입니까? 언젠가 fedora만 유지하고 싶다면 문제가 발생할 수 있지만 그때까지는 USBLive로 부팅할 수 있을까요?

다시 한번 감사드립니다!

답변1

게시물 끝 부분에 있는 질문에 답변하는 것으로 시작하겠습니다.

  • EFI 모드 부팅은 펌웨어의 기본 부팅 모드를 사용하는 반면, BIOS/CSM/레거시 모드 부팅은 이전 BIOS 모드 부트 로더 부팅을 허용하는 호환성 지원 모듈을 사용합니다. 보다이 질문과 superuser.com에 대한 내 답변이 주제에 대해 자세히 알아보세요.
  • GRUB은 다음 중 하나입니다.Linux용 여러 EFI 모드 부트 로더.(BIOS 및 기타 펌웨어 유형을 위한 GRUB 버전도 있습니다.) GRUB 1이라고도 불리는 GRUB Legacy는 EFI에 대해 공식적으로 지원되지 않았지만 Fedora에는 현재 포기된 패치 버전이 많이 있었습니다. 따라서 EFI 컨텍스트에서 GRUB에 대한 대부분의 참조는 GRUB 2를 참조합니다.
  • 보안 부팅은 EFI가 신뢰할 수 있는 기관에서 암호화 서명하지 않은 바이너리를 실행하지 못하도록 차단하여 시스템 보안을 향상시키기 위한 선택적 EFI 기능입니다. 원칙적으로 이 권한은 귀하가 될 수 있습니다. 아니면 다른 사람일 수도 있습니다. 실제로 Microsoft는 보안 부팅에 일반적으로 사용 가능한 유일한 키를 보유하고 있으므로 프로세스를 제어합니다. 다행스럽게도 Microsoft는 타사 바이너리에 서명할 것이며 Ubuntu는 이를 사용하여 Microsoft가 다음과 같은 바이너리에 서명하도록 했습니다.틈 메우는 나무여기에는 Ubuntu에서 GRUB 및 Linux 커널에 서명하는 데 사용되는 Canonical의 키가 포함됩니다. 두 개의 Linux 배포판을 이중 부팅하는 경우 배포판의 Shim에는 다른 배포판의 키가 포함되지 않습니다. 따라서 MokManager.efiEFI 아래의 유틸리티를 사용하여 수행할 수 있는 MOK(머신 소유자 키) 목록을 사용하여 다른 배포의 키를 등록해야 합니다 . 나는 이 sb-updatevar유틸리티가 Linux에서도 이 작업을 수행할 수 있다고 생각 하지만 이에 대한 경험이 적습니다. 보다여기여러 개의 키를 한 곳에 편리하게 보관할 수 있습니다. .cer또는 열쇠 가 필요합니다 .der. 보다보안 부팅에 대한 내 페이지이 주제에 대해 자세히 알아보세요.

주요 문제에 관해서는 efibootmgr -o(또는 efibootmgr --bootorder) 명령~해야 한다지정한 부팅 프로그램에 제어권을 부여하십시오. 그러나 아마도 당신은 Boot0001or 에 제어 권한을 부여하려고 했을 것입니다 Boot0007. Ubuntu는 자체 부팅 항목을 설명하기 위해 not 이라는 Boot0006이름을 사용합니다 . 를 입력하면 부팅 항목에 대한 전체 경로가 생성됩니다(길고 복잡하며 특히 파티션의 GUID 번호를 참조하는 EFI 경로 식별자를 사용하여 식별됨) . 버전 ). 따라서 다른 작업을 수행하기 전에 부팅 순서를 가 아닌 올바른 값으로 변경해 보는 것이 좋습니다 .ubuntugrubsudo efibootmgr -vgdiskblkidBoot0004

실제로 버그가 있는 EFI 또는 시스템의 NVRAM( 표시 및 조정하는 데이터가 저장되는 efibootmgr위치)의 데이터 손상으로 인해 변경 사항이 작동하지 않는 경우가 있습니다 . efibootmgr이러한 문제에 대한 세 가지 솔루션이 일반적으로 사용됩니다.

  • 원하지 않는 항목 지우기sudo efibootmgr -b 0004 -B- 때때로 삭제 처럼 원치 않거나 중복된 항목을 삭제하면 Boot0004문제가 해결될 수 있습니다. (그러나 실제로 이 항목을 삭제하고 싶을 수도 있고 원하지 않을 수도 있습니다.) 때로는 시스템을 다시 작동시키기 위해 여러 부팅 항목을 삭제해야 할 수도 있습니다.하지 마라하지만 부팅해야 하는 항목을 삭제하세요. 또한 대부분의 컴퓨터에는 Network Controller출력의 두 항목과 같이 펌웨어 자체에서 생성하는 항목이 있습니다 . 해당 항목을 삭제하는 것은 일반적으로 권장되지 않습니다.
  • 펌웨어를 기본값으로 재설정-- 대부분의 EFI는 펌웨어 설정 유틸리티에서 모든 설정을 기본값으로 재설정하는 옵션을 제공합니다. (일부 사람들은 "BIOS 설정 화면" 또는 이와 유사한 것으로 부릅니다. EFI는 기술적으로 BIOS가 아니지만 많은 사람들, 심지어 제조업체에서도 종종 그렇게 지칭합니다.) 이 접근 방식의 단점은 다음과 같습니다. 전멸할 가능성이 있는모두EFI 항목을 삭제하여 응급 디스크를 사용하여 하나 이상의 작업 항목을 복원할 때까지 시스템을 부팅할 수 없게 만듭니다.
  • 다른 항목에 부트로더를 피기백하세요.-- 이 접근 방식에는 EFI가 실행 시 요구하는 파일 이름을 사용하기 위해 원하는 부트 로더를 복사하거나 이동/이름 변경하는 작업이 포함됩니다. 일반적으로 EFI가 Windows 부트 로더 이외의 실행을 거부할 때 사용되므로 귀하의 경우에는 필요하지 않습니다.

하지만 조금 더 뒤로 물러서서 어떤 GRUB(Fedora 또는 Ubuntu)를 사용하는지는 중요하지 않다고 말씀드리겠습니다. 그들은 기본적으로 동일한 소프트웨어입니다. 원하는 작업을 수행하도록 Fedora의 GRUB를 구성하는 데 문제가 있는 경우 언제든지 설정을 조정할 수 있습니다. 하지만 OTOH, GRUB 2 구성은 매우 기본적인 사항을 넘어서면 매우 어렵습니다. 이러한 이유로 여러 Linux 배포판을 이중 부팅하는 많은 사람들은 자체 GRUB 또는 다른 배포판 독립적 부트 로더를 선호합니다. 내 자신의rEFInd 부팅 관리자커널 업데이트를 감지하기 위해 구성 파일에 의존하지 않고 특정 OS의 구성 스크립트로부터 독립되는 등 이러한 구성에 대한 몇 가지 장점이 있습니다. 즉, efibootmgr한 GRUB에서 다른 GRUB로 전환하는 데 문제가 있는 경우 rEFInd(또는 다른 부트 로더)를 시작하는 데 문제가 있을 수도 있습니다. 또한 보안 부팅을 사용하는 경우 rEFInd가 작동하려면 MOK에 보안 부팅 키를 하나 이상 등록해야 할 수도 있습니다. Ubuntu의 GRUB로 전환하려는 이유가 Fedora의 GRUB가 Ubuntu의 커널을 실행하지 않기 때문이라면 문제는 보안 부팅일 가능성이 높습니다. Canonical/Ubuntu용 보안 부팅 키를 추가하면 이 문제를 해결할 수 있습니다.


편집하다:

Boot0001원하는 작업을 수행할 가능성이 가장 높은 항목이므로 부팅 목록의 시작 부분에 있어야 합니다. 하지만 그것은 당신에게 효과가 없는 것 같습니다.

부팅 프로세스를 Fedora에 맡길 수 있다면 새로운 문제가 연속적으로 발생하지 않도록 그렇게 하는 것이 가장 좋습니다. 확실히 Fedora 항목을 완전히 삭제하는 것은 위험합니다. 왜냐하면 다른 작업을 수행할 수 없으면 아무것도 부팅할 수 없는 상태가 될 수 있기 때문입니다.

시도해 볼 수도 있습니다보안 부팅 비활성화,현재 활성화되어 있다고 가정하면 해당 기능은 특히 복잡한 설정에서 문제를 일으킬 수 있기 때문입니다.

답변2

마침내 Rod Smith의 도움 덕분에 내가 원하는 부팅 순서를 선택할 수 있는 솔루션을 찾았습니다.

그가 보안 부팅을 비활성화하라고 언급했듯이 BIOS 설정에 액세스했으며 예상대로 보안 부팅이 이미 비활성화되었지만 efibootmgr 없이 부팅 순서를 변경하기 위해 bios/uefi 설정에 있을 기회를 얻었습니다. .

그런 다음 USB 장치에서 먼저 부팅하기로 선택한 다음 우분투를 먼저 사용하여 하드 디스크에서 부팅 순서를 설정했는데 작동합니다!

따라서 어떤 이유로든 efibootmgr이 순서를 변경할 수 없는 경우 bios/uefi 설정으로 직접 이동하는 것이 최선의 선택일 수 있으며 실제로 어려운 것은 아니라고 생각합니다.

이것이 다른 사람들에게 도움이 되기를 바랍니다.

도움을 주셔서 다시 한번 감사드립니다.

자비에르

관련 정보