이중 부팅 설정에서 grub을 일시적으로 비활성화/제거한 다음 grub을 시작 시 상태로 복원

이중 부팅 설정에서 grub을 일시적으로 비활성화/제거한 다음 grub을 시작 시 상태로 복원

저는 x64 데스크톱 시스템에서 Windows 7과 Arch Linux 사이를 전환할 수 있는 grub 2.02-beta2가 포함된 이중 부팅 설정을 사용하고 있습니다. 둘 다 동일한 물리적 HDD의 C: 드라이브에 설치되어 있습니다. (일반적인 해결책은 BIOS를 전환하여 Windows HDD에서 부팅하는 것이었지만 나에게는 불가능합니다.)

이제 Microsoft는 GRUB 부트로더를 사용할 때 재부팅 시 설치가 실패하는 문제가 있는 2016년 10월 보안 업데이트를 출시했습니다. 따라서 나는 다음을 달성하려고 노력하고 있습니다.

  • 어떻게든 GRUB 부트로더를 비활성화하여 Linux 데이터 손실 없이 PC가 자동으로 Windows로 부팅되도록 합니다(C에 파티션 하나, D에 파티션 하나)
  • 모든 업데이트를 설치하고 몇 번 재부팅하십시오.
  • Live CD 등을 사용하여 데이터 손실 없이 GRUB에 대한 이전 구성을 복원합니다.

답변1

좋아, 오늘 드디어 시간이 나서 이걸 해냈어. 이 작업에는 시간이 좀 걸립니다. 이러한 명령을 실행하기 전에 UEFI 또는 BIOS 시스템이 있는지, 그리고 GPT 또는 MBR 파티션 테이블이 있는지 확인하십시오. 분명히 이것은 보증이 0과 함께 제공됩니다. 이것이 나에게 도움이 된 것입니다. 저는 StackOverflow 및 기타 포럼 답변을 많이 사용했습니다. 안타깝게도 링크는 2개만 허용됩니다.

0단계: 백업 백업 백업. 저는 무료인 Reflect를 사용했습니다. 이 기능은 제 역할을 하고 있으며 다른 옵션도 많이 있습니다. 대용량 외장 HDD를 구입하고 파일을 클라우드에 저장하세요. (개인 정보 보호가 걱정된다면 Cryptomator를 추천할 수 있습니다. 예를 들어 Google 드라이브는 15Gig를 무료로 제공합니다.) 진지하게, 모든 종류의 일이 잘못될 수 있으며 실제 기회가 있습니다. 최소 1개의 OS를 다시 설치해야 할 수도 있습니다.

1 단계: GRUB 제거/덮어쓰기.

저에게는 이것이 가장 오래 걸렸습니다. 기본적으로 원하는 것은 MBR을 덮어쓰는 것입니다. (나는 이러한 기술에 가장 능숙하지 않습니다. UEFI 또는 BIOS가 있는지 확인하고 싶을 것입니다. UEFI가 있습니다. 그리고 파티션 테이블이 GPT인지 확인하고 싶을 것입니다. 또는 MBR입니다. 어떤 이유에서인지 MBR이 있습니다. 이전 표준입니다.) GRUB가 Windows를 직접 가리키도록 한 다음 업데이트를 설치할 수 있습니다.

이를 수행하는 방법에 대한 설명을 찾을 수 있습니다.여기. 먼저 Windows에서 이 작업을 시도해 보는 것이 좋습니다. 이 시점에서 Windows가 2시간 정도 전혀 부팅되지 않았기 때문에 이 작업은 매우 오랜 시간이 걸렸습니다. 결국 시작 수정이 작동하지 않았습니다. BIOS에서 UEFI가 아닌 USB를 선택하고 프롬프트에서 많은 명령을 실행해야 했습니다.

bootrec /fixmbr
bootrec /fixboot

"요소를 찾을 수 없음"으로 인해 Fixboot가 실패했습니다. 그러다가 따라갔어이것기사, 특히 주의하세요. 드라이브 문자를 올바른 문자로 변경하세요. bcdboot C:\Windows /SC: bootrec 항목을 실행하고, 파티션을 활성으로 설정하고, 시작 도움말을 한 번 실행하면 이제 창이 부팅됩니다.

이 상태에 도달하면 창을 몇 번 재부팅하고 모든 업데이트를 설치하고 새로운 보안 시스템에 만족할 수 있습니다. 그런 다음 우리는 Linux를 다시 원한다는 것을 깨달았습니다.

2 단계: 그럽 다시 설치

이를 위해 나는 HDD에서 아치 리눅스를 부팅하곤 했습니다. 여기서는 부팅을 위해 mv /dev/disk/by-label/MYLINUXLIVE /dev/disk/by-label/ARCH_를 수행해야 했습니다. 그런 다음 sudo fdisk -l을 사용하여 Linux 파티션을 찾았습니다. 이제 마운트하고 chroot sudo mount /dev/sdXY /mnt sudo arch-chroot 이제 MBR을 다시 덮어쓰는 grub을 설치하려고 합니다. sudo grub-install --target=i386-pc --recheck /dev/sdUV grub-mkconfig -o /boot/grub/grub.cfg 재부팅 종료

이제 grub으로 부팅되기를 바랍니다. 나에게는 처음에는 창을 찾지 못했지만 쉽게 수정되었습니다.

3단계: Windows 항목을 grub에 다시 추가합니다(선택 사항).

이전 아치/Linux 설치로 부팅하고 를 실행하면 os-probe창을 감지하고 를 실행합니다 sudo grub-update. Arch에는 기본적으로 grub-update가 없으므로 소스 코드는 다음과 같습니다.

#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"

그 후에는 문제가 있는 업데이트가 설치되어 몇 가지 신경을 잃었다는 점을 제외하면 모든 것이 이전과 동일합니다.

답변2

Jeff의 답변은 좋은 답변입니다. 부팅 복구를 적극 권장합니다.

https://sourceforge.net/projects/boot-repair-cd/

이를 통해 MBR을 재설정하여 Windows로 직접 부팅할 수 있었고 Windows를 업데이트한 후 Grub을 다시 설치하고 이중 부팅 모드로 돌아갈 수 있었습니다.

관련 정보