Qemu ile fiziksel bir Windows bölümünü nasıl önyükleyebilirim?


14

Benim tek sabit sürücümde yüklü gentoo ve windows 7 var. Windows kurulumumu gentoo içinden qemu aracılığıyla başlatmak istiyorum. Önyükleme menüsü iyi çalışıyor ancak ben seçtikten hemen sonra üzerimdeki pencereler bluescreens.

Nasıl çalıştırabilirim?

(Qemu emüle edilmiş donanımın çalışması için pencerelerin eksik sürücüleri olduğunu varsayıyorum.)


qemudoğru mimariyle çalıştığınızdan emin olun . Ayrıca, HDD denetleyicisinin AHCI olmasını beklerse ve değilse (ve tersi) pencereler önyükleme yapamaz.
gelraen

Mimari iyi, ama qemu bunu desteklemediğinden ahci hakkında bir şey yapabileceğini sanmıyorum ...
McEnroe


@gelraen sorunlar, bağlantınızın yapmak istediğim şeyin tersini açıklamasıdır. Çalışmak için bir şans olduğunu veya en azından% 100 geri dönüşümlü olduğunu bilmeden denemek için risk alamıyorum.
McEnroe

Bu yazı tam olarak AHCI'den ATA'ya geri dönmekle ilgilidir. AHCI'yi her zaman fiziksel makinede kapatabilir ve geri değiştirebilir, hatta kayıt defteri dosyalarını yedekleyebilirsiniz.
gelraen

Yanıtlar:


8

Yerel, fiziksel bir Windows7 bölümünün önyüklenmesi şu şekilde yapılabilir:

  1. Gereksinimleri hazırlayın (Win7 kurulum ortamı, Virtio sürücüleri).
  2. Sabit sürücünüze mevcut kullanıcınız için salt okunur erişilebilir olmasını sağlayın.
  3. Anlık görüntü modunda QEMU kullanarak önyükleme yapın.

Bu , fiziksel sürücüdeki hiçbir şeyi değiştirmez (aslında salt okunurdur).


ayrıntılar

Şartları hazırlayın

  1. Bir ISO veya hazır bir sürücünüz varsa Win7 için gerçek kurulum medyası hazırlayın.
  2. Virtio sürücülerini indirin, örneğin Fedora'dan bu sürücüler:
    https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso

Yüklü Windows mimarisiyle eşleşen doğru yükleme ortamını kullanmaya dikkat edin (32bit ve 64bit). Aşağıdaki komutlar 64 bit mimari kullanır.

Diski erişilebilir hale getirme

Bu, sabit sürücünüzün /dev/sdakök olarak yürütüldüğünü ve yürütüldüğünü varsayar :

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

Udev genellikle tüm cihaz dosyalarını yeniden oluşturacağından, bu değişiklikler (muhtemelen) bir sonraki yeniden başlatmada kaybolacaktır .

QEMU ile önyükleme

  1. Bu yine sabit sürücünüz olduğunu varsayar /dev/sda. Ağ devre dışı:

    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. Şimdi Win7 kurtarma işlemini başlatmak için CD / DVD'den önyükleme yapın, Virtio sürücüsünü yükleyin ve kurtarma komut isteminde aşağıdaki komutu çalıştırın. Sürücü harflerini uygun olanlarla değiştirdiğinizden emin olun:

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

Sürücü G:, Win7 kurulumunuzu içeren sürücüdür. Sürücü E:, Virtio sürücüleri ile birlikte CDROM sürücüsünü temsil eder.

dismKomut kopyalanan bu Super User cevap .

Ayrıntılar için ekran görüntülerine bir göz atın:

(Üzgünüm, ekran görüntüleri hazırlandı, ancak bunları yayınlayabilmek için 10 şöhrete ihtiyacım var :)


10 itibar şey acıdır. Beni ve diğer birçoğunu istediğimiz ayrıntılı yardımı vermekten alıkoydu. = / Sadece imgur'a maden yükledim ve bağlantıları yapıştırdım, FYI.
Brent Rittenhouse

Dürüst olmak gerekirse, 10 puan almak çok zor değil. Sorun şu ki, artık ekran görüntülerini bulamıyorum. Disklerimde bir yerde olduklarından eminim, ama ...: /
doak

3

Bu yazıda gördüğüm kadarıyla , mevcut bir Windows yüklemesini önyüklemek için qemu'yu kullanamazsınız.

Verilen birincil argüman, pencereler yüklendiğinde Ürün anahtarının bilgisayarınızın Anakartı ile ilişkili olmasıdır. Şimdi, Windows'u qemu kullanarak çalıştırmaya çalıştığınızda, windows qemu emülatörünü farklı bir anakart olarak algılar ve böylece problem verir.

Bakınız mesaja daha fazla ayrıntı için.


2
VirtualBox kendisini keyfi anakart olarak ilan edebilir ( forums.virtualbox.org/viewtopic.php?t=33356 ) belki de QEMU da bunu yapabilir.
RushPL

1

Bunu archlinux'da yapmayı başardım, çoğunlukla bloglarda diğer (daha akıllı) insanların sağladığı örnekleri uyarlayarak.

Minimum Sürüm:

deps yüklemek

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'yu başlat

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` 

Performans Optimizasyonları

Aşağıdaki bayraklar da bana önerildi ve bunları başarıyla kullanıyorum.

# 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)

izleyici

Baharatı izleyici olarak kullandım:

-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 \

İzleyiciyi görüntülemek için aşağıdakileri takip edin

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

Windows Önyükleyici Uyarısı

Son olarak, birden fazla disk kullanıyorsanız windows bootloader'a dikkat edin. İşletim sistemi olmayan ikinci bir sürücü de mevcut olmadığı sürece önyükleme yapmayacak bir windows kurulumuna sahibim.

Referanslar

Keşke kaynaklarımı burada tutsaydım - en azından aşağıdakilerin çok yardımcı olduğunu hatırlıyorum:

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.

İyi şanslar!


Bu benim için kemer linux üzerinde çalıştı
jameh

0

İşte fiziksel bir Windows 10 sürücüsü için kullandığım şey. Birçok durumda "-cpu ana bilgisayar" bayrağını kullanmazsanız Windows önyükleme yapamayacağını unutmayın.

Sadece / dev / nvme0n1 yerine sürücünüzü takın. / dev / sda veya / dev / sdb

qemu-system-x86_64 --enable-kvm -cpu ana bilgisayarı -smp 8 -m 8192 -sürücü biçimi = ham, dosya = / dev / nvme0n1

Kaynak: http://realtechtalk.com/QEMUKVM_wont_boot_Windows_2016_or_2019_server_on_an_Intel_Core_i3_-2221-articles

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.