grub이 Windows 파티션에 설치되어있을 때 Windows 7로 부팅하는 방법은 무엇입니까?


15

원래 제목 : grub을 사용하여 동일한 파티션에서 Windows 7 부팅을 어떻게 해결할 수 있습니까?

이 문제를 2 ~ 3 일 동안 조사했지만 비어있게되었습니다.

기본적으로 파티션 1은 Windows 7이고 파티션 2는 Ubuntu 12.04입니다. 우분투에게 파티션 2에 설치하고 파티션 1에 GRUB을 설치하라고 말했는데 정상적으로 작동합니다. 그러나 문제는 이제 Windows 7을 부팅 할 수 없다는 것입니다. 선택한 후에 GRUB 메뉴로 돌아갑니다.

내가 조사한 바에 따르면 Windows 7 "mbr"또는 부트 로더 \windows\system32\winload.exe(Windows 7 복구 디스크를 사용하지 않음) 를 부팅하도록 GRUB을 편집 할 수 있으면 문제가 해결됩니다. 이것도 가능합니까?


Boot-Repair-Info의 URL은 http://paste.ubuntu.com/981952/입니다.


명령 출력 sudo blkid

/dev/sda1: UUID="1EA0019AA0017A13" TYPE="ntfs" 
/dev/sda2: UUID="e4402f9e-83df-4dc3-8913-69b28314d253" TYPE="ext4" 
/dev/sda3: LABEL="Vault Drive" UUID="74145BFD145BC132" TYPE="ntfs" 
/dev/sda4: UUID="1c030d32-657f-4a78-9468-307d9e09a977" TYPE="ext4"

답변:


14

아래 설명에 따라 부팅 복구 도구를 사용하여 Bootinfo Summary (부팅 정보 요약) 보고서를 만든 다음 보고서에 대한 링크를 게시 할 수 있습니까?

부팅 구성에 대한 세부 정보를 이미 제공 한 것으로 알고 있습니다. 그러나 내가 요청하는 보고서에는 자세한 정보가 포함되어 있으며 GRUB을 사용하여 Windows를 부팅 할 수없는 이유를 더 잘 이해할 수 있습니다.

부팅 복구를 사용하여 "Bootinfo 요약"을 제공하는 방법


여전히 Ubuntu를 부팅 할 수 있기 때문에 명령을 사용 하여 Boot-Repair 도구 를 설치하고 실행 apt-get한 다음에 사용할 수 Create a Bootinfo summary있습니다.

터미널 창에서 아래 명령을 실행하여 boot-repair도구 를 설치하십시오 .

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
  1. 완료되면 명령 boot-repair을 입력 하여 도구를 시작하십시오.
  2. 약간의 지연 후에 boot-repair최신 버전을 다운로드 할 것인지 묻습니다. 최신 버전을 설치 했으므로에 대답하십시오 No.
  3. 경우 boot-repair설치하도록 요청 pastebinit과 응답을 패키지 Yes.
  4. 도구는 이제 시스템을 스캔하고 (아래에) 아래 이미지에 표시된 창을 표시합니다. Create a Bootinfo summary상자 / 버튼을 클릭하십시오 . 이것은 시스템의 부팅 구성에 대한 정보를 수집하지만 변경하지는 않습니다.


    초기 부팅 복구 창

  5. bootinfo 요약이 작성되면 boot-repair다음과 같은 URL이 포함 된 메시지가 표시됩니다 http://paste.ubuntu.com/123456/.

    질문을 업데이트 / 편집하고이 URL을 추가하십시오. 이 링크가 가리키는 빈의 정보는 문제 진단에 도움이됩니다.

Windows 파티션의 VBR을 덮어 쓰면이 문제가 발생했다고 생각합니다.

