KVM'deki Windows 10: önyükleme diskini Virtio olarak değiştirin


25

Bir IDE diski kullanarak bir Windows 10 sanal makinesi kurdum ve şimdi Virtio sürücüsünü kullanmak için diski değiştirmek istiyorum.

Windows'un diğer sürümleri için bu sorudaki yaklaşım yeterli görünmektedir - IDE VM'yi virtio VM'ye nasıl geçiririm?

Ancak, Windows 10 ile bu bir INACCESSIBLE_BOOT_DEVICEsoruna yol açar .

Tercih edilen yaklaşımın baştan beri Virtio cihazının kullanıldığını ve istendiğinde uygun virtio sürücüsünün kurulduğunu biliyorum. Ne yazık ki, CD’yi KVM’de değiştirmekle ilgili bazı sorunlarım vardı (2 CDROM cihazını da çalıştıramadım).

Yeniden yüklemeden bu sorunu düzeltmenin bir yolu var mı?

Burada benzer sorun - https://me.m01.eu/blog/2015/03/windows-10-kvm-and-iscsi/#comment-36090


+1. Bu sorunu kendim çözemedim. Windows'un önceki sürümleri için çeşitli geçici çözümlerden sonra, VirtIO blok cihazına taktıktan sonra VirtIO sürücüsünü Windows VM'ye yüklemeyi denedim, ancak yine de INACCESSIBLE_BOOT_DEVICEmavi ekranım oldu . VirtIO önyükleme aygıtında yeniden yükleme sona erdi.
Deltik

Tembel olduğum için, bunu doğrulamanız için yorum olarak göndereceğim: virtio “controller” ile ek bir disk ekleyin. Windows sizden istediğinde sürücüyü yükleyin. Bölümler oluşturmaya gerek yok. Sonra önyükleme diski virtio olarak değiştirin. Bir denetleyici sürücüsü örneği şimdi yüklendiğinden (çok önemli), çalışması gerekir.
Daniel B

@DanielB: Ben de aynısını yaptım. Öneriniz, Windows'un önceki sürümleri için geçerli olduğu anlaşılıyor, ancak Windows 10 değil.
Deltik

Hm, tamam. Sanırım probleminizi çözmemek için en iyi tek yolum var (lol): Sadece Windows ISO’yu değiştirin ve sürücüleri ekleyin. Önyüklenebilir kalması gerektiğini unutmayın. Bu şekilde (umarım) doğrudan virtio'ya yükleyebilirsiniz.
Daniel B

1
@DanielB: VirtIO sürücüsü yükleme işlemine ayrı bir sürücü diski ile yüklenebilir. Windows 10 VirtIO sürücüsü ile birlikte yüklendiyse, hiçbir sorun yoktur. Sadece internette IDE'den Virtio'ya geçiş yapmak için varolan talimatların Windows 10 KVM sanal makineleri için çalışmadığıdır.
Deltik

Yanıtlar:


24

Tüm cevaplar doğru ama sen kaç gerçekleştirmek gerekebilir ek Eğer sürücülerin virtio yükledikten sonra adımlar. İşte izlediğim adımlar:

  1. Yükseltilmiş bir komut istemi açın ve yazarak VM'yi güvenli moda getirecek şekilde ayarlayın

    bcdedit / set {geçerli} güvenlik önlemleri minimal

  2. VM'yi kapatın ve önyükleme aygıtı türünü virtio olarak değiştirin.

  3. VM'i önyükleyin. Güvenli modda girecektir.

    Not: Güvenli modda, tüm başlatma sürücüleri, virtio sürücüsü de dahil olmak üzere etkinleştirilir ve yüklenir. Şimdi kullanmak için bir miniport kurulu olduğundan, çekirdek şimdi onu açılışta yüklenecek sürücülerin bir parçası haline getirecek ve bir daha devre dışı bırakmayacak.

  4. önyüklemeli VM'de, bcdedit ayarlarını sıfırlayarak, makinenin Normal moda girmesini sağlamak için (yüksek komut isteminde tekrar) yeniden başlatın:

    bcdedit / deletevalue {current} safeboot

  5. Bitti.


1
Fantastik! Bu benim için eksik kısımdı. Ben bcdedit /set safeboot minimalatlayarak kullandım {current}çünkü oraya ne gireceğinden emin değildim.
Charles Green,

2
@CharlesGreen {current}değişmez, olduğu gibi yazın.
Marc.2377,

