저는 EFI 마더보드에서 Debian Wheezy를 사용하고 있으며 Windows 7 설치 프로그램의 bootmgr을 로드하려면 GRUB2의 ntldr 모듈이 필요합니다. 그 이유는 Windows 7 설치 프로그램의 bootmgr이 자체적으로 부팅되는 방식 때문입니다(분명히 설치 프로그램이 있는 USB 플래시 드라이브의 부트 섹터를 사용하기 때문입니다). ) Windows는 MBR 형식의 디스크에만 설치됩니다. grub-install을 사용하여 GRUB를 설치하면 GRUB 모듈 폴더에 ntldr.mod가 추가되지 않고 삽입할 수 없습니다.
- 왜? GRUB 패키지를 설치하지 않고 다운로드하면(apt-get 다운로드...) 모듈을 찾을 수 있습니다. 다운로드한 패키지의 .mod 파일을 설치된 GRUB 모듈 폴더에 추가한 다음 GRUB 명령줄에서 "insmod ntldr"을 추가하면 잘못된 "ELF 매직"(?)이 발생합니다.
- 강제하는 방법은 무엇입니까?
- 전체 디스크를 MBR로 포맷하고 싶지 않기 때문에 "GPT 모드"에서 Windows 설치 프로그램을 시작하는 다른 방법이 있습니까?
답변1
시스템을 BIOS로 부팅하는 데 사용되는 grub-pc 패키지를 다운로드했으므로 이 모듈은 grub의 efi 버전에 로드되지 않습니다. 이 모듈은 BIOS에 따라 다르므로 EFI 버전의 grub에는 존재하지 않습니다.
USB 스틱에서 Windows 설치 프로그램을 부팅하려면 grub을 사용하여 아무 것도 수행해서는 안 됩니다. grub을 사용하여 하드 드라이브 대신 해당 드라이브에서 부팅하도록 펌웨어에 지시하면 됩니다.
답변2
모드( Legacy BIOS
또는 UEFI
)는 USB 스틱에 설치된 부트로더 및 BIOS 설정에 따라 결정됩니다.
Windows 7 설치 미디어는 ( Legacy BIOS
및 UEFI
)를 지원해야 합니다. 후자의 경우 설정에 따라 다릅니다. 그러나 UEFI-HDD 및 Win7-USB-Stick 부팅에서 Legacy BIOS
모드로 부팅할 수 있으므로 "Both"로 설정해야 합니다. 이는 BIOS가 이를 지원 UEFI
하고 폴백으로 Legacy BIOS
모드로 부팅할 수 있음을 의미합니다.
이 문제를 해결하려면 UEFI를 지원하는 Win7-Image를 사용하여 설치하고(그렇지 않은 것이 있는지도 모르겠습니다) BIOS를 UEFI 모드(콤보 모드 없음)로 명시적으로 설정해야 합니다. ).
그러나 이것이 작동하지 않으면 귀하의 질문에 대답하십시오. 이것은 작동해야 합니다:
Win7-Image를 HDD
또는 에 배치 USB-Drive
하고 올바른 모듈을 선택하십시오(설명에 따라).
menuentry "Windows 7" --class windows --class os {
# Insert modules needed in order to access the iso-file
# choose the right module for the partition-table-scheme the image lies on
insmod part_gpt
insmod part_msdos
# choose the right module for the filesystem the image lies on
insmod ntfs
insmod fat
insmod ext2
# Insert module needed in order to find partition
insmod search_fs_uuid
# Set UUID of partition with the iso-image
# and let grub2 find the partition
# (save it's identifier to the variable $root)
set uuid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
search --no-floppy --set=root --fs-uuid $uuid
# Mount the iso image by addressing it with (partition)/path
set iso=/images/Win7_English_x64.iso
loopback loop ($root)$iso
# boot (chain-load) the windows7-image using the bootmgfw.efi file located
# on the Win7-ISO-Image
chainloader (loop)/efi/microsoft/boot/bootmgfw.efi
}
이미지를 USB 스틱에 직접 덤프하려면 iso 설치에 필요한 부품을 보관해야 합니다 set iso=
. loopback loop ($root)$iso
그렇다면 체인 로더는chainloader ($root)/efi/microsoft/boot/bootmgfw.efi
답변3
레거시 모드로 부팅하면 됩니다. UEFI 설정을 입력하고 올바른 부팅 장치를 선택하십시오. ubuntu 항목을 선택하지 마십시오. 이것은 EFI 모드용입니다. 대신 HDD로 부팅하면 grub이 열립니다. ubuntu를 선택하고 sudo update-grub을 다시 실행하십시오. 드라이브에 efi 모드로 부팅되는 오래된 우분투 부트로더가 있지만 grub도 MBR에 있습니다.
답변4
올바른 Windows 부트 로더가 설치 이미지의 큰 패키징 파일 어딘가에 숨겨져 있다는 것을 발견했습니다. 압축을 풀고 올바른 시작 디렉터리에 넣은 다음 평소처럼 GRUB2 체인로더를 사용하여 로드할 수 있습니다. 올바른 로더가 있음에도 불구하고 Microsoft가 이를 깊이 숨기고 기본 부팅 디렉터리에 이상한 로더를 넣는 이유를 이해할 수 없습니다. 그것은 나에게 효과적이었습니다(그러나 압축을 푸는 것이 상당히 고통스럽기 때문에 찾은 지침 페이지에 제공된 파일을 다운로드했습니다). 불행히도 자세한 내용은 기억나지 않습니다. 온라인 어딘가에서 매뉴얼을 찾았지만 일반적인 아이디어는 설명되어 있습니다.