내 이해는 운영 체제를 시작하는 데 몇 가지 단계가 있다는 것입니다. 귀하의 경우 아래 단계와 같은 것이 발생한다고 생각합니다.

  1. 컴퓨터의 BIOS가 하드 드라이브의 첫 번째 섹터에서 코드를 실행하려고합니다. 이 첫 번째 섹터는 일반적으로 MBR (Master Boot Record)이라고 합니다.
  2. MBR 외에도 모든 파티션에 부팅 레코드가있을 수 있습니다. 볼륨 부팅 레코드 또는 VBR 이라고도합니다 . 하드 드라이브의 MBR은 Windows 파티션 인 파티션 1의 VBR로 제어를 전송합니다.
  3. Windows는 파티션의 VBR이 Windows 7과 같은 운영 체제를 부팅하기 위해 다음 단계를 취할 것으로 기대합니다. 따라서 Windows는 원래 bootmgrWindows 파티션 의 Windows 프로그램으로 제어를 전송하는 VBR을 설치했을 것 입니다.

    그러나 GRUB을 Windows 파티션에 설치하는 프로그램을 Ubuntu 설치 프로그램에 지시하면 GRUB이 Windows VBR을 자체 파티션으로 교체 한 것으로 보입니다. 이 GRUB VBR은 GRUB 부팅 메뉴를 표시합니다.
  4. GRUB이 현재 Windows를 부팅하는 데 사용하는 지침은 기본적으로 Windows 파티션에서 VBR을 찾아서 제어를 전송하는 것입니다. Windows 파티션의 VBR은 GRUB의 VBR입니다. 제어권을 전송하면 GRUB 부트 메뉴가 표시됩니다.

불행히도,이 문제를 해결하는 가장 좋은 방법은 무엇인지 아직 확실하지 않습니다. GRUB을 중단하지 않고 Windows 부팅 문제를 해결하려고 할 때 컴퓨터에서 어떤 것도 부팅 할 수 없도록주의하고 싶습니다.

아래는 참고 용 Bootinfo 요약의 일부 정보 사본입니다. 위의 의견은이 정보를 기반으로합니다.

============================= Boot Info Summary: ===========================

 => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 
    of the same hard drive for core.img. core.img is at this location and 
    looks for (,msdos2)/boot/grub on this drive.

sda1: ______________________________________________________________________

    File system:       ntfs
    Boot sector type:  Grub2 (v1.99)
    Boot sector info:  Grub2 (v1.99) is installed in the boot sector of sda1
                       and looks at sector 44090872 of the same hard drive 
                       for core.img. core.img is at this location and looks
                       for (,msdos2)/boot/grub on this drive. No errors 
                       found in the Boot Parameter Block.
    Operating System:  Windows 7
    Boot files:        /bootmgr /Boot/BCD /Windows/System32/winload.exe

sda2: ______________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 12.04 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab /boot/grub/core.img

Windows 7을 부팅하는 가능한 해결 방법

다음은 Windows 7을 부팅 할 수있는 GRUB 부팅 명령을 편집하기위한 제안 사항입니다. 이것이 확실하지 않지만 시도해 볼만한 가치가있는 것 같습니다.

현재 grub.cfg아래 GRUB 부팅 명령을 사용하여 Windows 7을 부팅합니다.

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
    chainloader +1
}

나는 이것을 변경하려고 시도하고 대신이 명령을 사용하는 것이 좋습니다.

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
    ntldr ($root)/bootmgr
}

이를 수행하는 단계는 다음과 같습니다.

  1. GRUB 메뉴로 시스템을 부팅하십시오.
  2. GRUB 부팅 메뉴 항목을 선택 (강조 표시)합니다 Windows 7 (loader) (on /dev/sda1).
  3. eWindows 7의 GRUB 부팅 명령을 편집하려면 누릅니다 .
  4. menuentry위의 그림과 같이이 명령 목록을 두 번 변경하십시오 .
    • 명령을 추가하십시오 insmod ntldr
    • 명령
      chainloader +1
      을 다음으로 변경하십시오.
      ntldr ($root)/bootmgr
  5. 를 눌러 중 Ctrl+ X또는 F10이러한 편집 명령을 사용하여 부팅합니다.

