विंडोज 7 qemu के साथ KVM पर स्थापित करने में विफल रहता है


8

मैं अपने 64-बिट उबंटू कर्म बॉक्स द्वारा होस्ट की गई वर्चुअल मशीन में अतिथि ओएस के रूप में विंडोज 7 स्थापित करने की कोशिश कर रहा हूं। मुझे अपनी भाषा सेटिंग का चयन करने और 'अभी इंस्टॉल करें' पर क्लिक करने की बात मिलती है, लेकिन थोड़ी देर बाद मुझे मौत की नीली स्क्रीन मिलती है।

मैंने कुछ बदलावों की कोशिश की है, जिसमें विंडोज 7 के 32-बिट संस्करण का उपयोग करना शामिल है, जो बहुत जल्दी विफल हो जाता है। 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

सीमित जानकारी जो मुझे पता चल सकी कि 'विस्टा' को --os-variant के रूप में काम करना चाहिए, मुझे विंडोज 7 के लिए कोई मूल्य नहीं मिला।

यहाँ मेरी नीली स्क्रीन है:

बीएसओडी

मुझे Googling से बहुत कम मिला है, इसलिए मैं अनुमान लगा रहा हूं कि यह केवीएम का मामला नहीं है, केवल विंडोज 7 का समर्थन नहीं कर रहा है।

अपडेट करें:

मैं ग्राफिकल "वर्चुअल मशीन मैनेजर" ऐप का उपयोग करके सफलतापूर्वक विंडोज 7 वीएम बनाने में सक्षम रहा हूं, हालांकि मैं वास्तव में वीएम के साथ समस्या का कारण नहीं समझता हूं virt-install। / Etc / libvirt / qemu के तहत कॉन्फ़िगरेशन फ़ाइलों की तुलना करना कुछ सुराग प्रदान करता है, हालांकि मुझे उन्हें ठीक से व्याख्या करने के लिए पर्याप्त नहीं पता है। दो वीएम कॉन्फ़िगरेशन में दिलचस्प अंतर हैं:

--- 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'/>

मुझे यकीन नहीं है कि इसका मतलब यह है कि काम करने वाला वीएम क्यूमू का उपयोग नहीं कर रहा है, या अगर केवीएम के साथ इसका उपयोग करने के तरीके में कुछ अन्य अंतर है।

Update2:

इसलिए मैंने नीचे अपने स्वयं के प्रश्न (ज्यादातर) का उत्तर दिया है। एक केवीएम वीएम को विंडोज 7 स्थापित करने के लिए केमू के बजाय केवीएम के स्वयं के सीपीयू अनुकरण का उपयोग करने की आवश्यकता है। मुझे यकीन नहीं है कि ऐसा कुछ है जो इसे एक qemu-emulation CPU पर काम करने के लिए किया जा सकता है, या क्या एक नया संस्करण इसका समर्थन करेगा। लेकिन कम से कम इसे KVM VM पर चलाना संभव है।

जवाबों:


7

यहाँ आसान तरीका है

जब तक आपके पास कुछ विशिष्ट न हों, तो आप गुण-स्थापित का उपयोग करके एक अतिथि स्थापित क्यों कर सकते हैं, यहाँ 'आसान' तरीका है जो इसे बिना पुण्य-संस्थापन के कर सकता है।

मेरे पास विंडोज 7 स्थापित के साथ एक कामकाजी वीएम है। यहां बताया गया है कि मैंने इसे कैसे बनाया।

चरण 1: वर्चुअल डिस्क छवि बनाएं

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

यह एक वर्चुअल डिस्क को qcow2 प्रारूप में बनाता है। विभाजन आकार को 100 ग्राम (गीगाबाइट्स) पर सेट करने से 100 ग्राम भौतिक हार्ड डिस्क स्थान आवंटित नहीं होगा । वर्चुअल पार्टीशन में केवल उतना ही स्थान होगा, जितना डेटा इसमें होगा। 100 ग्राम सिर्फ इतना बनाता है कि आपको (उम्मीद है) आकार बढ़ाने की कभी आवश्यकता नहीं होगी। एक qcow2 छवि के डिफ़ॉल्ट आकार को बढ़ाना अभी भी ** में एक दर्द है

