VS2005 > Hyper-V

Virtual Server 2005 oli oma aja kohta päris huvitav toode, kuid nüüdseks on ta omajagu vananenud ja kui pole nostalgilisi või tehnoloogilisi põhjusi, siis võiks VM’id kolida Hyper-V (või mõnele muule kaasagsemale) platvormile.

VM’e migreerida iseenesest on lihtne. Käsitsi vhd’sid liigutades (sisemise failisüsteemi tasemelt on need ühilduvad MS virtualiseerimisplatvormide vahel) või mõnda ägedamat (SCVMM) lahendust kasutades.

Teatud juhtudel (näiteks, kui VM OS oli Windows server 2008) tekib olukord, kus VM käivitub terve igaviku, hiir ei tööta, võrk ei tööta või töötab ebamääraselt ja kogu kupatus on tattaeglane.

Ehk tekib tunne, et kogu abidraiverite kiht on katki või puudu. Virtual guest services (Integration components) eemaldamisest, uuendamisest pole kasu ja Device manageris kaevates on näha, et VMBus (Virtual Machine Bus) on varustatud kollase hüüumärgiga.

“This device cannot find enough free resources that it can use. (Code12)”

Ei aita selle seadme draiverite uuendamine, eemaldamine ega muu hookus-pookus. NOK.

Tegelikult on põhjus selles, et VS2005 söödab ette natuke teistmoodi masinainfo ja Hyper-V’ endas jooksvale VM’ile teise. Ehk – küsimus taandub lõpuks sellele, milline HAL on installeeritud. VS2005 alla näeme Advanced Configuration and Power Interface (ACPI) PC”, HYPER-V VM’is peaks seal olema “ACPI x86-based PC” . Kogu VMBus ja seotud draiverid aga sõltuvad otseselt HAL’i korrektsusest.

Kuidas vahetada HAL’i? Alates Windows server 2008/Vista perekonnast on HAL’i vahetamine õnneks kordades lihtsustunud kui NT4/2000/2003 versioonides. See tehakse lihtsalt autodetecti abil :). Autodetecti sisselülitamiseks on lihtne võimalus – käivita msconfig , vali BOOT ja Advanced. Märgi Detect HAL ja tee restart.

image

Volilaa! Masina tüüp on õige

image

ja VMBus jääb rahule (võimalik, et Integration components tuleb uuesti installida).

image

HALi vahetuse initseerimiseks on tegelikult veel üks võimalus (kui masin on ikka nii raskesti juhitav, et msconfig’i kuidagi käima ei saa)

  1. Seiska VM
  2. Moundi vhd mõnes 2008/Vista või uuem OS voluumiks (sama Hyper-V masin sobib hästi. Eriti hea on 2008R2, seal on vhd mount juba Disk Mangeris sees, vastasel juhul kasuta PowerShelli).
  3. Võta see voluum Disk Manageri abil online ja anna talle mõni vaba kettatäht.
  4. kasuta BCDEDIT utikat ja muuda ÕIGET bootconfiguration faili.  Stiilis BCDEDIT /store x:\Boot\bcd {current} /set detecthal yes  (X on siin siis mounditud ketta täht).
  5. Pane voluum offline ja unmoundi.
  6. Käivita VM

NB! Väga kasulik on eelnevalt tutvuda BCDEDIT võimaluste ja käsureaga, et mitte oma masina boot konfiguratsiooni puusse keerata.

Kuigi automaatne HAL tuvastamine ei pikenda eriti buutimisaega võiks selle sealt konfist maha koristada. Ja nüüd juba kindlasti msconfig abil, kiirem, mugavam  ja veakindlam.