참고 1 :

위의 해결 방법으로 Windows 7 부팅 메뉴를 성공적으로로드하면 다음과 같은 방법으로 반 영구적으로 만들 수 있습니다

  1. sudo파일을 편집하고 위의 /etc/grub.d/40_custom수정 된 두 번째 파일 을 추가하는 데 사용 합니다 menuentry. (이 작업을 수행하는 경우이 "사용자 정의"항목의 제목을 변경하는 것이 좋습니다.)
  2. 명령 sudo update-grub을 실행 /boot/grub/grub.cfg하여 사용자 정의 항목을 포함 하도록 업데이트 하십시오. (부팅 할 때 GRUB 메뉴 하단에 있습니다.)

위의 제안은 부분적으로 구운 솔루션으로 만 생각합니다. 더 나은 솔루션은 GRUB의 부팅 기능을 손상시키지 않고 Windows VBR을 Windows 파티션으로 복원하는 것 입니다.

나는 생각하지만 ... 100 % 확실하지는 않습니다 ... Windows 복구 명령 bootsect을 사용 하여이 작업을 수행 할 수 있습니다. 위험을 감수하려는 경우 가능한 한 가지 방법은 다음과 같습니다.

  • 윈도우를 부팅 할 때 Enter 키를 눌러 F8위옵니다 Advanced Boot Options메뉴를 표시합니다.
  • Repair Your Computer항목을 선택하십시오 .
  • 에 도달 할 때까지 다음 창을 걷습니다 System Recovery Options.
  • 고르다 Command Prompt
  • 명령을 실행 bootsect /nt60 C:

그러나 위의 시도에 대한 위험을 감수하기 전에 조금 기다렸다가 질문에 대한 다른 답변을 확인할 수도 있습니다.

노트 2:

다른 것을 검색하는 동안 AskUbuntu에 관한 두 가지 다른 질문을 통해 문제와 관련이있었습니다.

  1. Ubuntu 11 설치 후 Windows 7이 부팅되지 않음
  2. Ubuntu 설치 후 Windows 7이 부팅되지 않음

이 질문들이 얼마나 도움이되는지 잘 모르겠습니다. 두 번째 질문에 대한 대답은 명령 bootrec /fixboot을 사용 하여 Windows 파티션의 VBR을 복원하는 것이 었습니다 . 그 질문에 대한 나의 이해는 bootrec /fixboot명령 을 사용 하면 문제가 해결 되었다는 것 입니다.

그러나 두 번째 질문은 문제를 해결 bootrec /fixboot하지 못했다고 주장합니다 .

(내가 무슨 일이 벌어지고 있는지에 대해 도대체 나를 물리칩니다.)


당신의 답변에 감사드립니다. 나는 운이 좋았지 만 다른 사람들이 그것에 대해 알지 못했다면 지금 당장한다. Boot-Repair-Info의 URL은 http://paste.ubuntu.com/981952/
Sim

1
GRUB을 Windows 파티션에 설치하여 문제가 발생한 것 같습니다. 내 답변에 대한 업데이트를 참조하십시오.
불합리한 John

내가 어떻게 할 수 있다고 생각합니까? bootrec를 사용한 다음 grub을 다시 설치해야합니까? 아니면 다른 방법이 있습니까?
Sim

평소와 같이 Windows 부팅을 복구 할 수 있습니다. 완료되면 Windows가 묻지 않아도 자동으로 부팅됩니다 (Windows는 Linux를 인식하지 못함). 이 문제가 해결되면 USB에서 Linux를 부팅하고 GRUB을 다시 실행할 수 있습니다. 이번에는 Windows 파티션을 건드리지 마십시오.)
pzkpfw