PIN girişiniz varsa, şifre girişi ağ erişimini gerektirebileceği için sorun. Sonuç olarak Windows'u yeniden yüklüyorum. Answers.microsoft.com/en-us/windows/forum/windows_10-security/…
Andrew Olney

Oturum açma sorununu önlemek için birinci adımda bcdedit / set {current} safeboot ağını kullanmaya çalıştım, ayrıca ilk önce ekstra güvende olmak için yerel bir kullanıcı yarattım ve gerçekten de bana uygulanan sorunun sanmıyorum ama makine bir etki alanına bağlı ve yanlış bir şey yapmadığımdan emin olmak istediğim her şeyi kontrol edemiyorum. Ve ağ parametresi en azından işlemi bozmadı.
HackerBaloo

nasıl yaparsınız 1), yani, yükseltilmiş istemi?
Frederick Nord

16

Oldukça basit bir cevap verilmiştir - ve birçok durumda diğer seçeneklerle ilgili ipuçlarıyla birlikte çalışabilir. (Benim gibi) IDE'ye geçemezseniz ve VirtIO kullanmaya zorlanırsanız, aşağıdaki alternatif yaklaşım işe yarayabilir:

  1. VM'ye hem Windows 10 DVD / CD ISO hem de sürücü ISO'sunu ekleyin.
  2. Windows 10 DVD / CD'yi önyükleyin ve onarım modu seçeneğinden komut istemine geçin.
  3. Sürücüyü CLI üzerinden yükleyin, örn. drvload e:\viostor\w10\amd64\viostor.inf
    • Benim durumumda e: virtio kurulumunun ISO atandığı yerdi.
    • Sürücüyü yükledikten sonra f: camların takıldığı yerdeydi.
  4. Depolama denetleyicisi sürücüsünü enjekte etmek için DISM komutunu kullanın
    • Örneğin dism /image:f:\ /add-driver /driver:e:\viostor\w10\amd64\viostor.inf
    • Yukarıdaki gibi, sürücü harfi atamalarını kendi ortamınıza göre değiştirin.

Özel pencereleri önyükleme CD'leri / Görüntüleri çizerek yapmakla uğraşmaktan kaçınır ve gerçek pencereleri anında görüntüler kurar.

Not: Bu niş için başlangıç ​​onarımını (benim için başarısız olan) kaçınmayı öneririm. Yüklemeden sonra vistor.inf dosyasının nasıl ekleneceğini bilmiyor gibiydi ve eğer denerseniz, Windows 10'un DVD'sinin her şeyi geri yüklemek veya yeniden yüklemek için can atmasını önlemek için dikkatli olun ...

DISM yaklaşımı için kredi: Sürücü eklemek için dism kullanma


1
4'e alternatif: inf dosyasını sağ tıklatın -> Yükle.
rbs

Ayrıca, bu güncelleme pencere güncellemelerine dikkat edin. Bir reddit gönderisine göre, "güncelleme VirtIO sürücülerimi silmiş": reddit.com/r/VFIO/comments/6b06y5/… . Bu, Windows yüklemenizi hem çift önyükleme hem de VM olarak çalıştırdığınızda ve güncellemeyi yerel donanımda uyguladığınızda
köşede olabilir

1
Bu, artı aşağıdaki cevap. Önyüklemeyi Güvenli Mod'da (bcdedit / set {current} safeboot minimal) yapıp Güvenli Mod önyüklemesini (bcdedit / deletevalue {current} safeboot) çıkardım ve yeniden başlatmam gerekiyordu. Bundan sonra, Windows Server 2016 Essentials ile çalıştı.
G Trawo,

10

Genel olarak izlenecek adımlar:

  1. VirtIO sürücülerini VM’e yükleyin
  2. VM'nin sistem diskini VirtIO kullanmak için ayarlayın
  3. Sanal Makine önyükleme yapmıyorsa, Başlangıç ​​Onarma işlemini ve hatta Onarma Kurulumunu gerçekleştir

