การแปลง Windows 2012 R2 จาก Hyper-V เป็น KVM (qemu)


18

ฉันมี Windows Server 2012 R2 ที่ใช้งาน SharePoint 2013 ซึ่งฉันกำลังพยายามโยกย้ายจาก Hyper-V ไปเป็น KVM (qemu) ฉันแปลงไฟล์ vhdx เป็นรูปแบบ qcow2 และคัดลอกไปยังเซิร์ฟเวอร์ KVM (RHEL 7.3)

Hyper-V VM ได้รับการกำหนดค่าเป็น Generation 2 และฉันได้สร้าง VM ใหม่ใน KVM พร้อมเฟิร์มแวร์ UEFI (OVMF)

เมื่อฉันบูทเครื่องจะเข้าสู่โหมดซ่อมอัตโนมัติ แต่จะไม่บู๊ต ฉันสามารถเปิด Cmd Prompt และต้องทำเพื่อตรวจสอบสิทธิ์ด้วยรหัสผ่านผู้ดูแลระบบท้องถิ่น

ฉันได้เรียกใช้ต่อไปนี้:

  1. พิมพ์ BOOTREC / FIXMBR แล้วกด ENTER
  2. พิมพ์ BOOTREC / FIXBOOT แล้วกด ENTER
  3. พิมพ์ Drive: \ boot \ Bootsect.exe / NT60 All แล้วกด ENTER

อย่างไรก็ตาม VM ไม่สามารถบูตได้เสมอเข้าสู่โหมดซ่อม

ข้อเสนอแนะใด ๆ เกี่ยวกับสิ่งที่ฉันอาจต้องตรวจสอบหรือยูทิลิตี้ของบุคคลที่สามใด ๆ ที่ฉันอาจจะสามารถใช้หรือซื้อเพื่อช่วยให้ฉันผ่านมาได้อย่างง่ายดาย?

หากฉันลงชื่อเข้าใช้พรอมต์คำสั่งฉันสามารถเรียกใช้ Diskpart / sel disk 0 / list vol เพื่อดู:

Volume 0    D          CDROM          0 B   No Media
Volume 1    C NTFS     Partition    126GB   Healthy
Volume 2    E Recovery Partition    300MB   Healthy   Hidden
Volume 3               Partition     99MB   Healthy   Hidden

VM บน KVM ได้รับการกำหนดค่าเป็น:

* อีมูเลเตอร์: / usr / libexec / qemu-kvm * ​​เฟิร์มแวร์: UEFI x86_64: * / usr / share / edk2.git / ovmf-x64 / OVMF_CODE-pure-efi.fd * ซีพียู 8 * หน่วยความจำ 8192MB * IDE DISK- ดิสก์บัส รูปแบบการจัดเก็บข้อมูล IDE * qcow2

สิ่งที่ฉันทำไปแล้ว:

  1. เปิด Hyper-V และส่งออก VM ไปยังไดเรกทอรีใหม่บน Windows
  2. ใช้ Hyper-V Inspect Disk เพื่อรวมความแตกต่างของ avhdx และดิสก์ vhdx ให้เป็นหนึ่ง vhdx
  3. ใช้ StarWind v2v Converter เพื่อสร้างไฟล์ qcow2
  4. คัดลอกไฟล์ qcows ไปยังเครื่อง KVM
  5. สร้าง VM ใหม่ด้วยข้อมูลจำเพาะเดียวกัน:

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่ 6. เมื่อเริ่มต้นเครื่องใหม่ฉันเห็นสิ่งนี้:

ป้อนคำอธิบายรูปภาพที่นี่


ใช้การบูต EFI บน VM ภายใต้เซิร์ฟเวอร์ Hyper-V หรือไม่
Mikhail Khirgiy

ใช้ EFI บน VM ภายใต้ Hyper-V
dross

สิ่งหนึ่งที่เห็นได้ชัดคือชิปเซ็ตควรตั้งค่าเป็น Q35 (ไม่ใช่ i440fx) หากคุณตั้งใจจะใช้ UEFI
Michael Hampton

จุดที่ดี - ฉันไม่ทราบทางเลือกนี้ พยายามตั้งค่า q35 ในไฟล์ xml โดยใช้ virsh edit แต่ virsh บ่นเกี่ยวกับการตรวจสอบความถูกต้องเมื่อออกและจะไม่บันทึก
ขยะ

ความช่วยเหลือเกี่ยวกับวิธีการรับสถาปัตยกรรม q35 เป็นตัวเลือกที่กำหนดค่าได้ใน virt-manager?
ขยะ

คำตอบ:


13

อันนี้

yum install qemu-img

ก่อนอื่นให้ตรวจสอบไฟล์ให้แน่ใจว่าใช้ได้

qemu-img check -r all rmcjmc01.vhdx

ถ้าตกลงให้แปลงไฟล์

qemu-img convert -O qcow2 rmcgmc01.vhdx rmcgmc01.qcow2

1
ฉันลองสิ่งนี้ แต่ฉันได้รับข้อผิดพลาดดังนั้นตัดสินใจใช้ตัวแปลง StarWind v2v แทน
dross

1
โพสต์ต้นฉบับได้รับการอัปเดตเพื่อให้มีรายละเอียดมากขึ้น
dross

1
ฉันลองวิธีนี้อีกครั้ง (ยังคงดิ้นรนอยู่ที่นี่) ด้วยการทดสอบใหม่ Windows 2012 R2 Vm และคราวนี้ดูเหมือนว่าจะมีความคืบหน้ามากกว่า StarWind V2V Converter VM ไม่บูต แต่การแก้ไขปัญหา Windows สีน้ำเงินเริ่มต้นขึ้น ทางเลือกหนึ่งคือรีเฟรชพีซีของคุณ แต่สิ่งนี้ไม่สามารถดำเนินการต่อได้เนื่องจากฉันได้รับข้อความแจ้งว่า "ไดรฟ์ที่ติดตั้ง Windows ถูกล็อคปลดล็อกไดรฟ์แล้วลองอีกครั้ง"
ขยะ

2
จบลงด้วยการออกกำลังกายโดยใช้ qemu-img ไม่แน่ใจว่าทำไมตัวแปลง StarWind ไม่ทำงาน
ขยะ

17

เครื่องมือสำหรับการแปลงของคุณคืออะไร? MVMC? คุณสามารถลองใช้ตัวแปลง StarWind v2v: https://www.starwindsoftware.com/converterมันเป็นความช่วยเหลือครั้งใหญ่ของฉัน และนอกจากนี้ยังทำให้ฮาร์ดไดรฟ์เหมือนกันเมื่อแปลงจาก Hyper-v การแปลงเองดำเนินการที่ระดับบล็อกดังนั้นบล็อกทั้งหมดควรถูกคัดลอกไม่เปลี่ยนแปลง


1
ยังใช้ตัวแปลง StarWind v2v
ขยะ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.