# Disk DescriptorFile
version=1
CID=76805586
parentCID=ffffffff
createType="monolithicFlat"
# Extent description
RW 12581856 FLAT "tiger-x86-flat.img" 0
# The Disk Data Base
#DDB
ddb.adapterType = "ide"
ddb.geometry.sectors = "63"
ddb.geometry.heads = "16"
ddb.geometry.cylinders = "9825"
ddb.virtualHWVersion = "4"
ddb.toolsVersion = "0"
Ez így már jobban tetszett, hisz csak néhány adatra van szükségem, és máris tudok vmdk-t generálni bármilyen raw image-hez.
IRC-n zaklattam egy kicsit a többieket, hátha lehet hdd méret után sector, head és cylinder értéket számolni. Aztán eszembe jutott, hogy ezt megcsinálja helyettem a VMware is.
Létrehoztam VMware-ben egy új virtuális gépet, és a hdd mérete megadásakor kiszámoltam, hogy mekkora méretű a hdd-m GB-ban, ezzel a képlettel: raw_image_size_in_bytes/1024/1024/1024. Továbbá bekapcsolva hagytam az "Allocate all disk space now" opciót. Így létrehozott egy virtuális_gép_neve.vmdk és egy virtuális_gép_neve-slim.vmdk filet. Ez utóbbit lecseréltem a saját raw image-emmel. Így az mbr-t már be tudta tölteni a virtuális gép, de a többi partícióval már gondok adódtak.
Ekkor megnéztem, hogy a lefoglalt terület pontosan 512 byte-tal kisebb lett, mint a raw image-em. Létrehoztam újra a virtuális merevlemezt, de ezúttal a méretét így számoltam: (raw_image_size_in_bytes+512)/1024/1024/1024. Újra lecseréltem a létrehozott virtuális_gép_neve-slim.vmdk fájlt a saját raw image-emre, és így sikerült bebootolnom ezt a lementett rendszert.
Szóval a lényeg röviden:
- a virtuális lemez legyen olyan típusú, amilyen a fizikai hdd volt (FIXME: nálam IDE volt)
- a virtuális lemez mérete legyen 512 byte-al nagyobb, mint a raw image (figyelem, GB-ban megadandó, használd a "(raw_image_size_in_bytes+512)/1073741824" képletet) (FIXME: sata esetében nem tudom, hozzá kell-e adni 512 byte-ot.)
- cseréld le a létrejövő virtuális_gép_neve-slim.vmdk fájlt a saját raw image-edre
- bootold be a virtuális gépet, és örülj :)
Remélem segítettem!
Ui: nem tudom, hogy Google-ben megtalálható-e ez a leírás, könnyen elképzelhető, hogy igen. Minden esetre én nem találtam, ezért is hoztam létre ezt a blogbejegyzést.
Szerk: VirtualBox 1.4.0 óta képes kezelni vmdk fileokat is, azaz ez a szoftver is kezelheti a raw image-eket. Én a 2.0-s verzióban teszteltem, tökéletesen működik. Sajnos ahogy elnézem, létrehozni nem tud vmdk-t, szóval akinek nincs "célszoftverje", annak kézzel kell létrehozni a vmdk-t, vagy az www.easyvmx.com-on is elkészítheti. (Ez utóbbi a szerkesztés időpontjában nem működött.)
- BaT blogja
- A hozzászóláshoz be kell jelentkezni
- 1252 megtekintés
Hozzászólások
Milyen hátránya van a kernelgyorsított qemu-nak a vmware-rel szemben ebben az esetben?
- A hozzászóláshoz be kell jelentkezni
Lassú. Talán néhány speciális esetben gyorsabb csak qemu, de ezt még benchmarkolnom kell.
Ugyanis majd írok erről is, csak még tesztelgetem egy kicsit a dolgokat. Már összegyűlt néhány adat a virt.txt-be. :)
- A hozzászóláshoz be kell jelentkezni
Az, hogy a VMware procitamogatas nelkul is hoz kozel olyan teljesitmenyt, mint a QEmu kernelgyorsitassal (hiszen a kernelgyorsitas igazabol csak paravirtualizacios proci eseteben ad lenyegi pluszt).
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Én úgy szoktam, hogy vmware-ben bebootolok egy live cd-t, és onnan dd-zem be simán a virtális diszkre. Úgyis be kéne bootolni a legtöbb esetben live cd-re (ha lehet akkor olyanra ami közel áll az adott disztribúcióhoz) mkinitrd, stb céllal vagy csak simán elrendezni ezt-azt és így egy lépésben megvan.
- A hozzászóláshoz be kell jelentkezni
Egy pillanatra ez a megoldás is eszembe jutott, aztán elvetettem. Ugyanis ez sem jobb, mint a konvertálás, illetve ha vissza szeretném tölteni az image-et hdd-re, akkor megint dd-zni kell.
- A hozzászóláshoz be kell jelentkezni
Tegyük még hozzá hogy ez ESX környezet, az egyes gépek a világ különböző pontjain, nagyságrendileg az ssh "dd ..." | dd ... bizonyult a legegyszerűbbnek, sőt nem is csak fizikai gépek voltak hanem Xen-es cuccok.
- A hozzászóláshoz be kell jelentkezni
En igy csinaltam:
legyen a ddvel lementett disk meret X, ekkor a
RW szam FLAT imagehelye
sorban a szam helyere X/1024 felfele kerekitett erteket kell irni.
majd ilyeneket:
ddb.geometry.cylinders = "1"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Jó, hat ez lényegében majdnem ugyan ez a megoldás. Így akartam először megoldani (amint látod), de aztán leegyszerűsítettem.
- A hozzászóláshoz be kell jelentkezni
nem egészen
X/1024 helyett a szektorszámot, azaz X/512-őt kell odavésni (feltéve, ha X=méret), de lehet, hogy én tudom rosszul... ???
ami át van húzva, azt teljesen fölösleges elolvasni. az olyan, mintha ott sem lenne
- A hozzászóláshoz be kell jelentkezni
Stop! Ez milyen tipusu lemez volt? Splitted vagy nem splitted? Az uj merevlemez krealo reszben pontosan miket kattintgattal be? Ez fontos.
Amennyire tudom, a nem splitted image-kba bele szokja a vmware agyazni a konfig file-t. Ezek szerint akkor ez megvaltozott?
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Disk size (GB): méret
[x]Allocate all disk space now
[ ]Split disk into 2GB files
Rosszul tudod. Akkor kerül egybe a 2, ha nem foglalod le a lemezterületet. Gyanítom, hogy ez mindig is így volt.
Ha splitteled, akkor is külön kerül a config és külön a tényleges adat, függetlenül attól, hogy előre lefoglalod a területet, vagy nem.
Tehát: csak akkor kerül egybe a kettő, ha nem splitteled és nem foglalod le a területet előre.
- A hozzászóláshoz be kell jelentkezni
Az 512 byte valószínű az MBR-nek kell. Így mindig hozzá kell adni ezt az értéket, függetlenül az alatta lévő hardver-technológiától.
--
- Name ONE thing that your Linux computer can do that my MAC can't!
- Right click.
- A hozzászóláshoz be kell jelentkezni