Windows Vista und Linux vertragen sich gut – nur nicht im Netzwerk: Microsoft sperrt Linux-Anwender vom Zugriff auf Vista-Freigaben aus.
Beinahe sechs Jahre verrichtet Windows XP nunmehr als das Standard-Desktop-System von Microsoft mehr oder weniger gut seine Arbeit. Die Anwender haben sich darauf eingestellt und gelernt, mit den Widrigkeiten – speziell im Kontext mit Linux – umzugehen. Nun löst das bereits im Jahre 2001 angekündigte Vista [1] die bisherigen Systeme ab.
Kurzfristig ist das sicher kein Problem, in absehbarer Zeit gehen jedoch sowohl die Software- als auch die Hardwarehersteller dazu über, ihre Produkte speziell auf Vista (Abbildung 1) anzupassen. Wer dann noch mit Windows arbeiten möchte oder muss, kommt nicht mehr drum herum, das neue Betriebssystem zu verwenden. Welche Konsequenzen und Probleme für Anwender daraus entstehen, die Vista parallel zu Linux betreiben müssen, zeigt der Artikel.

Abbildung 1: Microsofts neues Betriebssystem Vista löst in Kürze das in die Jahre gekommene Windows XP ab.
Multiboot
Viele Anwender verwenden auf ihrem Rechner neben Linux eine Windows-Variante als zweites Betriebssystem – sei es, um von Linux nicht unterstütze Hardware zu verwenden, oder um Programme zu benutzen, die es in der Art für Linux nicht gibt. Der einfachste Weg zum Dual-Boot-Ziel besteht darin, zuerst Windows und danach Linux zu installieren. Linux überschreibt dann zwar den Windows-Bootloader, sofern Grub oder Lilo im MBR installiert werden, erkennt jedoch auch das installierte Windows und bindet es automatisch in die Boot-Auswahl mit ein.
Daran hat sich auch mit Vista nichts geändert, allerdings zuweilen mit dem falschen Ergebnis: Im Test erkannte das Suse-10.0-Setup das Windows-System zwar und fügte es auch der Bootauswahl hinzu, der Start von Vista misslang jedoch. Hier gilt es, die Grub-Einstellungen per Hand anzupassen. Öffnen Sie als Benutzer root mit einem Texteditor die Datei /boot/grub/menu.lst und ergänzen diese um folgenden um folgenden Eintrag:
title Windows Vista root (hd0,0) savedefault makeactive chainloader +1
Existiert bereits ein ähnlicher Eintrag, passen Sie ihn mit den genannten Einstellungen an. Der root-Zeile zeigt an, wo sich Windows auf der Festplatte befindet. Entgegen der Microsoft-Zählmethode (Festplatten beginnen bei 0, Partitionen bei 1) fängt Grub immer bei 0 zu zählen an. Entsprechend lautet der Eintrag für die erste Partition der Master-Platte root (0,0). Befindet sich Vista wie im Test auf Partition 3, so lautet der Eintrag root (hd0,2).
Vista nachinstallieren
Bei Vista-Neuinstallationen auf Rechnern, auf denen bereits Linux installiert ist, überschreibt das Setup wie in der Vergangenheit auch den Master Boot Record (MBR) ohne Nachfrage. Der einfachste Weg, ihn weiter zu verwenden, ist ihn vor der Installation wie folgt zu sichern:
dd id=/dev/hda of=/root/mbr.txt ? bs=512 count=1
Verwenden Sie Ubuntu 6.06, kann es bei diesem Aufruf zu der Fehlermeldung Segmentation Fault kommen, dd schreibt den Dump jedoch trotzdem korrekt in die Datei. Das Sie nach der Installation Ihr Linux nicht mehr erreichen, booten Sie ein Live-Linux, beispielsweise das auf den Datenträgern enthaltene GParted, und schreiben den MBR wie folgt zurück:
dd if=/root/mbr.txt of=/dev/hda ? bs=512 count=1<c>
Danach befindet sich der MBR wieder im Ursprungszustand. Jetzt gilt es noch, wie oben beschrieben die Grub-Konfigurationsdatei /boot/grub/menu.lst anzupassen, um auch Windows damit zu booten.
Alternativ starten Sie Linux auch mit dem Windows-Bootloader. Unter Windows NT/2000/XP genügte es, dazu die Datei boot.ini entsprechend anzupassen ([2]). Diese Konfigurationsdatei ersetzt nun ein Binärprogramm, das Sie mit dem Kommandozeileneditor bcdedit einrichten. Eine umfangreiche Hilfe zum Programm erhalten Sie über den Aufruf bcdedit /help. Um Linux mit dem neuen MS-Bootloader zu starten, gehen Sie wie folgt vor:
- Schreiben Sie die ersten 512 Byte der Linux-Partition (nicht der Festplatte!) mit dem Befehl
dd if=/dev/Partition of=/linux.img bs=512 count=1in eine Image-Datei. - Kopieren Sie diese Image-Datei in das Windows-Wurzelverzeichnis, das sich üblicherweise in
C:\befindet. - Starten Sie unter Vista die Konsole mit dem Aufruf cmd im Schnellstartfenster ([Win]+[R]).
- Der folgende Befehl erzeugt einen neuen Eintrag im Bootloader von Vista:
bcdedit /copy {ntldr} /d "Linux". - Danach erscheint die Meldung, dass der Eintrag erfolgreich nach
HexZahlkopiert wurde. Die hexadezimale ZeichenfolgeHexZahlgibt den Bezugspunkt zum neuen Eintrag an. - Geben Sie danach folgenden Befehl ein:
bcdedit /set {HexZahl} device boot, und ersetzten SieHexZahldurch die zuvor angezeigt Zeichenkette. - Geben Sie im Anschluss folgendes Kommando ein:
bcdedit /set {HexZahl} path \linux.img. Beilinux.imghandelt es sich um der zuvor erstellten Dump der ersten 512 Byte der Linux-Partition. - Mit dem Befehl
bcdedit /displayorder {HexZahl} /addlastlegen Sie die Anzeigenreihenfolge im Bootmenü fest. Möchten Sie Linux als erstes anzeigen, verwenden Sie anstelle von addlast die Option addfirst.
Danach booten Sie Ihre Distribution über den Eintrag Linux im Windows-Bootmenü.
Dateisysteme
Auch Vista nutzt das schon in Windows XP eingesetzte Dateisystem NTFS 3.1, jetzt jedoch exklusiv. Das heißt, Vista lässt sich nicht mehr wie Windows XP auf eine FAT-Partition installieren, sondern setzt zwingend NTFS voraus. Die Installation von Vista erfordert eine mindestens 10 GByte große Partition, wovon das Betriebssystem nach der Installation knapp 9 GByte belegt.
Microsofts Strategie, den Anwender nicht mit technischen Details zu überfordern, treibt zuweilen bizarre Blüten, wie der Partitionierungsmanager (Abbildung 2) des Vista-Setups zeigt. Dieser gibt weder Auskunft über das auf den Partitionen enthaltene Dateisystem, noch ermöglicht er dem Anwender, ein anderes als das voreingestellte Dateisystem NTFS zu verwenden. Speziell beim Einrichten parallel zu einem Linux-System gilt es deshalb, genau darauf zu achten, in welche Partition Sie Vista installieren, um nicht versehentlich Linux zu überschreiben.

