qemu로 실제 Windows 파티션을 부팅하는 방법은 무엇입니까?


14

내 유일한 하드 드라이브에 gentoo와 windows 7이 설치되어 있습니다. gentoo에서 qemu를 통해 Windows 설치를 시작하고 싶습니다. 부팅 메뉴는 제대로 작동하지만 선택하면 곧바로 윈도우 블루 스크린이 나타납니다.

어떻게 작동합니까?

(qemu 에뮬레이트 된 하드웨어가 작동하는 데 필요한 드라이버가 Windows에 없다고 가정합니다.)


qemu올바른 아키텍처로 실행해야합니다 . 또한 HDD 컨트롤러가 AHCI가되기를 기다리는 동안 (또는 그 반대로) Windows가 부팅되지 않습니다.
gelraen

건축은 훌륭하지만, qemu가 그것을 지원하지 않는 것 같아서 ahci에 대해 할 수있는 일이 없다고 생각합니다 ...
McEnroe


@gelraen 문제는 귀하의 링크가 내가하고 싶은 일의 반대 과정을 설명한다는 것입니다. 나는 그것이 운동 할 가능성이 있거나 적어도 100 % 뒤집을 수 있다는 것을 모른 채로 시도해 볼 위험이 없습니다.
McEnroe

이 게시물은 AHCI에서 ATA로 다시 되 돌리는 것에 관한 것입니다. 또한 물리적 시스템에서 항상 AHCI를 끄고 다시 변경하거나 단순히 레지스트리 파일을 백업 할 수도 있습니다.
gelraen

답변:


8

기본 물리적 Windows7 파티션 부팅은 다음과 같이 수행 할 수 있습니다.

  1. 필수 구성 요소를 준비합니다 (Win7 설치 미디어, Virtio 드라이버).
  2. 현재 사용자가 하드 드라이브를 읽기 전용으로 액세스 할 수있게하십시오.
  3. 스냅 샷 모드에서 QEMU를 사용하여 부팅하십시오.

이 변경되지 않습니다 아무것도 (이 읽기 전용입니다 사실) 물리적 드라이브를.


세부

필수품 준비

  1. Win7 용 ISO 또는 실제 드라이브가있는 경우 실제 설치 매체를 준비하십시오.
  2. Virtio 드라이버를 다운로드하십시오 (예 : Fedora의이 드라이버) :
    https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso

설치된 Windows 아키텍처 (32 비트 대 64 비트)와 일치하는 올바른 설치 매체를 사용하십시오. 다음 명령은 64 비트 아키텍처를 가정합니다.

디스크 접근 가능

이것은 하드 드라이브가 /dev/sda루트로 실행 되었다고 가정합니다 .

   chmod g-w /dev/sda
   chgrp $USER /dev/sda

udev 가 일반적으로 모든 장치 파일을 다시 작성 하므로 다음에 다시 부팅 할 때이 변경 사항이 유실됩니다 .

QEMU로 부팅

  1. 이것은 다시 하드 드라이브가 있다고 가정합니다 /dev/sda. 네트워킹이 비활성화되었습니다 :

    qemu-system-x86_64 -snapshot -m 3G -enable-kvm -usbdevice tablet \
    -drive file=/dev/sda,if=virtio \
    -drive file=<win7-installation-media> \
    -drive file=<virtio-driver-media>,media=cdrom -boot d \
    -net none
    
  2. 이제 CD / DVD에서 부팅하여 Win7 복구를 시작하고 Virtio 드라이버를로드 한 다음 복구 명령 프롬프트에서 다음 명령을 실행하십시오. 드라이브 문자를 올바른 문자로 바꾸십시오.

    dism /image:g:\ /add-driver /driver:e:\viostor\w7\amd64
    

드라이브 G:는 Win7 설치가 포함 된 드라이브 입니다. 드라이브 E:는 Virtio 드라이버가있는 CDROM 드라이브를 나타냅니다.

dism명령에서 복사 된 이 슈퍼 사용자 응답 .

자세한 내용은 스크린 샷을 확인하십시오.

(죄송합니다. 스크린 샷이 준비되었지만 게시하려면 10 개의 평판이 필요합니다.)