चरण 2: ओएस स्थापित करें

यदि आप OS लोड करने के लिए वास्तविक भौतिक cd-rom का उपयोग कर रहे हैं, तो निम्न कमांड का उपयोग करें।

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 मेमोरी आवंटित करता है
  • एलसीडी-रोम सीडी-रोम सेट करता है। एक भौतिक डिस्क के लिए अपने HostOS के रूप में एक ही डिस्क का उपयोग करें। एक छवि के लिए, छवि फ़ाइल के लिए एक पथ प्रदान करें।
  • -b d d cd-rom से वर्चुअल मशीन को बूट करता है

मैंने प्रारंभिक लोड 750 के लिए रूढ़िवादी होने के लिए मेमोरी फ़ुटप्रिंट सेट किया है ताकि मुझे यह सुनिश्चित हो सके कि इंस्टॉल मेमोरी के बिना समाप्त हो जाए। बाद के भार के लिए मैंने आमतौर पर इसे 512 पर सेट किया।

नोट: AFIAK, kvm कमांड केवल डेबियन / उबंटू या उनके डेरिवेटिव के अधिक हाल के संस्करणों में काम करता है। यदि यह समतुल्य (और अधिक सामान्य) कमांड नहीं करता है तो 32 बिट के लिए qemu-system-x86_64 या qemu-kvm है।

जब आप पूरी स्थापित प्रक्रिया से गुजर चुके होते हैं, तब वीएम को एक कार्यशील ओएस में रिबूट करना चाहिए। VM को फिर से लोड करने के लिए बस इस कमांड को लॉन्च करें:

kvm -m 512 vdisk.img

जो भी कमांड लाइन स्विच के साथ आपको अतिरिक्त भौतिक डिस्क, हार्डवेयर आदि को माउंट करने की आवश्यकता होती है, कमांड लाइन स्विच की जाँच के लिए kvm --help पर जानकारी प्राप्त करने के लिए।

यदि आप 'पैरावर्टलाइज़ेशन' और 'देशी वर्चुअलाइज़ेशन' के बीच अंतर को नहीं समझते हैं, तो ' मैथियस' ने पहले ही मतभेदों की एक शानदार व्याख्या कर दी है

इस प्रक्रिया की अधिक 'गहराई' के लिए इस लेख को पढ़ें


3

क्यूमू वर्चुअलाइजेशन के साथ विंडो स्थापित करने में इस समस्या का कारण qemu "paravirtualization" और KVMs "देशी वर्चुअलाइजेशन" के बीच अंतर है। Paravirtualization का मतलब है कि यह एक CPU का अनुकरण करता है और क्लाइंट (वर्चुअल सिस्टम) की तरफ एक विशेष कर्नेल की आवश्यकता होती है, ताकि यह सिस्टम जानता हो कि CPU कार्यों को सही ढंग से कैसे करना है। यही कारण है कि सभी सिस्टम केवीएम के बिना क्यूमू का उपयोग करने में सक्षम नहीं हैं।

दूसरी तरफ, केवीएम का उपयोग करने वाले वर्चुअल सिस्टम सीधे सीपीयू तक पहुंच सकते हैं (क्योंकि केवीएम एएमडी / इंटेल हार्डवेयर वर्चुअलाइजेशन समर्थन का उपयोग करता है)। उस स्थिति में किसी विशेष कर्नेल की आवश्यकता नहीं होती है। नकारात्मक पक्ष यह है कि मेजबान को एक आधुनिक सीपीयू की आवश्यकता होती है जो इस हार्डवेयर वर्चुअलाइजेशन (जिसे AMD और VT-x को Intel के लिए SVM कहा जाता है) का समर्थन करता है और क्लाइंट सिस्टम को उस CPU पर चलने में सक्षम होना चाहिए (समस्या नहीं, क्योंकि अधिकांश सिस्टम एक x86 पर चल सकता है), पोर्टेबिलिटी को कम करता है।


1
'पैरावर्चुअलाइजेशन' और 'देशी वर्चुअलाइजेशन' के बीच के अंतर की +1 महान व्याख्या
इवान प्लाइस

2