Abbildung 2: Der Partitionierungsmanager des Vista-Setups zeigt weder die Dateisysteme an, noch bietet er alternativen zu NTFS.
Das nachträgliche Verändern des Dateisystems mit Programmen wie Partition Magic führt zu keinerlei unangenehmen Nebenwirkungen. Das spielt besonders dann eine Rolle, wenn Sie nachträglich beispielsweise zum Datenaustausch zwischen den Betriebssystemen eine FAT-Partition einrichten.
Das ursprünglich für Vista vorgesehene WinFS (Windows Future Storage) stellt im eigentlichen Sinne kein Dateisystem dar, sondern eine datenbankähnliche Indizierungsschicht, die über diesem liegt. Zur Hauptaufgabe von WinFS gehört die Überkreuz-Indizierung der Dateien, um die Suche schneller zu gestalten.
Tipp: Schnelle Suche unter Windows
Das unter Linux gebräuchliche locate gibt es auch für Windows [3], erweitert um eine praktische grafische Oberfläche (Abbildung 3). Es indiziert in regelmäßigen Abständen die Dateien und hält die Ergebnisse in einer Datenbank vor. Zur Zeit ist dieses Suchprogramm die derzeit mit Abstand schnellste Möglichkeit, unter Windows Dateien nach ihrem Namen zu finden.