10 가지 평판은 고통입니다. 그것은 우리와 다른 많은 사람들이 우리가 원하는 상세한 도움을주는 것을 막았습니다. = / 방금 내 이미지를 imgur에 업로드하고 FYI 링크를 붙여 넣었습니다.
브렌트 리튼 하우스

솔직히 말하면 10 점을 얻는 것이 어렵지 않습니다. 문제는 더 이상 스크린 샷을 찾을 수 없다는 것입니다. 나는 그들이 내 디스크 어딘가에 있다고 확신하지만 ... : /
doak

3

이 게시물 에서 보았 듯이 qemu를 사용하여 기존 Windows 설치를 부팅 할 수 없습니다.

주된 주장은 Windows가 설치 될 때 제품 키가 컴퓨터의 마더 보드와 연결되어 있다는 것입니다. 이제 qemu를 사용하여 Windows를 실행하려고하면 Windows는 qemu 에뮬레이터를 다른 마더 보드로 인식하므로 문제가 발생합니다.

자세한 내용 은 게시물 을 참조하십시오.


2
VirtualBox는 QEMU가 할 수있는 임의의 마더 보드 ( forums.virtualbox.org/viewtopic.php?t=33356 ) 로 자체 광고 할 수 있습니다.
RushPL

1

나는 다른 사람들이 더 똑똑한 사람들이 블로그에서 제공 한 예제를 수정함으로써 archlinux 에서이 작업을 수행했습니다.

최소 버전 :

뎁 설치

sudo pacman -S qemu   # qemu itself
sudo pacman -S ovmf   # intel EFI driver
cp /usr/share/ovmf/x64/OVMF_CODE.fd bios.bin   # copy OVMF_CODE.fd to bios.bin somewhere. It MUST be renamed.

qemu를 시작하십시오

qemu-system-x86_64 \
    -enable-kvm                                   `# enable KVM optimiations` \
    -L .                                          `# dir with bios.bin` \
    --bios bios.bin                               `# bios.bin itself` \
    -m 8G                                         `# provide reasonable amount of ram` \
    -cpu host                                     `# match the CPU type exactly` \
    -drive file=/dev/sda,format=raw,media=disk    `# load raw HDD` 

성능 최적화

다음 플래그도 나에게 권장되었으며 성공적으로 사용하고 있습니다.

# emulate exact host cpu,
# enable hyper-v enlightenments
-enable-kvm
-cpu host,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time
-machine type=pc,accel=kvm

# use all available CPU cores
-smp $(nproc)

뷰어

나는 향신료를 뷰어로 사용했습니다.

-daemonize  `# don't start monitor, we connect using RDP` \
-vga qxl \
-spice port=5930,disable-ticketing \
-device virtio-serial \
-device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 \
-chardev spicevmc,id=spicechannel0,name=vdagent \

뷰어를 표시하기 위해 다음과 같이

spicy -h 127.0.0.1 -p 5930 & disown spicy;  # spice-gtk

Windows 부트 로더 경고

마지막으로 여러 디스크를 사용하는 경우 Windows 부트 로더에주의하십시오. 두 번째 비 OS 드라이브도 존재하지 않으면 부팅되지 않는 Windows 설치가 완료되었습니다.

참고 문헌

소스를 여기에 보관하고 싶습니다. 최소한 다음이 매우 도움이되었다는 것을 기억합니다.

https://wiki.qemu.org/Main_Page https://qemu.weilnetz.de/doc/qemu-doc.html https://wiki.archlinux.org/index.php/QEMU https : //wiki.gentoo .org / wiki / QEMU https://www.suse.com/documentation/sles11/book_kvm/data/part_2_book_book_kvm.html

행운을 빕니다!


이것은 아치 리눅스에서 나를 위해 일했다
jameh

0

다음은 실제 Windows 10 드라이브에 사용하는 것입니다. "-cpu host"플래그를 사용하지 않으면 대부분의 경우 Windows가 부팅되지 않습니다.

예를 들어 / dev / nvme0n1을 드라이브로 바꾸십시오. / dev / sda 또는 / dev / sdb

qemu-system-x86_64 --enable-kvm -cpu 호스트 -smp 8 -m 8192-드라이브 형식 = raw, file = / dev / nvme0n1

출처 : http://realtechtalk.com/QEMUKVM_wont_boot_Windows_2016_or_2019_server_on_an_Intel_Core_i3_-2221-articles

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