Win4Lin pro Win4BSD Win4Solaris download installation howto license
(Link zu dieser Seite als [[QEMU-KVM-Buch/ Anhang/ Weitere Virtualisierer und Emulatoren/ Win4]])
Inhaltsverzeichnis |
[bearbeiten] Win4BSD
Download: http://win4bsd.com/wp/get-win4bsd/ Empfehlung: Ab 512 MByte RAM, ab 10 GByte freier Festplattenplatz, X-Window ab 1024x768 Pixeln Auflösung.
Win4BSD (http://www.win4bsd.com) ist ein kommerzielles Produkt der Firma Virtual Bridges, Inc. basierend auf QEMU. Damit lassen sich die Microsoft Windows-Versionen 2000 und XP oder einzelne Windows-Applikationen unter FreeBSD (32-Bit) und PC-BSD (32-Bit) ausführen. Über gemeinsame Verzeichnisse lassen sich Daten mit dem Host-System austauschen. Die Konfiguration mit Start-Option ist nicht möglich. Die nicht-kommerzielle Nutzung von Win4BSD ist kostenlos. Da diese Version nur eine 32-Bit-Anwendung ist, ist für 64-Bit-Hosts die originale QEMU-Version (64-Bit) zu empfehlen. Weitere Produkte der Virtual Bridges, Inc. sind Win4Lin und Win4Solaris (siehe unten).
[bearbeiten] Installation von Win4BSD unter PC-BSD
In diesem Beispiel wird Win4BSD 1.1 per FreeBSD-Ports unter PC-BSD 7.0.1 (x86, 32-Bit) installiert. Zuvor wurden auf dem System QEMU, KQEMU und AQEMU installiert. Unter PC-BSD ist auch die Installation mit der entsprechenden PBI-Datei möglich. Zur Installation per FreeBSD-Ports wechselt man in das Verzeichnis im Ports-Tree und startet dort wie üblich die Installation, die unter PC-BSD 7.0.1 mit einer Fehlermeldung abbricht.
Host ~# cd /usr/ports/emulators/win4bsd Host ~# make install clean win4bsd-1.1_3 requires the traditional 4BSD scheduler. Please rebuild your kernel with options SCHED_4BSD, and run make again. *** Error code 1
Win4BSD 1.1 verträgt sich nicht mit dem neuen ULE-Scheduler. Ein Kernel ist mit dem alten BSD-Scheduler zu kompilieren. Dazu benötigt man die Kernel-Quellen. Falls das Verzeichnis /usr/src/sys nicht vorhanden ist, müssen die Quellen installiert werden. Dies erfolgt mit sysinstall. Sind die Quellen vorhanden, wechselt man in das Verzeichnis /usr/src/sys/i386/conf und legt eine Kopie der Konfigurationsdatei an.
Host ~# cd /usr/src/sys/i386/conf Host ~# cp GENERIC MYKERNEL
Die Datei MYKERNEL wird mit einem Texteditor, zum Beispiel dem vi, geöffnet. Dabei ist folgende Zeile anzupassen.
options SCHED_ULE
Diese Zeile wird wie folgt geändert.
options SCHED_4BSD
Nach dem Speichern der Datei MYKERNEL wird der angepasste Kernel kompiliert.
Host ~# cd /usr/src Host ~# make buildkernel KERNCONF=MYKERNEL
Das Kompilieren dauert eine Weile. Inzwischen liest man die Dokumentation von Win4BSD: ftp://ftp.vbridges.com/pub/archive/pro/releases/bsd/pro/1.1/Users-Guide.html.
Wurde der neue Kernel ohne Fehlermeldungen kompiliert, wird dieser installiert. Anschließend ist der Rechner neu zu starten.
Host ~# make installkernel KERNCONF=MYKERNEL Host ~# reboot
Jetzt wird Win4BSD installiert. Dazu wechselt man wieder in das entsprechende Verzeichnis im Ports-Tree und startet dort die Installation.
Host ~# cd /usr/ports/emulators/win4bsd/ Host ~# make install clean
Nach der Installation ist das Skript postinstall.sh zur Konfiguration und zum Start von Win4BSD auszuführen. Dieses Skript versucht auch KQEMU zu kompilieren, was fehlschlägt. Da KQEMU bereits installiert wurde, sind diese Fehlermeldungen zu ignorieren.
Host ~# /usr/local/lib/win4bsd/bin/postinstall.sh Starting Win4BSD Pro ...done.
Den Start von Win4BSD wird mit ps überprüft.
Host ~# ps aux | grep "win4bs[d]" root 13523 0,0 0,2 1332 832 ?? Is 8:21am 0:00,00 /usr/local/lib/win4bsd/bin/mergeprod
Die Seriennummer 1w6fb61x-n3392a-869x-8j25-h425-31 von der Download-URL wird mit dem Skript ask_license.sh eingegeben. Die Angaben werden in die Datei /usr/local/win4bsd/install/license.lic gespeichert.
Host ~# /usr/local/lib/win4bsd/bin/ask_license.sh
[bearbeiten] Anlegen von virtuellen Maschinen
[bearbeiten] Mit loadwinproCD und installwinpro
Mit dem Skript loadwinproCD können bestimmte Installationsmedien für Win4WSD importiert werden. Die folgenden Microsoft Windows CD-ROMs werden offiziell unterstützt.
- Microsoft Windows 2000 Professional (ohne Service Packs)
- Microsoft Windows 2000 Professional, mit Service Pack 1
- Microsoft Windows 2000 Professional, mit Service Pack 2
- Microsoft Windows 2000 Professional, mit Service Pack 4
- Microsoft Windows XP Professional, mit Service Pack 1 oder 1a
- Microsoft Windows XP Professional, mit Service Pack 2
- Microsoft Windows XP Home, mit Service Pack 1 oder 1a
- Microsoft Windows XP Home, mit Service Pack 2
Dazu ist die CD einzulegen und das Skript loadwinproCD zu starten. Unter PC-BSD 7 bricht dieses Skript mit einer Fehlermeldung ab.
Host ~# /usr/local/lib/win4bsd/bin/loadwinproCD Checking CDROM... mount: /dev/acd0 : Operation not supported by device
Das Skript loadwinproCD ruft das Skript unimount.sh auf, dass den Befehl mount eine Option übergibt, mit der diese Version von PC-BSD nicht klar kommt. Man umgeht dieses Problem mit einer Änderung in dem Skript unimount.sh. Man öffnet das Skript /usr/local/lib/win4bsd/bin/unimount.sh mit einem Editor und sucht dort nach der Funktion mount_block_bsd(). In dieser Funktion ändert man den mount-Befehl wie folgt:
mount_block_bsd()
{
RETVAL=0
if [ -x /sbin/mount_auto -o -x /usr/sbin/mount_auto ]; then
MTYPE="auto"
else
MTYPE="cd9660"
fi
# original:
# mount -r -t $MTYPE $1 $2 >/dev/null
# neu:
mount -r -t cd9660 $1 $2 >/dev/null
if [ $? -ne 0 ]; then
RETVAL=1
fi
}
Es wird die Installations-CD, in diesem Beispiel Windows XP Professional (Service Pack 2) für Win4BSD importiert. Das Image wird im Verzeichnis /usr/local/win4bsd/cdroms angelegt.
Host ~# /usr/local/lib/win4bsd/bin/loadwinproCD Checking CDROM... Media found: Windows XP Professional (Service Pack 2) Loading CDROM... please wait... .................................................. Windows CDROM load complete.
Man loggt sich unter dem normalen Account ein (nicht als Benutzer root) und ruft das Skript installwinpro auf. Mit der Option -d wird ein Verzeichnis für die Dateien der virtuellen Maschine angegeben. Wird diese Option nicht angegeben, wird das Default-Verzeichnis ~/winpro verwendet. Mit der Option -g legt man die Größe des Images fest. Bei der Option -m wird der Modus der Installation definiert. Dabei gibt es folgende Möglichkeiten:
- image: Die gesamte Installation erfolgt im Image GUEST.IMG. Das BSD-Home-Verzeichnis erreicht man über den Pfad \\HOST\\HOME.
- shared: Im Gegensatz zu image wird My Documents im Host-System gespeichert. Dies ist die Default-Einstellung bei der Windows XP-Installation.
- integrated: Als roaming profile werden alle Nutzer-Daten im Host-System gespeichert. Dies ist die Default-Einstellung bei der Windows 2000-Installation. Unter XP ist bei dieser Option kein Zugriff auf den Login-Screen möglich.
Host ~$ /usr/local/lib/win4bsd/bin/installwinpro \
-d meinWin -g 10G -m shared
Bei der Installation von Windows sind nur zwei Aktionen notwendig: Die Bestätigung der Lizenz und die Eingabe der Seriennummer. Nach der Installation ist ein Backup des Verzeichnisses zu empfehlen.
Host ~$ tar czvf meinWin.tar.gz meinWin
[bearbeiten] Direkt vom Installationsmedium
Für Installationsmedien, die nicht von loadwinproCD unterstützt werden, zum Beispiel Microsoft Windows XP Professional mit SP3 (Multivolume-CD) ist das Skript installwinpro mit folgenden Optionen anzuwenden. Das Skript loadwinproCD wird nicht benötigt.
Host ~$ /usr/local/lib/win4bsd/bin/installwinpro \
-w winxppro -c /dev/acd0 -g 10G -m shared
Mit der Option -c gibt man den Pfad zum CD/DVD-ROM-Device an. Mit der Option -g legt man die Größe des Images fest. Bei der Option -m wird der Modus der Installation definiert (siehe oben). Die Option -w gibt die Microsoft Windows-Version vor:
- win2kpro (Microsoft Windows 2000 Professional)
- winxppro (Microsoft Windows XP Professional)
- winxphome (Microsoft Windows XP Home Edition)
Diese Installation wird auch per GUI ist unterstützt. Dabei ist die Installation nur eines Gast-Systems möglich. Dessen Dateien werden im Verzeichnis ~/winpro angelegt.
Host ~$ /usr/local/lib/win4bsd/bin/mergepro-oneclick
[bearbeiten] Management von virtuellen Maschinen
[bearbeiten] Aufruf
Win4BSD wird mit winpro aufgerufen. Die Option -snapshot schützt das Image vor Veränderungen. Wurde das Gast-System in den Modi shared oder integrated installiert, können Dateien trotzdem dauerhaft gespeichert werden. Dazu müssen die Dateien im Verzeichnis My Documents abgelegt werden. winpro nutzt die Dateien des Default-Verzeichnisses (winpro), wenn kein Verzeichnis vorgegeben wurde. In diesem Beispiel werden die Dateien des Verzeichnisses meinWin verwendet.
Host ~$ winpro -snapshot meinWin
Mit den Tasten [Shift]+[F12] wird ein Pop-Menü für spezielle Optionen zur Steuerung der laufenden Instanz geöffnet. Man sollte nur im Notfall die Optionen Exit Session oder Abort Session anwenden. Um eine Instanz zu beenden, ist Gast-System im Start-Menü den Punkt Shutdown auszuwählen. Wenn das Gast-System auf eine andere Art beendet wird, droht Datenverlust. Alle Optionen des Befehls winpro listet die Option -h auf.
Host ~$ winpro -h
[bearbeiten] Netzwerk
Die Netzwerk-Konfiguration im Gast-System darf nicht geändert werden. Die Einstellungen erfolgen mit dem integriertem DHCP-Server entsprechend des User-Mode Network Stack von QEMU. Dabei wird ein virtuelles Netzwerk (10.0.2.0) mit Firewall und DHCP-Server (10.0.2.2) generiert. Der DHCP-Server weist dem Gast-System automatisch eine IP-Adresse ab 10.0.2.15 zu. Auch wird dabei das Routing über das von QEMU bereitgestellte Gateway (10.0.2.2) definiert. Ein Zugang vom Gast-System nach außen ist sofort verfügbar. Das heißt, wenn das Host-System Zugang zum Internet hat, hat auch das Gast-System automatisch Zugang zum Internet. Die Firewall blockt alle eingehenden Verbindungen in dieses virtuelles Netzwerk ab. Es ist nicht möglich von außen auf die virtuelle Maschine zuzugreifen. Das Gast-System ist damit geschützt. Ein Test der Netzwerkverbindung mit Ping wird nicht unterstützt. Auch das Browsen im Windows-Netzwerk ist nicht möglich. Es sind IP-Adressen statt Namen einzugeben. Auch sind keine Anmeldungen an NT- oder 2000/2003-Server-Domains möglich. Auf das Home-Verzeichnis im Host-System greift man über die Freigaben zu. Dazu ist folgende URL im Datei-Manager einzugeben.
\\Host\HOME
Verzeichnisse außerhalb des Home-Verzeichnisses im Host-System werden durch Symlinks freigegeben. Das folgende Beispiel ermöglicht den Zugriff auf das Verzeichnis /tmp des Host-System mit der URL \\Host\HOME\tmp
Host ~$ ln -s /tmp $HOME/tmp
[bearbeiten] Konfiguration
Die Konfiguration der virtuellen Maschinen erfolgt mit Variablen. Diese werden in den Dateien /etc/default/mergepro (global) und settings.local gespeichert. Die Variablen können auch auf der Kommandozeile vor dem Aufruf von winpro gesetzt werden. Die Konfiguration sollte mit der Option -snapshot getestet werden. Der Arbeitsspeicher des Gast-Systems wird mit der Variable MRGPRO_WINDOWS_RAMSIZE festgelegt. Der Arbeitsspeicher darf maximal 2/3 vom Arbeitsspeicher des Host-Systems betragen. Das Tastatur-Layout wird mit der Variable MRGPRO_KBD_LANG definiert. Die Größe des Fensters wird mit der Variable MRGPRO_WINDOW_SIZE angegeben. Mögliche Werte sind maximized und die Angaben in Pixeln, zum Beispiel 1024x768. Die Start-Zeit des Gast-Systems wird verkürzt, wenn der Sound mit der Variable MRGPRO_DISABLE_AUDIO deaktiviert wurde. Hier die Konfiguration in der Bash-Shell.
Host ~$ export MRGPRO_WINDOWS_RAMSIZE=256 Host ~$ export MRGPRO_KBD_LANG="de" Host ~$ export MRGPRO_WINDOW_SIZE="maximized" Host ~$ export MRGPRO_DISABLE_AUDIO="yes" Host ~$ winpro -snapshot meinWin
Dauerhaft werden diese Variablen in der settings.local in dem Verzeichnis der virtuellen Maschine gesetzt.
# winpro/settings.local # DO NOT DELETE OR CHANGE MRGPRO_WINDOWS_VERSION OR MRGPRO_GUEST_INSTALL_MODE MRGPRO_WINDOWS_VERSION="winxppro" MRGPRO_GUEST_INSTALL_MODE="shared" # BEGINNING OF LOCAL USER SETTINGS MRGPRO_WINDOW_TITLE="winpro" MRGPRO_WINDOWS_RAMSIZE=256 MRGPRO_KBD_LANG="de" MRGPRO_DISABLE_AUDIO="yes" MRGPRO_WINDOW_SIZE="maximized"
Systemweit werden diese Werte vom Benutzer root in der Datei /etc/default/mergepro gespeichert.
# Merge Pro defaults MRGPRO_INST_DATE="Fr 31 Feb 2009 08:21:26 CET" MRGPRO_NODENAME="pcbsd" MRGPRO_SYSNAME="FreeBSD" MRGPRO_SYSREL="7.1-PRERELEASE" MRGPRO_SYSVER="FreeBSD 7.1-PRERELEASE" MRGPRO_SYSMACHINE="i386" VARMERGE="/usr/local/win4bsd" STATICMERGE="/usr/local/lib/win4bsd" MRGPRO_SYSTEMTYPE="bsd" MRGPRO_MERGENAME="Win4BSD Pro" MRGPRO_CD_DEV_NAME="/dev/acd0" MRGPRO_CDA_SOCK_DIR="/usr/local/win4bsd/cda" MRGPRO_KBD_LANG="de"
Als Benutzer root optimiert man die Datei /usr/local/lib/win4bsd/bin/mergepro-configs.sh. In der Funktion add_to_count() ist die Variable COUNT=1 zu setzen.
add_to_count()
{
[ $QUIET -eq 0 ] && echo $1
# COUNT=`expr $COUNT + 1`
COUNT=1
}
Im Gast-System werden folgende Optimierungen vorgenommen. Die System-Wiederherstellung sollte deaktiviert werden, da das gesamte Gast-System im Host-System gesichert werden kann. Unter Microsoft Windows XP wählt man dazu Start-Menü, Arbeitsplatz aus und klickt auf Systeminformationen anzeigen. Unter dem Reiter Systemwiederherstellung aktiviert man die Option Systemwiederherstellung auf allen Laufwerken deaktivieren. Drucker werden unter Microsoft Windows XP im Start-Menü, Drucker und Fax-Geräte mit Drucker hinzufügen konfiguriert. Im Wizard wählt man Netzwerkdrucker aus und gibt die Verbindung zum Drucker \\HOST\host-printer an. Anschließend gibt man für die Treiber-Installation den Hersteller Apple und den Drucker Apple LaserWriter v23.0 an.
Oft benötigt man eine einzelne Windows-Applikation und nicht den gesamten Desktop. Dies wird im Gast-System mit folgenden Schritten konfiguriert. Man startet den Registrierungs-Editor (Start-Menu, Ausführen: regedit) und kontrolliert, ob in der Registry der notwendigen Einträge vorhanden sind.
Arbeitsplatz, HKEY_LOCAL_MACHINE, SOFTWARE, Microsoft, Windows NT, CurrentVersion, Winlogon Userinit-Variable = B:\mrgpro32.exe
Das Einloggen hat ohne Login-Maske zu erfolgen. Unter Microsoft Windows 2000 ist im Start-Menu, Einstellungen, Systemsteuerung, Benutzer und Passwörter der Punkt Benutzer muss User-Name und Passwort eingeben zu deaktivieren. Unter Microsoft Windows XP ist im Start-Menü, Systemsteuerung, Benutzerkonten, Art der Benutzeranmeldung ändern die Option Willkommensseite verwenden zu deaktivieren.
Im Registrierungs-Editor (Start-Menü, Ausführen: regedit) wird die Applikation ausgewählt. In diesem Beispiel ist es der Internet Explorer.
Arbeitsplatz, HKEY_LOCAL_MACHINE, SOFTWARE, Win4Lin: Rechtsklick, Neu, Zeichenfolge: "SingleAppStart".
Mit einem Doppelklick wird der komplette Pfad zur Applikation als dessen Wert festgelegt: C:\Programme\Internet Explorer\IEXPLORE.EXE. Nach dem Neustart steht nur der Internet Explorer zur Verfügung. Mit der Option -desktop kann dieses Gast-System trotzdem mit dem kompletten Desktop gestartet werden.
Host ~$ winpro -desktop meinWin
[bearbeiten] Interna
Die angewendeten Start-Optionen können in der Datei winpro.log eingesehen werden.
Host ~$ cat ~/winpro/winpro.log
Das Image GUEST.IMG besteht aus einer Partition.
Host ~$ fdisk winpro/GUEST.IMG
Win4BSD basiert auf der QEMU-Version 0.8.2.
Host ~$ strings /usr/local/lib/win4bsd/bin/mergepro-core | \
grep "QEMU 0."
QEMU 0.8.2
[bearbeiten] Win4Lin
Website: http://www.win4lin.com Download: ftp://ftp.win4bsd.com/pub/ftp.win4lin.com/pub/testing/pro/
Win4BSD ist ein kommerzielles Produkt der Firma Virtual Bridges, Inc. und basiert auf QEMU. Damit lassen sich die Microsoft Windows-Versionen 2000 und XP oder einzelne Windows-Applikationen unter Linux ausführen.
[bearbeiten] Win4Solaris
Website: http://win4solaris.com
Win4Solaris ist ein kommerzielles Produkt der Firma Virtual Bridges, Inc. basierend auf QEMU. Damit lassen sich die Microsoft Windows-Versionen 2000 und XP oder einzelne Windows-Applikationen unter Solaris (x86) ausführen.
[bearbeiten] Links
- http://andreas.familie-steinel.de/2006/09/27/softwaretest-win4bsd
- http://www.freebsdsoftware.org/emulators/win4bsd.html
- http://ubuntuforums.org/showthread.php?t=38360
- ftp://ftp.vbridges.com/pub/pkg/solaris/
- ftp://ftp.sco.com/pub/unixware7/714/other/mergepro_6.0/Users-Guide.html
- ftp://ftp.vbridges.com/pub/archive/pro/releases/bsd/pro/1.1/