Abbildung 3: Das Programm Locate für Windows indiziert auch große Datenbestände in Windeseile, und liefert Suchergebnisse in Sekunden.
Der Zugriff von Linux auf das NTFS-Dateisystem von Vista funktioniert problemlos. Auch das von Microsoft angekündigt Update von Vista auf WinFS wird voraussichtlich nichts daran ändern, da sich am eigentlichen Dateisystem nichts ändert.
Nützliche Programme
Problemlos installieren Sie auch das Programm Ext2ifs [4], das den Zugriff von Windows auf die Linux-Dateisysteme Ext2 und Ext3 ermöglicht. Zwar erkennt die Installationsroutine das “falsche” Betriebssystem und verweigert zunächst den Start, jedoch schaltet sich sofort der Programmkompatibilitätsassistent (Abbildung 4) von Vista zu, der die Inkompatibilität bemerkt und eine reibungslose Installation ermöglicht.

Abbildung 4: Vistas Kompatibilitätsassistent erlaubt es, auch Programme auszuführen, die für ältere Windows-Versionen vorgesehen sind.
Diese Applikation ermöglicht nach dem manuellen Start jedem Programm, die notwendigen Betriebssystemvoraussetzungen zu schaffen, um zu funktionieren. Ein Dienst überwacht Programmaufrufe und starte bei potentiellen Inkompatibilitäten automatisch den Kompatibilitätsassistenten. Im Test ließen sich alle Anwendungen, die ursprünglich für ältere Windows-Versionen gedacht sind, problemlos starten.
Sowohl virtuelle Umgebungen wie Cygwin als auch die nativen Windows-Portierungen der Gnuutils liefen ohne Einschränkungen. Ähnlich verhält es sich mit dem Fernwartungsprogramm Tight-VNC. Da das neue Schutzprogramm Windows-Defender das Fernwartungstool zu Recht als potentielles Risiko einstuft, gilt es, dieses erst einmal zum Betrieb zu legitimieren.
Samba und Netzwerk
Als zentrales Bindeglied im Netzwerk dient das sowohl von Windows als auch von Linux verwendete Protokoll SMB, welche die Freigebe von Verzeichnissen und Druckern im Netz erlaubt. Hier hat Vista nachgerüstet und verwendet jetzt das modifizierte Protokoll SMB 2.0. Zurzeit unterstützen allerdings nur die neuesten Windows-Betriebssysteme SMB 2.0, weswegen Vista automatisch auf SMB 1.0 zurückschaltet, wenn das anfragende Betriebssystem nicht kompatibel ist – so behauptet zumindest Microsoft.
Wie unser Test aufzeigte, gilt das aber offenbar nicht für Linux: Derzeit ist das Öffnen von Vista-Shares mir Linux-Clients generell nicht möglich. Zwar erscheint das Authentifizierungsfenster (Abbildung 5), doch auch die Eingabe des richtigen Benutzernamens samt Passwort öffnet das Verzeichnis nicht.
Unter Apples OS X dagegen funktioniert der Zugriff, auch wenn hier die Authentifizierungsabfrage selbst bei öffentlich zugänglichen Shares erscheint. Gänzlich unproblematisch und wie gewünscht funktioniert der Zugriff von anderen Windows-Betriebssystemen auf Vista-Shares. Windows Vista sperrt also offenbar ausschließlich Linux-Systeme vom Zugriff auf Netzwerkfreigaben aus.
LinuxUser informierte umgehend das Samba-Team von den Testergebnissen. Die Entwickler zeigten sich von der ihnen bis dahin unbekannten Problematik überrascht, konnten das Problem aber reproduzieren und bestätigten unsere Resultate. Volker Lendecke, einer der führenden Samba-Entwickler, stellte uns freundlicherweise eine kurze Fehleranalyse zur Verfügung, die Sie im Kasten “Kein Anschluss unter dieser Nummer” nachlesen können. Deren Fazit: Einen Workaround für das Problem gibt es nicht; Zugriffe auf Vista-Freigaben von Linux aus werden erst dann möglich sein, wenn das Samba-Team eine entsprechende Code-Anpassung vorgenommen hat.

