내 유일한 하드 드라이브에 gentoo와 windows 7이 설치되어 있습니다. gentoo에서 qemu를 통해 Windows 설치를 시작하고 싶습니다. 부팅 메뉴는 제대로 작동하지만 선택하면 곧바로 윈도우 블루 스크린이 나타납니다.
어떻게 작동합니까?
(qemu 에뮬레이트 된 하드웨어가 작동하는 데 필요한 드라이버가 Windows에 없다고 가정합니다.)
내 유일한 하드 드라이브에 gentoo와 windows 7이 설치되어 있습니다. gentoo에서 qemu를 통해 Windows 설치를 시작하고 싶습니다. 부팅 메뉴는 제대로 작동하지만 선택하면 곧바로 윈도우 블루 스크린이 나타납니다.
어떻게 작동합니까?
(qemu 에뮬레이트 된 하드웨어가 작동하는 데 필요한 드라이버가 Windows에 없다고 가정합니다.)
답변:
기본 물리적 Windows7 파티션 부팅은 다음과 같이 수행 할 수 있습니다.
이 변경되지 않습니다 아무것도 (이 읽기 전용입니다 사실) 물리적 드라이브를.
설치된 Windows 아키텍처 (32 비트 대 64 비트)와 일치하는 올바른 설치 매체를 사용하십시오. 다음 명령은 64 비트 아키텍처를 가정합니다.
이것은 하드 드라이브가 /dev/sda
루트로 실행 되었다고 가정합니다 .
chmod g-w /dev/sda
chgrp $USER /dev/sda
udev 가 일반적으로 모든 장치 파일을 다시 작성 하므로 다음에 다시 부팅 할 때이 변경 사항이 유실됩니다 .
이것은 다시 하드 드라이브가 있다고 가정합니다 /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
이제 CD / DVD에서 부팅하여 Win7 복구를 시작하고 Virtio 드라이버를로드 한 다음 복구 명령 프롬프트에서 다음 명령을 실행하십시오. 드라이브 문자를 올바른 문자로 바꾸십시오.
dism /image:g:\ /add-driver /driver:e:\viostor\w7\amd64
드라이브 G:
는 Win7 설치가 포함 된 드라이브 입니다. 드라이브 E:
는 Virtio 드라이버가있는 CDROM 드라이브를 나타냅니다.
dism
명령에서 복사 된 이 슈퍼 사용자 응답 .
자세한 내용은 스크린 샷을 확인하십시오.
(죄송합니다. 스크린 샷이 준비되었지만 게시하려면 10 개의 평판이 필요합니다.)
이 게시물 에서 보았 듯이 qemu를 사용하여 기존 Windows 설치를 부팅 할 수 없습니다.
주된 주장은 Windows가 설치 될 때 제품 키가 컴퓨터의 마더 보드와 연결되어 있다는 것입니다. 이제 qemu를 사용하여 Windows를 실행하려고하면 Windows는 qemu 에뮬레이터를 다른 마더 보드로 인식하므로 문제가 발생합니다.
자세한 내용 은 게시물 을 참조하십시오.
나는 다른 사람들이 더 똑똑한 사람들이 블로그에서 제공 한 예제를 수정함으로써 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
행운을 빕니다!
다음은 실제 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
qemu
올바른 아키텍처로 실행해야합니다 . 또한 HDD 컨트롤러가 AHCI가되기를 기다리는 동안 (또는 그 반대로) Windows가 부팅되지 않습니다.