Prosedür ayrıntılı olarak:

  1. Önyükleme diskini IDE'ye iade edin.
  2. Windows VM'nin kapalı olduğundan emin olun.
  3. VirtIO sürücüleri ISO'yu buradan indirin .
  4. VM için CD sürücüsüne takın.
  5. VirtIO tipinde bir depolama cihazı ekleyin. Sürücüleri yüklemek için kullandığınızdan boyut dağılımı önemli değildir.
  6. Windows VM'yi başlatın. Sürücüleri yüklemeye çalışacaktır. Olmazsa, Aygıt Yöneticisi'ni açın ve yanında ünlem işareti simgesi bulunan SCSI aygıtını görmelisiniz. Sürücüyü güncellemeyi ve takılan ISO'nun uygun dizinini göstermeyi seçebilirsiniz. Kurulduktan sonra yeniden başlatmayın, makineyi kapatın.
  7. Windows'un virt-manager ayarlarında, depolama türünü IDE'den VirtIO olarak değiştirin.
  8. Daha önce oluşturduğunuz depolama cihazını kaldırabilirsiniz. Artık gerekli değil.
  9. Windows'u başlatın, önyüklemeli ve SCSI sürücülerini kurmalıdır. Ondan sonra yeniden başlatmanız gerekecek.
  10. VM önyükleme yapmıyor ancak sürücüler yüklüyse, yapmayı deneyebilirsiniz:

    1. Windows'un başlatılmasını engelleyebilecek bazı sistem sorunlarını çözebilecek olan Başlangıç ​​Onarma .
    2. Son çözüm: Windows 10 ISO'dan önyükleme yaparken Kurulumu Onarın . Bu, tüm uygulamaları ve kullanıcı ayarlarını koruyacak, sadece Windows'u ve önyüklemeyi yenileyecektir. En son Windows 10 ISO'yu kullanın.

Son adım ne yazık ki gerekliyse, karşılaşılabilecek bir zorluk, Windows önyükleme CD'sinin VirtIO diskini anlayamamasıdır, çünkü bu sürücüler Microsoft tarafından bulunmaz. Bu durumda, bu sürücüleri içeren özel bir önyükleme CD'si / USB'si oluşturmak gerekir, ancak en yenisini (şu anda 1511) alarak kurulumla aynı seviyede olan bir Windows ISO'dan başladığınızdan emin olun.

İşte Windows'ta sürücülerin nasıl kaydırılacağı konusunda bazı eğitmenler:


