부트로더가 사라지는 것을 방지하는 방법은 무엇입니까?

부트로더가 사라지는 것을 방지하는 방법은 무엇입니까?

저는 Bitlocker 및 Secure Boot를 사용하여 Lenovo Yoga C930에서 Grub 및 UEFI를 통해 Manjaro 및 Windows를 이중 부팅하고 있습니다. BIOS에서 보안 부팅을 비활성화하면 Manjaro로 성공적으로 부팅할 수 있고, BIOS에서 보안 부팅을 다시 활성화하면 Windows로 부팅할 수도 있습니다. 알 수 없는 이유로, 무작위로 보이는 이유로 Linux 부트로더를 잃어버리게 되었습니다. 제거되었는지, 갑자기 인식되지 않는지, 아니면 무엇인지는 모르겠지만 부팅할 수 없고 BIOS에 옵션으로 표시되지 않습니다.

Wiki의 지침에 따라 Grub을 다시 설치할 수 있었지만 결국에는 사라졌습니다. 무슨 일이 일어나고 있으며, 이런 일이 발생하지 않도록 하려면 어떻게 해야 합니까?

답변1

나는 Windows가 시스템을 "암 없는" 상태로 유지하고 있다고 생각합니다.

[편집] 사용하는 부팅 방법에 따라 기존 부팅 방법과 UEFI라는 두 가지 솔루션이 있습니다.

유산:

이를 bcd부팅 관리자로 사용하여 Windows 또는 Linux를 부팅할 수 있습니다.

grub이 설치되어 /dev/sda있고 /dev/sda1Windows EFI 파티션이라고 가정합니다.

리눅스에서:

mount /dev/sda1 /mnt
dd if=/dev/sda of=/mnt/linux.bin bs=512 count=1

Windows의 경우:

bcdedit /create /d "Linux" /application bootsector

BCDEdit는 항목의 영숫자 식별자를 반환합니다. 나머지 단계에서는 이를 {ID}라고 부르겠습니다. {ID}를 실제 반환된 식별자로 바꿔야 합니다. {ID}의 예는 {d7294d4e-9837-11de-99ac-f3f3a79e3e93}입니다. 다음으로 linux.bin 파일의 복사본을 호스팅하는 파티션을 지정해 보겠습니다.

bcdedit /set {ID} device partition=c:

linux.bin 파일의 경로:

bcdedit /set {ID}  path \linux.bin

시작 시 표시되는 메뉴 항목:

bcdedit /displayorder {ID} /addlast

마지막으로 메뉴 옵션이 표시되는 시기를 지정해 보겠습니다.

bcdedit /timeout 30

그게 다야! 이제 재부팅하면 Windows 또는 Linux로 부팅하도록 선택할 수 있는 메뉴가 표시됩니다. Linux를 선택하면 Linux 부팅을 선택할 수 있는 부트로더 메뉴로 이동하게 됩니다.

https://www.iceFlatline.com/2009/09/how-to-dual-boot-windows-7-and-linux-using-bcdedit/

[편집하다] UEFI

Windows 시스템에는 부팅할 수 있는 EFI 파티션이 있습니다. Linux 에서는 이를 /boot. ​안에 .grub.cfglinux /vmlinuz-4.4.0-1-default root=UUID=6159e15d-f224-499d-88e0-437b5538f0f1 quiet splash=silentblkid/etc/grub.d

grub 구성을 작성합니다./boot/boot/efi/EFI/manjaro/grub.cfg

grub2-mkconfig -o /boot/boot/efi/EFI/manjaro/grub.cfg

재부팅하면 "가야"할 수 있습니다.

답변2

약 2년 전에 Trisquel Linux와 Windows 8을 사용하여 이중 부팅하는 중에 유사한 문제가 발생했습니다. 질문/답변을 게시했습니다.여기슈퍼유저 관련(당시 어떤 이유로든 듀얼 부팅 문제가 U&L의 주제에서 벗어났다고 들었습니다).

이 게시물에서 볼 수 있듯이 문제는 Windows가 GRUB를 제거하거나 덮어쓰는 것이 아니라 GRUB 대신 Windows 부트 로더를 사용하도록 UEFI 설정을 주기적으로 변경한다는 것입니다. 해결책은 Windows에서 bcdedit를 사용하고 기본 부트로더 경로를 GRUB로 설정하여 문제를 해결하는 것이었습니다.

동일한 솔루션이 귀하에게 효과가 있을지는 모르겠지만 시도해 볼 가치가 있을까요?

(또한 Windows를 부팅하기 위해 보안 부팅을 활성화할 필요는 없다고 생각합니다. 보안 부팅을 비활성화한 상태에서 Windows 8로 부팅했습니다.)

답변3

실제로 이 문제는 제가 직접 해결했습니다. 결과적으로 efibootmgr새로운 시작 항목을 수동으로 생성하고 높은 우선순위를 부여해야 했습니다. 여태까지는 그런대로 잘됐다.

관련 정보