y2k problem in virtuellen maschinen

[ geschrieben am 27.10.2011 in blog: der maschinist | tags: #, #, #, #, #, #, # ]

will man ein älteres, nicht-y2k-fähiges betriebssystem in einer virtuellen maschine installieren, ist der weg ins bios zum händischen zurückstellen der systemzeit nicht immer ohne weiteres möglich.

die virtualisierungshosts bieten unterschiedliche wege zum manipulieren der systemzeit…

kvm
man kann der virtuellen maschine zwei unterschiedliche zeitreferenzen zuweisen: „utc“ und „localtime“. „localtime“ entspricht der zeit des virtualisierungshosts. wählt man „utc“ so lässt sich mittels des jeweiligen datumsbefehls des zu installierenden betriebssystems das datum setzen.

wirklich interessant mag das ganze jedoch nur für windows nt4 installationen sein, denn andere nicht-y2k-fähige betriebssysteme können ohnehin nicht installiert werden. nach der installation des service packs (6a) kann windows nt4 auf die aktuelle zeit zurück gestellt werden oder man referenziert die zeitquelle der virtuellen maschine einfach auf „localtime“.

virtualbox
hier kann man die systemzeitabweichung vom virtualbox-host mittels VBoxManage modifyvm [vmname] --biossystemtimeoffset [msec] setzen, wobei [msec] ein positiver oder negativer wert sein kann. setze ich in der maschine „retro“ die zeit vom heutigen datum 12 jahre zurück auf das jahr 1999, errechnet sich die zahl: -12 x 365 x 86400 x 1000 = -378432000000 .

VBoxManage modifyvm retro --biossystemtimeoffset -378432000000

nach erfolgreicher installation aller y2k-patches sollte man das datum mit dem selben aufruf ohne minuszeichen wieder zurückstellen.

vmware
für vmware habe ich hier einen hilfreichen hinweis gefunden: die vmx-datei muss um folgende zeilen ergänzt werden…

tools.syncTime = false
time.synchronize.continue = false
time.synchronize.restore = false
time.synchronize.resume.disk = false
time.synchronize.resume.memory = false
time.synchronize.shrink = false
rtc.startTime = [Sekunden seit dem 01.01.1970 00:00:00]

der schnellste weg, den wert für [Sekunden seit dem 01.01.1970 00:00:00] herauszufinden, ist in excel oder libre office ein datumsfeld zu erstellen, das datum einzutragen und den ganzzahlwert zu kopieren.

auch hier sollte man die änderungen an der vmx-datei direkt nach dem einspielen aller y2k-patches wieder rückgängig machen.

xen/ xenserver
der xen-hypervisor unterstützt keine pre-y2k gastsysteme (quelle).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.