Karlosův archívek plků alias blog :-)

Převod "živého" OS do VirtualBox

Převod "živého" OS do VirtualBoxu, alias migrace OS do Virtualboxu, alias PC2VirtualBox, atd. popisuje více stránek na internetu. Bohužel ne všude jsou informace správné a použitelné.

Používám Windows XP na primárním SSD disku a k tomu druhý HDD na data. VirtualBox používám také již delší dobu na různé účely. Rozhodl jsem se přejít na Windows 7, ale chci si zachovat možnost komletního starého OS s veškerým nastavením. Jak na to ? Převést "živý" systém do VDI disku. Tím mi zůstane možnost kdykoliv spustit starý OS s kompletním nastavením ve virtuálním prostředí.

Z důvodu minimalizace velikosti budoucího virtuálního VDI disku je nutno starý OS pročistit, zdefragmentovat, použít MergeIDE a nakonec použít SDELETE -C.

Pro převod jsem zvolil Live Ubuntu 9.10. Návod pro jiné alternativy může být lehce odlišný.

1. Nabootovat Ubuntu.

2. Nastavit Sources aby bylo možno VirtualBox-OSE pro UBUNTU doinstalovat:

System - Administration - Software Sources - v první záložce zaškrtnout vše - potvrdit RELOAD

3. nainstalovat VirtualBox-OSE:

sudo aptitude install virtualbox-ose

4. zjistit přesnou velikost převáděného disku:

sudo fdisk -l /dev/sda

5. zahájit převod:

sudo cat /dev/sda | VBoxManage convertfromraw stdin /media/data/vystup.vdi 32044482560
(poslední číslo je předem zjištěná velikost zdrojového disku)

Teď již zbývá nabootovat o5 originální OS, vytvořit nový virtuální počítač (zaškrtnout POVOLIT IO APIC) a připojit VDI obraz. Je vhodné pro jistotu ještě zkomprimovat vytvořený VDI soubor:

VBoxManage modifyvdi d:\vystup.vdi -compact
(je nutné mít tento disk již přidaný ve správci médií)

Nakonec zkusit nabootovat virtuální počítač. Pokud jste měli štěstí jako já (je to částečně dáno tím, že používám Intel platformu) a vše naběhlo, máte vyhráno. Doporučuje se přenastavit HAL na "Standard PC" a doinstalovat VBoxGuestAdditions.

Pokud jste to štěstí neměli, bude nutné použít instalační CD Windows a provést repair systému, ale to je na jiný článek.