qemu를 사용하여 Windows 7을 KVM에 설치하지 못함


8

64 비트 Ubuntu Karmic 상자에서 호스팅하는 가상 컴퓨터에 게스트 OS로 Windows 7을 설치하려고합니다. 언어 설정을 선택하고 '지금 설치'를 클릭하는 시점이되었지만 잠시 후 파란 화면이 나타납니다.

32 비트 버전의 Windows 7 사용을 포함하여 몇 가지 변형을 시도했지만 매우 빠르게 실패합니다. virt-install내가 해봤 명령이 포함되어 있습니다 :

sudo virt-install --connect qemu:///system -n ksm-win7 -r 2048 \
--disk path=/home/kief/VM-Images/ksm-win7.qcow2,size=50 \
-c /var/Software/Windows7/Full/64bit/SW_DVD5_SA_Win_Ent_7_64BIT_English_Full_MLF_X15-70749.ISO \
--vnc --os-type windows --os-variant vista --hvm

내가 찾은 제한된 정보는 'Vista'가 --os-variant로 작동해야한다고 제안했지만 Windows 7에 특정한 값을 찾지 못했습니다.

여기 내 블루 스크린이 있습니다 :

BSOD

나는 인터넷 검색으로 거의 발견하지 못했기 때문에 이것이 단순히 Windows 7을 지원하지 않는 KVM의 경우는 아니라고 생각합니다.

최신 정보:

그래픽으로 생성 된 "Virtual Machine Manager"앱을 사용하여 Windows 7 VM을 성공적으로 만들 수 있었지만로 만든 VM의 문제 원인을 이해하지 못했습니다 virt-install. / etc / libvirt / qemu에서 구성 파일을 비교하면 제대로 해석 할만큼 잘 모르겠지만 몇 가지 단서가 있습니다. 두 VM 구성의 흥미로운 차이점은 다음과 같습니다.

--- win7-virt-install.xml
+++ win7-vmm.xml
-<domain type='qemu'>
+<domain type='kvm'>
@@ -21 +21 @@
-    <emulator>/usr/bin/qemu-system-x86_64</emulator>
+    <emulator>/usr/bin/kvm</emulator>
@@ -23 +23 @@
-      <source file='/home/kief/VM-Images/ksm-win7.qcow2'/>
+      <source file='/var/lib/libvirt/images/ksm-win7x64.img'/>

이것이 작동하는 VM이 ​​qemu를 전혀 사용하지 않는지 또는 kvm과 함께 사용되는 방식에 다른 차이점이 있는지 확실하지 않습니다.

업데이트 2 :

그래서 나는 내 자신의 질문에 대부분 대답했습니다. Windows 7을 설치하려면 KVM VM에서 qemu 대신 KVM 자체 CPU 에뮬레이션을 사용해야합니다. qemu-emulation CPU에서 작동하도록 할 수있는 것이 있는지 또는 최신 버전이 지원하는지 확실하지 않습니다. 그러나 최소한 KVM VM에서 실행할 수 있습니다.

답변:


7

쉬운 방법은 다음과 같습니다

virt-install을 사용하여 GuestOS를 설치해야하는 이유가없는 한 virt-install없이 쉽게 수행 할 수있는 방법은 다음과 같습니다.

Windows 7이 설치된 작동하는 VM이 ​​있습니다. 내가 만든 방법은 다음과 같습니다.

1 단계 : 가상 디스크 이미지 생성

qemu-img create -f qcow2 vdisk.img 100g

qcow2 형식의 가상 디스크가 생성됩니다. 파티션 크기를 100g (기가 바이트)로 설정하면 100gb의 실제 하드 디스크 공간이 할당 되지 않습니다 . 가상 파티션은 포함 된 데이터만큼의 공간 만 차지합니다. 100g을 사용하면 크기를 늘릴 필요가 없습니다. qcow2 이미지의 기본 크기를 늘리는 것은 여전히 ​​a a to to a 고통입니다 .

2 단계 : OS 설치

실제 물리적 CD-ROM을 사용하여 OS를로드하는 경우 다음 명령을 사용하십시오.

sudo kvm -m 750 -cdrom /dev/sr0 -boot d vdisk.img

디스크 이미지를 사용하여 OS를로드하는 경우이 명령을 사용하십시오.

sudo kvm -m 750 -cd-rom /path/to/image/image.iso -boot d vdisk.img

다음은 명령의 분류입니다.

  • kvm-커널 가상 머신을 호출합니다 (분명)
  • -m 750-가상 머신에 750mb의 메모리를 할당합니다
  • -cd-rom은 cd-rom을 설정합니다. 물리 디스크의 경우 HostOS와 동일한 디스크를 사용하십시오. 이미지의 경우 이미지 파일의 경로를 제공하십시오.
  • -boot d는 CD-ROM에서 가상 머신을 부팅합니다.

초기로드에 대한 메모리 풋 프린트를 750으로 설정하여 메모리 부족없이 설치가 완료되도록 할 수 있습니다. 후속 하중의 경우 일반적으로 512로 설정합니다.

참고 : AFIAK, kvm 명령은 최신 버전의 Debian / Ubuntu 또는 그 파생 제품에서만 작동합니다. 그것이 작동하지 않으면 동등한 (그리고 더 일반적인) 명령은 qemu-system-x86_64 또는 qemu-kvm for 32 bit입니다.

