이중 부팅 시스템을 사용할 때 Windows가 GRUB을 덮어 쓰지 못하게하는 방법


19

이중 부팅에 대해 많이 읽었으며 Windows를로드 한 다음 GRUB을 사용하여 Linux를로드하는 것처럼 쉬운 것처럼 보이지만 누구나 Windows는 GRUB이 기회를 얻었을 때 휴지통을 사용하는 것을 좋아한다고 말합니다. Windows 부트 로더를 사용하지 않고 가능한 한 간단하게 유지하고 싶습니다.


답변:


17

윈도우는, 당신이 그것을 설치할 때마다 부트 섹터를 덮어 새 버전으로 업그레이드하거나, 사용 도구는 같은 것 bootrec /fixmbr, bootrec /fixboot또는 이전 fdisk /mbr. 일반적으로 Windows를 먼저 설치 한 다음 Linux를 설치하십시오. 부팅 섹터는 위의 작업 중 하나를 수행 할 때까지 유지됩니다. (그리고 아마도 MBR에 쓰는 다른 방법도있을 것입니다.) 그러나 GRUB을 잃어 버리면 쉽게 복원됩니다.

  • 라이브 CD (CD / DVD 또는 플래시 드라이브)에서 부팅합니다.
  • 루트가되거나 sudo아래 명령으로 사용하십시오 .
  • 필요한 경우 사용 가능한 파티션을 나열하십시오. fdisk -l
  • Windows는 거의 확실하게 / dev / sda1에 존재합니다 : mount /dev/sda1 /mnt
  • MBR에 GRUB을 다시 설치하십시오. grub-install --root-directory=/mnt/ /dev/sda
  • 재부팅 : shutdown -r now
  • GRUB 메뉴를 복원하십시오. update-grub

컴퓨터가 충분히 강력하다면 100 % Unix, Linux 또는 BSD를 설치하고 가상 머신에서 Windows를 실행할 수도 있습니다.

또한 컴퓨터의 BIOS에 부팅 섹터를 보호하는 옵션이있을 수 있습니다.


업그레이드한다는 것은 Windows 7을 Windows 8로 또는 Windows Update를 실행한다는 의미입니까?
Nathan2055

1
@ Nathan2055 예, 7 ~ 8과 같은 새롭고 높은 버전의 Windows. Windows Update는 MBR에 영향을 미치지 않습니다.
Christopher

나는 그렇게 생각했다. 좋은 점은 Windows에서 MBR을 망칠 것이라 의심되며, 이것을 읽은 후에 Windows 8로 갈 길은 없습니다 .
Nathan2055

1
대안으로, Windows 부트 로더를 체인로드하여 grub으로 구성 할 수 있습니다. oreillynet.com/pub/h/2337 조금 더 복잡하고 효과가 너무 적어서 효과가 적을 수 있지만 그렇게하면 그렇게됩니다. Windows는 부트 로더를 덮어 쓰지만 여전히 Linux로 부팅 할 수 있습니다.
Bratchley

@JoelDavis : 그래, 그 작업에 대한 몇 가지 자습서를 읽었지만 GRUB을로드 한 경험이 전혀없는 사람과 업그레이드하고 싶지 않다는 점을 고려할 때 Windows에서 문제가 발생하지 않는다고 생각하는 사람에게는 나는 바닐라 GRUB 설정을 사용하고 부트 로더를 망칠 생각은 없다고 생각합니다.
Nathan2055

4

나는 바닐라 GRUB 설정을 사용하고 부트 로더를 망칠 생각은 없다고 생각합니다.

임의의 형태의 grub을 사용하면 부트 로더가 엉망입니다. GRUB은 "grand unified bootloader"의 약자입니다. 그리고 grub v1 adn grub v2의 두 가지 버전이 있습니다. 모든 최신 Linux 시스템은 grub2를 자동으로 사용합니다. Linux 시스템을 설치하는 경우 LILO를 특별히 사용하지 않는 한 grub이 기본 부트 로더입니다.

저는 개인적으로 xp와 Wheezy를 갖춘 듀얼 부팅 시스템을 가지고 있습니다. "windows restore"옵션을 비활성화하여 xp가 grub을 덮어 쓰지 않도록합니다.