내 대답에 가능한 임시 해결 방법에 대한 제안을 추가했습니다.
비이성적 인 John

7
menuentry "Windows 7" {
    insmod ntfs
    set root=(hd0,1)
    drivemap -s (hd0) ($root)
    ntldr /bootmgr
    #or chainloader +1
}

(hd0,1) 이외의 파티션에 Windows를 설치 한 경우 drivemap 명령을 사용하여 Windows로 부팅해야합니다. Chainloader +1 또는 ntldr / bootmgr은 모두 Windows 7을 부팅하는 데 사용할 수 있습니다.

당신이 한 일은 첫 번째 파티션의 VBR을 수정 한 것입니다. 설치 CD로 부팅 할 때 cmd의 Windows 복구 모드에서 다음 명령을 실행하여 복원 할 수 있습니다.

bootrec.exe /FixMbr  

bootrec.exe /FixBoot  

bootrec.exe /RebuildBcd

이것은 실제로 작동하는 유일한 대답입니다. +1
데이지

1

난 정말 모르는 "(UN) 부팅)" 당신이 (선택 윈도우 복구 디스크를 사용하여 윈도우를 해결하기 위해 시도 갈까요 Command Prompt실행하는 bootsect.exe유틸리티. Bootsect 너무로 디렉토리를 변경 부팅 폴더 안에 있습니다 boot. 지금 실행 bootsect /nt60 C:\(없이 quotes) C:파티션 에 Windows 7을 처음 설치 한 경우 "bootsect / nt60 SYS"또는 "bootsect / nt60 ALL"을 실행할 수 있습니다)

그런 다음 GRUB을 다시 설치하십시오.


답장을 보내 주셔서 감사합니다. 내가 의미하는 것은 그럽 부츠이지만 선택 후 창문은 아닙니다. 연구에 따르면 mbr의 부팅을 복구하려면 "bootrec.exe / fixboot"를 사용한 다음 "bootrec.exe / fixmbr"을 사용해야합니다. 방법이 bootrec와 같거나 다른가요?
Sim

필자의 경험에 따르면 이중 부팅으로 Ubuntu를 설치 한 후 재부팅 할 때 Windows를 실행하고 자체적으로 복구 한 다음 Ubuntu로 돌아 오는 것이 좋습니다. 매번이 방법을 따라 성공했습니다.
beeju

진실. Windows의 경우 EasyBCD
Sim

0

GRUB은 BootInfo가 다음과 같이 Windows PBR (부팅 부팅 섹터)에 설치됩니다.

sda1: __________________________________________________________________________

File system:       ntfs
Boot sector type:  Grub2 (v1.99)
Boot sector info:  Grub2 (v1.99) is installed in the boot sector of sda1 
                   and looks at sector 44090872 of the same hard drive 
                   for core.img. core.img is at this location and looks 
                   for (,msdos2)/boot/grub on this drive. No errors found 
                   in the Boot Parameter Block.
Operating System:  Windows 7

이렇게하면 Windows가 부팅되지 않습니다.

해결책은 여기에 잘 설명되어 있습니다 : http://ubuntuforums.org/showpost.php?p=11693662&postcount=1


0

나는이 같은 문제가 있었고 다른 사람들을 도울 희망으로 나를 위해 일한 솔루션을 확인하고 싶습니다 ...

여기에 변경 사항을 반영하기 위해 grub.cfg를 편집했습니다.

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
    ntldr ($root)/bootmgr
}

즉, 나는 추가했다 ...

insmod ntldr

마지막 줄을 ...로 변경했습니다.

ntldr ($ root) / bootmgr

곧 VBR을 복원하려고 시도하고 그 결과가 어떻게되는지 다시보고 할 것입니다.


0

내 Windows 10 부팅 문제를 해결했습니다 ....

menuentry "Windows 10 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13 
    ntldr ($root)/bootmgr
}

hexadec.code가 다를 수 있습니다


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