Abbildung 5: Kein Anschluß unter dieser Nummer: Vista verweigert Linux-Clients den Zugriff auf freigegebene Ressourcen.
Kein Anschluss unter dieser Nummer
Der Client-Code von Samba 3.0.23c kann sich nicht mit Windows Vista RC1 (Build 5600) verbinden. Das heißt: Viele Client-Applikationen, die auf libsmbclient basieren, sind nicht in der Lage, Shares von Vista zu öffnen. Dazu gehört beispielsweise Konquerors KIO-Slave (smb://). Woran liegt das?
Der Verbindungsaufbau zu einem CIFS-Server verläuft in mehreren Schritten. Nach dem TCP-Verbindungsaufbau auf Port 139 oder 445 sendet der Client nacheinander die Anfragen Negotiate Protocol, Session Setup und Tree Connect. Mit dem Negotiate Protocol werden Verbindungsparameter ausgehandelt, mit dem Session Setup meldet sich der Benutzer mit seinem Passwort an und der Tree Connect teilt dem Server mit, mit welcher Freigabe sich der Client verbinden will.
Dieser grundsätzliche Ablauf ist praktisch seit den ersten Versionen des Protokolls aus den 80er Jahren gleich geblieben. Die Anforderungen an die Sicherheit des Protokolls sind jedoch seit dieser Zeit jedoch drastisch gestiegen. Dem haben die verschiedenen Versionen von Windows Rechnung getragen. Neben der immer noch theoretisch möglichen Authentifizierung mit Klartextpasswörtern kamen verschiedene Verfahren neu hinzu, so etwa die LanManager-Authentifizierung, NTLM v1 und NTLM v2.
Mit Windows 2000 und Active Directory führte Microsoft eine weitere, von allen vorherigen Mechanismen grundsätzlich verschiedene Art der Authentifizierung ein: Kerberos 5. Im Rahmen der Erweiterung zu Kerberos betrat Microsoft teilweise Neuland, die entsprechenden Internet-RFCs zur Einbettung von Kerberos in andere Protokolle wie CIFS und LDAP wurden seit der Einführung von Windows 2000 durchaus weiter entwickelt.
Samba 3 hat sich seit jeher daran orientiert, was Windows tatsächlich tut, weil sich Microsoft in der Regel selten an Standards gehalten hat. Damit einher geht auch, dass uns des öfteren von Änderungen in Windows überraschen. In diesem speziellen Fall der Kompatibilität mit Vista bei der Anmeldung legt Microsoft die zugrundeliegenden RFCs strenger aus, als das bisher der Fall war. Bis wir den Code entsprechend den neuen Anforderungen angepasst haben, ist es nicht möglich, mit Samba-basierenden Clients auf Vista-Freigaben zuzugreifen.(jlu)
Fazit
Mag die eine oder andere Neuerung auch mit Haken und Ösen verbunden sein, so gestaltet sich Vista in der Arbeit mit Linux überraschend problemlos. Der Kompatibilitätsassistent ermöglicht den Betrieb von Software, die ursprünglich für ältere Windows-Versionen vorgesehen waren. Damit steht dem Betrieb beispielsweise des Ext2/3-Treibers Ext2ifs nichts mehr im Weg.
Auch das Multibootverhalten entspricht weitgehend dem der Vorgängerversionen. Da Microsoft das NTFS-Dateisystem von Windows XP übernommen hat, bleibt auch beim Mounten von Windows-Partitionen unter Linux alles beim alten. Der Zugriff auf Vista-Shares aber funktioniert mit Linux-Clients derzeit nicht.
Glossar
-
MBR
-
Der erste Datenblock eines in Partitionen aufgeteilten, bootfähigen Speichermediums. Er enthält eine Partitionstabelle sowie den Bootloader.
Infos
[1] Microsoft Vista: http://www.microsoft.com/germany/windows/windowsvista/default.aspx
[2] Windows-Bootloader anpassen: http://www.fz-juelich.de/zam/docs/tki/tki_html/t0398/t0398.htmlhttp://www.microsoft.com/germany/technet/prodtechnol/windowsvista/default.mspx
[3] Locate für Windows: http://www.uku.fi/~jmhuttun/english/softwares.shtml
[4] Ext2ifs: http://www.fs-driver.org