복원 옵션을 비활성화하기 전에 Windows 부트 로더가 grub을 덮어 쓰면서 적어도 일주일에 한 번 grub을 수정해야합니다.

USB 포트를 통해 Windows 8을 외장 하드 드라이브에 설치하도록 수정하고 있습니다. 나는 이것이 장애없이 가고 내 mbr을 엉망으로하지 않기를 바라고있다.


1
Windows 복원 옵션을 비활성화하면이 문제가 해결 된 것 같습니다.
DrCord

2

이것은 내가 사용하는 해결 방법이며 개입없이 Windows 업데이트와 함께 작동합니다. EFI / Microsomething에서 EFI / Microsoft 이름 바꾸기 grub.cfg의 Windows 부팅 경로를 EFI / Microsomething / bootmfgw.efi로 바꿉니다.

menuentry "Microsoft Windows UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --set=root <PROVIDE YOUR EFI DRIVE UUID>
    chainloader /EFI/Microsomething/Boot/bootmgfw.efi
}

1

을 열고 gpartedGrub이 들어있는 파티션을 마우스 오른쪽 버튼으로 클릭하고 플래그를 관리하고 부팅을 표시하십시오.


2
Windows 설치가 부팅 파티션을 변경 한 경우에만 작동합니다. 필자의 경우 Windows 8.1 설치는 Christopher의 grub-install솔루션이 필요한 MBR을 덮어 썼습니다 .
Nathan Kidd

1

온라인 어딘가 에서 찾은 솔루션 (unix.stackexchange.com)에는 Windows 부팅 관리자 비활성화가 포함됩니다. Linux에 들어 오거나 (CD 또는 DVD를 사용할 수있는 경우 원래 설치) 다음 명령을 실행하십시오.

efibootmgr

이 방법은 Linux가 UEFI 모드로 설치된 경우에만 작동하므로 Linux가 레거시 모드로 설치된 경우 오류가 발생합니다. UEFI 모드로 설치하면 정보와 목록이 표시됩니다. 목록에 Windows 부트 로더 / 관리자 및 Linux가 있습니다. Windows의 우선 순위가 더 높을 수 있습니다 (부팅 순서가 목록보다 큼).

일부는 아니지만 일부 항목 옆에 별표 *가있어 활성화 된 것으로 표시됩니다.

Windows 항목 옆의 4 자리 부팅 번호를보고 실행하십시오.

sudo efibootmgr --bootnum #### --inactive

Windows 항목이 비활성화됩니다. 또한 비활성화 된 Windows가 아직 우선 순위가없는 경우 우선 순위가 더 높은지 확인하십시오.

sudo efibootmgr --bootorder ####,$$$$,&&&&,%%%%

여기서 ####은 Windows 부팅 번호입니다.

지금 재부팅하면 Linux 옵션이 가장 높은 우선 순위로 활성화 된 경우 grub으로 부팅됩니다.

Windows가 비활성화되었음을 인식하지 못하는 것이므로 Windows로 부팅하거나 업데이트해도 복구되지 않습니다.

관심있는 사람들을 위해 Linux를 설치하는 로컬 Linux installfest에 참여했습니다. 가장 자주 Windows 옆의 보조 OS로 사용됩니다. 나는이 방법이 실패하는 것을 아직 보지 못했고 여러 배포판 (주로 Ubuntu 및 Mint)과 여러 공급 업체 (Asus, Acer, HP, Lenovo)에서 시도했습니다.


0

텍스트 색상, 크기, 글꼴 또는 메뉴 항목 제목을 변경하면 Windows 10에서 GRUB 2를 덮어 씁니다.

이 문제를 해결하는 데는 두 가지 방법이 있습니다.

  1. 레거시 모드에서 Linux를 설치할 수 있습니다 (BIOS 설정> 부팅> 레거시 지원 + 레거시 우선).

  2. Windows 복원 (일명 시스템 보호)을 해제 할 수 있습니다 (제어판> 시스템 및 보안> 시스템> 시스템 보호> 구성> 비활성화).

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