Bu cevap işe yarar (ve Windows'taki diğer sürümlerde çalışır), 9. adımda, önyüklemeye çalıştığınızda INACCESSIBLE_BOOT_DEVICE hatası var (bu soruyu gönderdiğim yerdeydi). Bir başlangıç ​​onarımı (10.1) çalışmıyor ve adım 10.2 aslında mümkün değil. Bir onarım kurulumu ancak önce sistemi önyükleme yaparak, CD olmadan, sonra setup.exeda CD üzerinde çalışarak yapılabilir. Bu sorudaki bağlantının açıkladığı şeydir ve bildiğim kadarıyla bunu yapmanın başka yolu yoktur.
Graeme

Tam olarak başka hangi bilgileri vermem gerekiyor? Seçeneğin orada olmadığını defalarca söyledim. Burada sorun, bunun sürekli olarak ısrar etmenizdir. “İnternette bulunan çeşitli makalelerdeki onlarca kişi” söz konusu ise, bunlardan birine bakın. CD'den nasıl önyükleneceğini ve onarım kurulumunun başlatılacağını açıklayan bir makaleyi setup.exebağlayın; ilk önce kurulu sistemi önyükleme yapmadan ve CD üzerinde çalışmaya başlamadan önce . Bir makaleyi tamamen yalan söylemediğinizi kanıtlayan güvenilir bir kaynaktan bağlayın; size özür dileyeceğim ve değerli kazancınızı vereceğim.
Graeme,

Örneğin , yükleme ortamından Windows 10'da Başlangıç ​​Onarma işleminin nasıl yapıldığına ilişkin bu videoya bakın . Değilse, Komut İstemi'ni kullanmayı deneyin . Yukarıda belirttiğim gibi, adım adım ISO'ya ihtiyacınız olabilir - WIn10 kurulumunda VirtIO sürücüleri olup olmadığı hakkında hiçbir fikrim yok.
harrymc

Veya Virtio sürücüleri önyüklenen Windows PE yükleme görüntüsüne eklemek için drvload yöntemini uyarlayabilirsiniz .
harrymc

2
Yukarıdaki cevap kulağa hoş geliyor ve basit gibi gözükse de, ne yazık ki pc-q35-2.5makine emülasyonunu / türünü kullanan VM'mde bir IDE denetleyici eklemek mümkün değil.
JPvRiel

5

Harry'nin cevabı benim için iyi sonuç veriyor.

takip ettiğim aşağıdaki adımlar:

  1. Virtio sürücüsünü pencerelere yükleyin
  2. Ek bir "boş" virtio disk ekleyin. Yeniden başlatın ve "kukla" çalışıp çalışmadığını kontrol edin.
  3. 2. Adım çalışıyorsa, önyükleme diskini virtio'e değiştirin.
  4. Yeniden Başlatma
  5. Ek "boş" virtio diskini çıkarın
  6. ...

Lütfen cevap olarak "teşekkür" eklemeyin. Siteye biraz zaman ayırın ve beğendiğiniz yanıtları düzeltmek için yeterli ayrıcalıklara sahip olacaksınız.
DavidPostill

1
Bu yetersiz bir cevaptır - Proxmox'ta Windows 10, tüm sürücüleri yükledikten sonra bile başlatırken sorun yaşadı. VirtIO blok cihazı olarak küçük bir 1 GB disk oluşturmak, VM'yi başlatmak, doğru göründüğünü doğrulamak ve sonra ana sürücüyü VirtIO olarak değiştirmek ve kapatmak zorunda kaldım. Windows 10 HDD sürücüsünü doğru bir şekilde tespit edemedi, bu yüzden anahtarı açmadan önce önyüklemede yüklemek için onu eşleştirmek zorunda kaldım.
Albert H

3

Sürücünün mükemmel bir şekilde monte edilmiş olması ve STILL'in "erişilemez önyükleme Aygıtı" alması mümkün. Sebep biraz şok edici (buluyorum): Win 10 kurulumu ilk kurulduğunda gerekli olan sürücüleri "hatırlıyor" ve varsayılan olarak diğer depolama sürücülerini önyükleme sırasında yüklemeyecek. Bu, “korsanlığı” yapmak için yapılmış gibi görünüyor - “aynı” kurulumun farklı donanımlarda çalıştırılmasını zorlaştırıyor. Bu yazıdaki gentoo forumlarından bu "özellik" hakkında bazı büyük belgeler var . Özü aşağıdaki gibidir:

Önyüklemede yasaklanması hedeflenen Sürücüler aşağıdaki şekilde belirlenebilir: Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services kayıt defteri anahtarında, kurulumda bilinen her sürücü için bir alt anahtar bulunur. Bu alt anahtarın adı sadece sürücünün adıdır. Her sürücü alt anahtarında, bu sürücünün önyükleme sırasında yüklenmesi engellenirse, bir "STARTOVERRIDE" alt anahtarı olacaktır. Özellikle, STARTOVERRIDE alt anahtarında adı "0" olan bir parametre vardır. Bu parametrenin değeri "3" ise, önyükleme sırasında yüklenmez. Bu değerin 0 olarak ayarlanması yerine davranış 'geçersiz kılınır'.

Ben kendim sadece Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services adresine gidip "STARTOVERRIDE" için arama yapıyorum. Her bulduğumda, "3" değerinde "0" adında bir ad varsa, "0" olarak değiştiririm. Bu overkill gibi görünüyor, sadece yüklemesi gereken sürücüyü değiştirmeniz gerekir. Benim durumumda bunlardan birkaçı var ve hangisini hatırlamıyorum, bu yüzden sadece bu 'hizmetler' bölümünde bir "F3 araştırması" yapıyorum.

Ve şu anki, imzalı, virtio depolaması için gerekli olmayan ancak henüz imzalanmamış daha deneysel bir sürücü kullanmak istiyorlarsa bunu okuyan bir başkası olabilir: Yukarıdakileri yaptıktan sonra EVEN'i buldum hüner, ben de ALSO gelişmiş seçenekler ekranına önyükleme ve F7 ("sürücü imza doğrulamasını devre dışı bırak") seçmek gerekiyordu. Can sıkıcı bir şekilde, bcd bayrağını sürücü doğrulamasını devre dışı bırakmak üzere ayarlamak yeterli değildi, çünkü makine BCD'yi okumadan önce sürücünün yüklenmesi ve imzayı doğrulaması gerekmediğini öğrenmesi gerekiyor.

Sonuçta, Microsoft'un en parlayan saati değil. Yasal kullanıcılara, bir yapay SATA diskini, insanların bir SATA diskini bir NVMe disk ile değiştirmelerine ("çalışmasına" izin vermekten ziyade, tamamlanmış yapay Mavi Ekran) vermeyi tercih ediyorsanız, kullanıcılarınızdan nefret etmeniz gerekir.


Çok fazla ayrıntı verdiğiniz için teşekkür ederiz, bu en uygulanabilir çözüm! Hepsini almak ve çözmek için bir yedek.
Florian Heigl
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.