전체 설치 과정을 마친 후에는 VM이 ​​작동중인 OS로 재부팅해야합니다. VM을 다시로드하려면 다음 명령을 실행하십시오.

kvm -m 512 vdisk.img

명령 행 스위치를 사용하면 추가 물리 디스크, 하드웨어 등을 마운트해야합니다. 명령 행 스위치에 대한 정보를 찾으려면 kvm --help를 확인하십시오.

'반 가상화'와 '네이티브 가상화' Matthias ' 의 차이점을 이해하지 못한다면 이미 그 차이점에 대해 큰 설명을했습니다 .

이 프로세스에 대한보다 자세한 설명은 이 기사를 읽으십시오 .


3

qemu 가상화로 창을 설치할 때이 문제가 발생하는 이유는 qemu "반 가상화"와 KVMs "기본 가상화"의 차이 때문입니다. 반 가상화는 CPU를 시뮬레이트하고이 시스템이 CPU 기능을 올바르게 호출하는 방법을 알 수 있도록 클라이언트 측 (가상 시스템)에 특수 커널이 필요함을 의미합니다. 모든 시스템이 KVM없이 qemu를 사용하여 실행되는 것은 아닙니다.

반면에 KVM을 사용하는 가상 시스템은 CPU에 직접 액세스 할 수 있습니다 (KVM은 AMD / Intel 하드웨어 가상화 지원을 사용하기 때문에). 이 경우 특별한 커널이 필요하지 않습니다. 단점은 호스트에이 하드웨어 가상화 (AMD에서는 SVM, Intel에서는 VT-x라고 함)를 지원하는 최신 CPU가 필요하며 클라이언트 시스템은 해당 CPU에서 실행할 수 있어야한다는 것입니다 (대부분의 시스템은 문제가되지 않습니다) x86에서 실행 가능)


1
'반 가상화'와 '원시 가상화'의 차이점에 대한 +1 훌륭한 설명
Evan Plaice

2

0x1e 예외는 KMODE_EXCEPTION_NOT_HANDLED일반적으로 하드웨어 관련 또는 장치 드라이버 관련 결함입니다. 내 생각에, 어떤 이유로 든 Windows는 가상 컴퓨터에서 에뮬레이트 된 하드웨어를 좋아하지 않습니다.

VirtualBox를 사용해 보셨습니까 ? Karmic Koala 용 릴리스가 있으며 Windows 7을 지원합니다 (현재 Windows XP 상자에서 Win7을 실행하고 있습니다).


고맙게도 유칼립투스에서 KVM을 사용하고 있기 때문에 KVM을 사용하고 싶습니다. 이것은 Windows 7을 실행 해야하는 실용적인 필요성만큼이나 나에게 많은 학습 연습입니다.
Kief

1

동료와의 연구와 협의 후 문제는 qemu CPU 에뮬레이션과 관련이있는 것으로 보입니다. 내 virt-install 명령은 qemu의 CPU 에뮬레이션을 사용하여 KVM 가상 머신을 작성했습니다. VMM은 KVM 자체 CPU 에뮬레이션을 사용하여 KVM 가상 머신을 만들었습니다 (현재 KVM 버전에서는 qemu를 사용하기 때문에 qemu를 사용하여 PC의 다른 부분을 에뮬레이션 할 수는 있음).

virt-install 명령에 --accelerate 매개 변수를 추가하여 VM을 만들고 Windows 7을 설치할 수 있습니다.

따라서 대답은 qemu-kvm-0.11.0 CPU 에뮬레이션을 사용하여 가상 머신에 Windows 7을 설치할 수 없지만 KVM 자체 CPU 에뮬레이션을 사용하여 해결할 수있는 것 같습니다. --accelerate 옵션을 사용하여 virt-install을 수행합니다. 구성 파일 매개 변수는이 <domain type="kvm">아닙니다 <domain type="qemu">.


이거 고마워! qemu 대신 kvm을 사용하여 xml 파일을 제안한대로 편집하고 문제없이 Win7 64 비트를 설치했습니다! (Fed12 64bit에서 실행)

0

위에서 볼 수있는 또 다른 차이점은 KVM은 32 비트 에뮬레이션 만되어야한다는 것입니다.

64 비트 지원이 KVM에 추가 된 것처럼 보이므로 qemu-system-x86_64는 --accelerate커널이 배포판에 의해 빌드 된 경우 KVM과 64 비트를 모두 제공 할 수 있습니다.


0

https://ubuntuforums.org/showthread.php?t=2325843&s=67c08420c394b532ea814a0c46752914&p=13500324#post13500324 에서 디스플레이를 먼저 변경하여 설치를 시작할 수있었습니다 cirrus.

  1. cirrus 그래픽으로 Win 7 설치, VM 종료
  2. qxl로 두 번째 그래픽 어댑터 추가
  3. vm 부팅 및 qxl 드라이버 설치
  4. vm을 종료하고 cirrus 어댑터를 제거하십시오.

귀하의 의견에 감사드립니다. 완전한 솔루션을 추가했습니다.
Jiab77
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.