0x1e अपवाद है KMODE_EXCEPTION_NOT_HANDLED, जो आमतौर पर या तो हार्डवेयर-संबंधित या डिवाइस ड्राइवर-संबंधित दोष है। मेरा अनुमान है कि, जो भी कारण से, विंडोज वर्चुअल मशीन से उत्सर्जित हार्डवेयर को पसंद नहीं कर रहा है।

क्या आपने VirtualBox का उपयोग करने की कोशिश की है ? उनके पास कार्मिक कोआला के लिए एक रिलीज है, और वे विंडोज 7 का समर्थन करते हैं (मैं विंडोज 7 पर अभी Win7 चला रहा हूं)।


धन्यवाद, मैं KVM के साथ रहना चाहता हूं, क्योंकि हम इसे नीलगिरी के साथ उपयोग कर रहे हैं। यह मेरे लिए एक सीखने की कवायद है क्योंकि एक व्यावहारिक जरूरत के लिए विंडोज 7 चल रहा है।
किफ़

1

किसी सहकर्मी के साथ कुछ शोध और परामर्श के बाद, यह मुद्दा क्यूमू सीपीयू अनुकरण के साथ लगता है। मेरे पुण्य-संस्थापन कमांड ने qemu के CPU एमुलेशन का उपयोग करते हुए KVM वर्चुअल मशीन बनाई। वीएमएम ने केवीएम के स्वयं के सीपीयू एमुलेशन का उपयोग करते हुए एक केवीएम वर्चुअल मशीन बनाई (यद्यपि पीसी के अन्य भागों का अनुकरण करने के लिए क्यूमू का उपयोग करते हुए, क्योंकि केवीएम का वर्तमान संस्करण इसके लिए क्यूमू का उपयोग करता है)।

- मेरे गुण-स्थापित कमांड में --accelerate पैरामीटर को जोड़कर, मैं एक VM बनाने और उस पर विंडोज 7 स्थापित करने में सक्षम हूं।

तो, उत्तर ऐसा लगता है कि विंडोज 7 को qemu-kvm-0.11.0 CPU इम्यूलेशन का उपयोग करके वर्चुअल मशीन पर स्थापित नहीं किया जा सकता है, लेकिन KVM के स्वयं के CPU एमुलेशन का उपयोग करके इसके चारों ओर काम किया जा सकता है। यह पुण्य-संस्थापन के लिए --accelerate विकल्प का उपयोग करके किया जाता है। कॉन्फ़िगरेशन फ़ाइल पैरामीटर इसके <domain type="kvm">बजाय होगा <domain type="qemu">


इसके लिए धन्यवाद! मैंने सुझाए अनुसार xml फ़ाइल को संपादित किया, qemu के लिए kvm को प्रतिस्थापित किया और बिना मुद्दे के Win7 64 बिट स्थापित किया! (फेड 12 64 बिट पर चल रहा है)

0

दूसरा अंतर जो मैं ऊपर से देख रहा हूं वह यह है कि केवीएम केवल 32 बिट एम्यूलेशन होना चाहिए ... या कम से कम आपके एक्सएमएल अंतर के साथ जो बाहर खड़ा है।

ऐसा लगता है कि KVM में 64 बिट सपोर्ट जोड़ा गया है, इसलिए qemu-system-x86_64 --accelerate, KVM और 64bit दोनों के साथ आपको दे सकता है, बशर्ते आपका कर्नेल आपके वितरण द्वारा इसके लिए बनाया गया हो।


0

मैं cirrusयहाँ प्रदर्शित किए गए पहले डिस्प्ले को बदलकर इंस्टाल करने में सक्षम था : https://ubuntuforums.org/showthread.php?t=2325843&s=67c08420c394b532ea81440c46752914&p=13500324#post135003243243

  1. सिरस ग्राफिक्स के साथ विन 7 स्थापित करें, वीएम बंद करें
  2. qxl के रूप में एक दूसरा ग्राफिक्स एडेप्टर जोड़ें
  3. बूट vm और qxl ड्राइवर स्थापित करें
  4. वीएम को बंद करें और सिरस एडाप्टर को हटा दें

आपकी टिप्पणी के लिए धन्यवाद, मैंने पूरा समाधान जोड़ दिया है।
जिआब77 Ji२६
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.