dawno, dawno temu, w odległej galaktyce, bawiłem się nowymi funkcjami w7 – mianowicie bootowaniem z vhd.

ostatnio na małym spotkaniu filmowym GT stwierdził, iż niemożliwie jest zbootwanie systemu z vhd utworzonego za pomocą “Windows Backup and Restore”, ponieważ nie zawiera on HALa. odgrzebałem stary wpis, przygotowałem w wolnych chwilach pliczek vhd z ostatnio robionego backupu i wrzuciłem go na dysk. większość artów opisuje jak dodać vhd do istniejącego bootloadera natomiast tu scenariusz jest trochę inny – mam pusty dysk i na nim tylko vhd. ponieważ bcdedit nie jest łatwy do ogarnięcia najlpiej skorzystać ze ściągi. kluczowym narzędziem w takim przypadq jest ‘bcdboot’, który tworzy nowy bcd. ogólna lista kroków jest taka:

  • przygotuj VHD w postaci fixed. jeśli trzeba to go zmniejsz, żeby zmieścił się na Twoim dysq
  • podłącz dysk USB i nagraj na niego przygotowany plik
  • nie testowałem bootwania z USB… to byłoby ciekawe doświadczenie ale odpuściłem sobie. jak ktoś sprawdzi – koniecznie dacie znać (: po prostu wymieniłem dyski w kompie – systemowy na ten z plikiem vhd
  • uruchom system z płyty instalacyjnej albo inne winPE
  • wykonaj kroki opisane na technecie

dygresyjna ciekawostka – jeśli używa się powershell to wykonywanie instrukcji kończy się błędem:

Invalid command line switch: /encodedCommand
Run "bcdedit /?" for command line assistance.
The parameter is incorrect.

problem polega na interpretacji nawiasów klamrowych ‘{}’. trzeba je eskejpować akcentem słabym [grave accent “`”] albo uruchomić sobie cmd [FUJ!].

i jeszcze w ramach dalszej dygresji inne pomocne narzędzie do zabawy z BCD: bootrec

powracając do tematu – po wykonaniu tych kilq prostych instrukcji system ładnie wstaje bez problemów. imho kluczowym elementem rozwiązującym problem HALa jest ostatnia linijka konfiguracji:

bcdedit –set {GUID} detecthal on

podwójnie potwierdzone empirycznie (:

na koniec kolejny wątek poboczny – początkowo próbowałem stworzyć wpisy BCD na żywym systemie. nie jest to proste – wszystkie polecania [np. bcdboot] automatycznie korzystają z system store. sam bcdedit ma parametr ‘-store’ ale ręczna rzeźba to rzeźba w miękkim materiale. raz głupkowato przepisując użyłem parametru ‘import’ … potem przeczytałem jak działa (; wyrezało mi BCD na dysq systemowym. drugi błąd – raz zapomniałem wpisać ‘-store …’ i znów nadpisałem sobie wpisy. warto zrobić przed taką zabawą ‘-export’ ale bez strachu – płyta instalacyjna naprawia takie rzeczy niemal automatycznie (:

eN.