Windows XP Mode ve VirtualBoxu i s aktivací

Windows XP Mode je moc fajn věc, jsou to v podstatě plnohodnotná Windows XP, která lze stáhnout přímo od Microsoftu a provozovat je ve Windows Virtual PC na Windows 7 v takzvaném bezešvém módu. V podstatě ani nevíte, že vám ve Windows 7 beží ve virtuální mašině Windows XP. Některé aplikace prostě pod jiným systémem než Windows XP neběží.

Rozbalení důležitých souborů

Stažený soubor (WindowsXPMode_en-us.exe) je možné rozbalit pomocí 7zip, nebo WinRar programu. Následně je potřeba najít mezi rozbalenými soubory složku sources a v ní soubor xmp, tento soubor je také potřeba rozbalit (jedná se o CAB archiv) a tím dostáváme soubor VirtualXPVHD, který stačí přejmenovat třeba na xpmode.vhd.

Instalace

Nyní stačí vytvořit novou virtuální mašinu a připojit k ní jako disk xpmode.vhd. Následně proběhne klasická instalace, ale je velmi, ale opravdu velmi rychlá.

Instalace doplňků

Hned při prvním bootu do Windows, doporučuji nainstalovat VirtualBox Guest Addition. Bez instalace Guest Addition mi totiž nefungovala myš. Následně bude fungovat oboustranná schránka, sdílení souborů mezi hostujícím systémem a hostem a další užitečné věci.

SATA ovladač

Pokud chcete mít Windows XP na SATA controlleru (prý je to rychlejší), je do nich ještě potřeba doinstalovat SATA ovladače. Nejvíc se mi osvědčil tento ovladač.

Aktivace

Největší problém jsem měl s aktivací. Ve Windows Virtual PC jsou Windows XP Mode automaticky aktivované, protože má v BIOSu integrovaný OEM string od výrobce. Ale VirtualBox nic takového nemá. Takže jsem si musel najít informace o tom, kde přesně a jaký konkrétní řetězec mám umístit do BIOSu VirtualBoxu:

Čísla říkají kde přesně se má řetězec v BIOSu vyskytovat – F000 říká hledej v oblasti kódu BIOSu, řetězec Windows_Virtual_XP_F9161D8E7FCC11DDBFAA369856D89593 musíš najít začínat na offsetu 0x908A, jinak nejsou Windows XP Mode aktivovány. Mimochodem ostatní OEM řetězce i s umístěním naleznete zde.

Tak jsem nabootoval ve VirtualBoxu distribuci Tinycore a vytáhnul jsem si BIOS VirtualBoxu:

Následně jsem musel zjistit jestli je za offsetem 0x908A volné místo pro vložení OEM stringu. Měl jsem štěstí, místa tam bylo spoustu. Následně jsem pomocí HEX editoru nahradil prázdné místo od offsetu 0x908A požadovaným OEM řetězcem.

bless

Musel jsem to několikrát opakovat, protože jsem místo nahrazování omylem přidával znaky navíc a výsledný soubor měl jinou velikost – a to byl velký problém, protože výsledný soubor musí mít vždy přesně 65536 bytů, jinak VirtualBox nenastartuje a zahlásí chybu.

Nakonec se upravený soubor xp.bin přiřadí k XP mašině tímto příkazem:

Nyní je možné spustit Windows XP a vyzkoušet, že jsou aktivované a dokonce projdou ověřením pravosti online. Zadáním následujícího příkazu do políčka spustit (WIN+R) se zobrazí informace o aktivaci, Windows XP Mode by měl být aktivován a neměl by vyžadovat aktivaci.

xpaktivace

Pro toho, komu by se zdál postup s úpravou BIOSu moc složitý nabízím ke stažení mnou upravený VirtualBox BIOS, který je ideální pro Windows XP Mode, funguje i podpora SATA.

Musím zde ještě poznamenat odkaz na článek o aktivaci a úpravě BIOSu VirtualBoxu, ze kterého jsem čerpal.

8 komentářů u „Windows XP Mode ve VirtualBoxu i s aktivací

  1. Filip

    Prosím, asi jsem uplně mimo, ale netuším kam zadat ten příkaz k přiřazení BIOSU k virtualnímu pc. Nakonec se upravený soubor xp.bin přiřadí k XP mašině tímto příkazem: ….Prosím, asi jsem uplně mimo, ale netuším kam zadat ten příkaz k přiřazení BIOSU k virtualnímu pc.

  2. Richard

    Děkuji za návod ale také jsem tupý ,
    zadal jsem do příkazového řádku Windows v návodu uvedený příkaz, zadal jsem cestu ( soubor xp.bin jsem zkopíroval do kořenového adresáře disku C:, ale napsalo mi to “ VBoxManage“ is not recognized as an internal or external command, operable program or batch file“

  3. QuarkCZ

    S novou verzi VirtualBoxu (5.1.6) toto jiz bohuzel nefunguje 🙁

    Upravili bios a ten „stary“ upraveny neni pouzitelny. Stravil jsem nekolik hodin tim, ze jsem vyextrahoval ten „novy“ BIOS a zkusil ho upravit, bohuzel na pozici 908A jiz neni prazdno a tim padem nepovazuji za bezpecne identifikacni string do biosu pridavat.

    Nakonec jsem jako reseni zvolil nasledujici:
    Spustit Safe mode s command line
    Napsat prikaz: Rundll32.exe syssetup,SetupOobeBnk

    Tim se resetuje aktivace. Nasledne jsou navody na internetu, jak „freeznout“ timer na aktivaci pres prava v registru na klic „wpaevents“.

    Uvidime za 30 dni, predpokladam, ze bude stacit maximalne pustit prikaz znovu. Porad mi to prijde bezpecnejsi nez menit BIOS na miste, kde jiz neni „prazdno“ jako tomu bylo driv.

    Zna nekdo lepsi postup?

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *