Schlagwort-Archiv: virtualbox

intelppm.sys – Fehler in Virtualbox – BSOD

Problem:
Ich habe eine virtuelle Maschine mit XP Pro von einem auf den anderen Rechner umgezogen. Leider hat der derzeitige Host keine CPU VT-Extension was mir auch gleich beim ersten booten mitgeteilt wurde. Das Windows fährt nur noch im abgesicherten Modus hoch, verabschiedet sich aber mit einem BSOD-Fehler mit Hinweis auf die intelppm.sys

Lösung:
Ich habe im Gerätemanager alle Prozessoren entfernt und die Gasttools neu installiert. Desweiteren konnte ich als Tip im Netz eine Modifikation in der Registry erlesen – sogar auf einem MSDN Blog! =) Siehe hier
TODO: regedit starten, Werte ändern (bei intelppm stands auf 1, processor gibts nicht) und rebooten. Tut wieder =)

VBoxManage 4.x – Manual


Oracle VM VirtualBox Command Line Management Interface Version 4.2.0
(C) 2005-2012 Oracle Corporation
All rights reserved.

Usage:

VBoxManage []

General Options:

[-v|--version] print version number and exit
[-q|--nologo] suppress the logo
[--settingspw ] provide the settings password
[--settingspwfile ] provide a file containing the settings password

Commands:

list [--long|-l] vms|runningvms|ostypes|hostdvds|hostfloppies|
bridgedifs|hostonlyifs|dhcpservers|hostinfo|
hostcpuids|hddbackends|hdds|dvds|floppies|
usbhost|usbfilters|systemproperties|extpacks|
groups

showvminfo | [--details]
[--machinereadable]
showvminfo | --log

registervm

unregistervm | [--delete]

createvm --name
[--groups , ...]
[--ostype ]
[--register]
[--basefolder ]
[--uuid ]

modifyvm
[--name ]
[--groups , ...]
[--ostype ]
[--memory ]
[--pagefusion on|off]
[--vram ]
[--acpi on|off]
[--pciattach 03:04.0]
[--pciattach 03:04.0@02:01.0]
[--pcidetach 03:04.0]
[--ioapic on|off]
[--pae on|off]
[--hpet on|off]
[--hwvirtex on|off]
[--hwvirtexexcl on|off]
[--nestedpaging on|off]
[--largepages on|off]
[--vtxvpid on|off]
[--synthcpu on|off]
[--cpuidset ]
[--cpuidremove ]
[--cpuidremoveall]
[--hardwareuuid ]
[--cpus ]
[--cpuhotplug on|off]
[--plugcpu ]
[--unplugcpu ]
[--cpuexecutioncap <1-100>]
[--rtcuseutc on|off]
[--monitorcount ]
[--accelerate3d on|off]
[--accelerate2dvideo on|off]
[--firmware bios|efi|efi32|efi64]
[--chipset ich9|piix3]
[--bioslogofadein on|off]
[--bioslogofadeout on|off]
[--bioslogodisplaytime ]
[--bioslogoimagepath ]
[--biosbootmenu disabled|menuonly|messageandmenu]
[--biossystemtimeoffset ]
[--biospxedebug on|off]
[--boot<1-4> none|floppy|dvd|disk|net>]
[--nic<1-N> none|null|nat|bridged|intnet|hostonly|
generic]
[--nictype<1-N> Am79C970A|Am79C973|
82540EM|82543GC|82545EM|
virtio]
[--cableconnected<1-N> on|off]
[--nictrace<1-N> on|off]
[--nictracefile<1-N> ]
[--nicproperty<1-N> name=[value]]
[--nicspeed<1-N> ]
[--nicbootprio<1-N> ]
[--nicpromisc<1-N> deny|allow-vms|allow-all]
[--nicbandwidthgroup<1-N> none|]
[--bridgeadapter<1-N> none|]
[--hostonlyadapter<1-N> none|]
[--intnet<1-N> ]
[--natnet<1-N> |default]
[--nicgenericdrv<1-N>
[--natsettings<1-N> [],[],
[],[],
[]]
[--natpf<1-N> [],tcp|udp,[],
,[],]
[--natpf<1-N> delete ]
[--nattftpprefix<1-N> ]
[--nattftpfile<1-N> ]
[--nattftpserver<1-N> ]
[--natbindip<1-N>
[--natdnspassdomain<1-N> on|off]
[--natdnsproxy<1-N> on|off]
[--natdnshostresolver<1-N> on|off]
[--nataliasmode<1-N> default|[log],[proxyonly],
[sameports]]
[--macaddress<1-N> auto|]
[--mouse ps2|usb|usbtablet
[--keyboard ps2|usb
[--uart<1-N> off| ]
[--uartmode<1-N> disconnected|
server |
client |
file |
]
[--lpt<1-N> off| ]
[--lptmode<1-N> ]
[--guestmemoryballoon ]
[--gueststatisticsinterval ]
[--audio none|null|oss|alsa|pulse]
[--audiocontroller ac97|hda|sb16]
[--clipboard disabled|hosttoguest|guesttohost|
bidirectional]
[--draganddrop disabled|hosttoguest
[--vrde on|off]
[--vrdeextpack default|
[--vrdeproperty ]
[--vrdeport ]
[--vrdeaddress ]
[--vrdeauthtype null|external|guest]
[--vrdeauthlibrary default|
[--vrdemulticon on|off]
[--vrdereusecon on|off]
[--vrdevideochannel on|off]
[--vrdevideochannelquality ]
[--usb on|off]
[--usbehci on|off]
[--snapshotfolder default|]
[--teleporter on|off]
[--teleporterport ]
[--teleporteraddress [--teleporterpassword ]
[--teleporterpasswordfile |stdin]
[--tracing-enabled on|off]
[--tracing-config ]
[--tracing-allow-vm-access on|off]
[--usbcardreader on|off]
[--autostart-enabled on|off]
[--autostart-delay ]
[--autostop-type disabled|savestate|poweroff|
acpishutdown]

clonevm |
[--snapshot |]
[--mode machine|machineandchildren|all]
[--options link|keepallmacs|keepnatmacs|
keepdisknames]
[--name ]
[--groups , ...]
[--basefolder ]
[--uuid ]
[--register]

import
[--dry-run|-n]
[--options keepallmacs|keepnatmacs]
[more options]
(run with -n to have options displayed
for a particular OVF)

export --output|-o .
[--legacy09|--ovf09|--ovf10|--ovf20]
[--manifest]
[--vsys ]
[--product ]
[--producturl ]
[--vendor ]
[--vendorurl ]
[--version ]
[--eula ]
[--eulafile ]

startvm |...
[--type gui|sdl|headless]

controlvm |
pause|resume|reset|poweroff|savestate|
acpipowerbutton|acpisleepbutton|
keyboardputscancode [ ...]|
setlinkstate<1-N> on|off |
nic<1-N> null|nat|bridged|intnet|hostonly|generic
[] |
nictrace<1-N> on|off
nictracefile<1-N>
nicproperty<1-N> name=[value]
natpf<1-N> [],tcp|udp,[],
,[],
natpf<1-N> delete
guestmemoryballoon ]
gueststatisticsinterval ]
usbattach |

|
usbdetach |
|
clipboard disabled|hosttoguest|guesttohost|
bidirectional]
draganddrop disabled|hosttoguest]
vrde on|off |
vrdeport |
vrdeproperty |
vrdevideochannelquality setvideomodehint
[[] [
[ ]]] |
screenshotpng [display] |
setcredentials
--passwordfile |
[--allowlocallogon ] |
teleport --host --port [--maxdowntime ]
[--passwordfile |
--password ]
plugcpu
unplugcpu
cpuexecutioncap <1-100>

discardstate |

adoptstate |

snapshot |
take [--description ] [--pause] |
delete | |
restore | |
restorecurrent |
edit ||--current
[--name ]
[--description ] |
list [--details|--machinereadable]
showvminfo |

closemedium disk|dvd|floppy |
[--delete]

storageattach
--storagectl
[--port ]
[--device ]
[--type dvddrive|hdd|fdd]
[--medium none|emptydrive|
||host:|iscsi]
[--mtype normal|writethrough|immutable|shareable|
readonly|multiattach]
[--comment ]
[--setuuid ]
[--setparentuuid ]
[--passthrough on|off]
[--tempeject on|off]
[--nonrotational on|off]
[--discard on|off]
[--bandwidthgroup ]
[--forceunmount]
[--server |]
[--target ]
[--tport ]
[--lun ]
[--encodedlun ]
[--username ]
[--password ]
[--initiator ]
[--intnet]

storagectl
--name
[--add ide|sata|scsi|floppy|sas]
[--controller LSILogic|LSILogicSAS|BusLogic|
IntelAHCI|PIIX3|PIIX4|ICH6|I82078]
[--sataideemulation<1-4> <1-30>]
[--sataportcount <1-30>]
[--hostiocache on|off]
[--bootable on|off]
[--remove]

bandwidthctl
add --type disk|network
--limit [k|m|g|K|M|G] |
set
--limit [k|m|g|K|M|G] |
remove |
list [--machinereadable]
(limit units: k=kilobit, m=megabit, g=gigabit,
K=kilobyte, M=megabyte, G=gigabyte)

showhdinfo |

createhd --filename
[--size |--sizebyte ]
[--diffparent |
[--format VDI|VMDK|VHD] (default: VDI)
[--variant Standard,Fixed,Split2G,Stream,ESX]

modifyhd |
[--type normal|writethrough|immutable|shareable|
readonly|multiattach]
[--autoreset on|off]
[--compact]
[--resize |--resizebyte ]

clonehd | |
[--format VDI|VMDK|VHD|RAW|]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--existing]

convertfromraw
[--format VDI|VMDK|VHD]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--uuid ]
convertfromraw stdin
[--format VDI|VMDK|VHD]
[--variant Standard,Fixed,Split2G,Stream,ESX]
[--uuid ]

getextradata global||
|enumerate

setextradata global||

[] (no value deletes key)

setproperty machinefolder default| |
vrdeauthlibrary default| |
websrvauthlibrary default|null| |
vrdeextpack null| |
autostartdbpath null| |
loghistorycount

usbfilter add
--target ||global
--name
--action ignore|hold (global filters only)
[--active yes|no] (yes)
[--vendorid ] (null)
[--productid ] (null)
[--revision ] (null)
[--manufacturer ] (null)
[--product ] (null)
[--remote yes|no] (null, VM filters only)
[--serialnumber ] (null)
[--maskedinterfaces ]

usbfilter modify
--target ||global
[--name ]
[--action ignore|hold] (global filters only)
[--active yes|no]
[--vendorid |""]
[--productid |""]
[--revision |""]
[--manufacturer |""]
[--product |""]
[--remote yes|no] (null, VM filters only)
[--serialnumber |""]
[--maskedinterfaces ]

usbfilter remove
--target ||global

sharedfolder add |
--name --hostpath
[--transient] [--readonly] [--automount]

sharedfolder remove |
--name [--transient]

guestproperty get | [--verbose]

guestproperty set | [ [--flags ]]

guestproperty enumerate |
[--patterns ]

guestproperty wait | [--timeout ] [--fail-on-timeout]

guestcontrol |
exec[ute]
--image --username
[--passwordfile | --password ]
[--domain ] [--verbose] [--timeout ]
[--environment "= [=]"]
[--wait-exit] [--wait-stdout] [--wait-stderr]
[--dos2unix] [--unix2dos]
[-- [] ... []]

copyfrom
--username
[--passwordfile | --password ]
[--domain ] [--verbose]
[--dryrun] [--follow] [--recursive]

copyto|cp
--username
[--passwordfile | --password ]
[--domain ] [--verbose]
[--dryrun] [--follow] [--recursive]

createdir[ectory]|mkdir|md
... --username
[--passwordfile | --password ]
[--domain ] [--verbose]
[--parents] [--mode ]

stat
... --username
[--passwordfile | --password ]
[--domain ] [--verbose]

updateadditions
[--source ] [--verbose]
[--wait-start]

debugvm |
dumpguestcore --filename |
info [args] |
injectnmi |
log [--release|--debug] ...|
logdest [--release|--debug] ...|
logflags [--release|--debug] ...|
osdetect |
osinfo |
getregisters [--cpu ] |all ... |
setregisters [--cpu ] = ... |
show [--human-readable|--sh-export|--sh-eval|
--cmd-set]

[[opt] what ...] |
statistics [--reset] [--pattern ]
[--descriptions]

metrics list [*|host| []]
(comma-separated)

metrics setup
[--period ] (default: 1)
[--samples ] (default: 1)
[--list]
[*|host| []]

metrics query [*|host| []]

metrics enable
[--list]
[*|host| []]

metrics disable
[--list]
[*|host| []]

metrics collect
[--period ] (default: 1)
[--samples ] (default: 1)
[--list]
[--detach]
[*|host| []]

hostonlyif ipconfig
[--dhcp |
--ip [--netmask (def: 255.255.255.0)] |
--ipv6 [--netmasklengthv6 (def: 64)]]
create |
remove

dhcpserver add|modify --netname |
--ifname
[--ip
--netmask
--lowerip
--upperip ]
[--enable | --disable]

dhcpserver remove --netname |
--ifname

extpack install [--replace] |
uninstall [--force] |
cleanup

Von der OVF zur VMX Konfiguration

Problem:
Nachdem ein Virtualbox System als Appliance exportiert wurde, kann es vom ESXi selbst nicht gelesen werden. Das XML ist für die VMWare fehlerhaft. Christlicher als der Papst also..

Lösung:
Es gibt ein Tool von VMWare namens „ovftool“. Dieses ist sowohl für Windows als auch für Linux und Mac verfügbar. Yay!
http://www.vmware.com/go/ovf_guide

Vorgehen:
Nach der Installation gibt man dem Tool Quell- und Zielnamen. Die XML Fehler werden angezeigt. Ich empfehle, ein Backup von der OVF anzulegen damit man im Zweifel nochmal von vorne anfangen kann. ^^
Leider ist VMWare etwas pingelig, manchmal genügt ein Löschen der Zeile (Caption, Description) und manchmal werden Section Zeilen an anderen Stellen erwartet. Am Ende sollte eine importierbare Appliance vorliegen.

Verkleinern von VDI Dateien mit Linux-Betriebssystem

Problem:
Ein DD kopiert klassischerweise Block für Block von einer Festplatte. Das Image ist also immer so groß, wie die Quellplatte. Auch wenn fast nichts drauf ist.

Lösung:
Die Platte muss mit Boardmitteln verkleinert werden.
Dazu boote ich via VirtualBox erstmal in das Betriebssystem.
Für jedes „richtige“ Laufwerk (nachfolgend $mountpunkt genannt), welches in der /etc/fstab genannt ist, muss folgendes durchgeführt werden.

init 1
cd $mountpunkt-der-festplatte
dd if=/dev/zero of=zero.file
rm zero.file
halt

Die Maschine ist nun wieder aus. Nun frägt man sich, was das soll! Das erklär ich gleich.

Nun nutzen wir wieder Boardmittel von Virtualbox

VBoxManage modifyhd --compact image-vom-server.dd.vdi

Das dauert nun kurz – und im Anschluss sollte das Image nur noch so groß sein, wie die tatsächliche Belegung hergibt.

Nun zum Hintergrund: Der genannte „VBoxManage“ Befehl kann nur Blöcke entfernen, die mit einer NULL beschrieben sind. Sollten die Inoden noch Restdaten beinhalten obwohl sie nicht genutzt ist, dann wird hier nichts optimiert.
Aus diesem Grund habe ich vorneweg im gebooteten System eine Datei angelegt, welche nur mit NULL gefüllt ist. „–compact“ kann nun also jeden dieser Blöcke auf dem Image nehmen. Schliesslich ist ja nichts drin 😉

Alternativ gibt es noch das Tool „zerofree„, welches das selbe erledigt. Schau kurz in Beschreibung für nähere Infos. Im Prinzip ists halt das selbe!

DD Image Converter – VBoxManage

Problem:
Ich habe physikalische Rechner, welche ich endlich Virtualisieren möchte ^^

Lösung:
Ich boote die Server mit RIP (Rescue Is Possible) und mounte mit sshfs mein Arbeitstier.
Via „mount“ überprüfe ich das Verzeichnis. Gemountet? Gut! Könnte genauso eine externe Festplatte sein…
Nun wird mit dd ein Image der kompletten Platte (incl. MBR usw) in das gemountete Verzeichnis gespielt.


cd /mnt/zielordner
dd if=/dev/sda of=image-vom-server.dd

Der Copyjob sollte, ganz nach Größe der Quellfestplatte, eine Weile dauern. 20 GB dauern ca. ne Stunde über mein kleines 100mbit Testnetzwerk. Vllt wäre mal n 1000mbit Upgrade nötig, aber das steht auf nem anderen Blatt.

Ist der Copyjob mit „dd“ erledigt, dann ab zum Zielrechner.

Hier ist dd2vmdk kompiliert und installiert, wie ich es in diesem Artikel schon kurz beschrieben habe. Leider bricht das Programm beim Aufruf mit einem Speicherfehler ab.

dd2vmdk[3253]: segfault at 0 ip 00007fdaa5d5ce34 sp 00007fff99b574f0 error 4 in libc-2.13.so[7fdaa5cf5000+17d000]

Das ist aber nicht weiter tragisch, ich möchte das Image eh zuerst mal in Virtualbox testen. Und genau dieses ist installiert und bringt den Befehl „VBoxManage“ mit.

VBoxManage help

zeigt, was das Programm alles drauf hat. Aber ich schweife ab…

Ich beweg mich also in das Verzeichnis mit dem dd Image und habe mindestens nochmal soviel Platz wie das DD Image groß ist. Dann nutze ich eine der „VBoxManage“ Optionen.

VBoxManage convertfromraw image-vom-server.dd image-vom-server.dd.vdi

Im Anschluss ist das Image fertig und kann direkt gebootet werden. Linux eben.

VirtualBox Gasttools für Debian/Linux

Problem:
Nach der Installation von Debian unter VirtualBox oder anderen Virtualisierungen sollen die Virtual Tools für die Integration in die Host-GUI u.a. installiert werden.

Achtung: Die folgenden Steps sind für das Gastsystem bestimmt. Bitte nicht am Host versuchen! 😉

Lösung:
Zuerst muss mal das „build-essential“ und „dkms“ Paket mit Abhängigkeiten installiert werden

apt-get install build-essential dkms

Dann bindet man über das VBox Fenster die Gasterweiterung ein (Tastenshorty: Hosttaste+D)
Am besten nutzt man udisk und mountet die Erweiterungen im OS.

Ich kopiere die Installation nach /usr/src und starte sie dort.

cp /media/cdrom/VBoxLinuxAdditions.sh /usr/src
cd /usr/src
sh VBoxLinuxAdditions.sh

Die Installation der Kernelmodule wird nun konform über DKMS verwaltet.

Im Anschluss den Host neustarten und prüfen, ob die Module geladen wurden.