Roaming (Ordnerüberblendung)
Unter Roaming versteht man in der Informatik eine spezielle Form des Überlagerns von Verzeichnisinhalten. Es dient dazu, Software einen fehlerlosen Betrieb zu ermöglichen, welche nicht an das Rechte-System des Betriebssystems angepasst ist und daher auf geschützte Verzeichnisse schreiben möchte – die es als frei beschreibbar annimmt. Hierzu lenkt das Betriebssystem zum einen Schreibvorgänge, die das Programm in geschützten Verzeichnissen vornehmen will, auf ein zum Benutzer gehörendes spezielles Verzeichnis im Benutzerprofil um. Zum anderen überlagert das Betriebssystem den Inhalt dieses speziellen Verzeichnisses so den übrigen Daten des geschützten Verzeichnisses, dass aus der Sicht des nicht angepassten Programms die umgelenkten Daten im geschützten Verzeichnis scheinbar vorhanden sind – so wie sie von dem Programm erwartet werden.[1]
Im Gegensatz zu schlichten Ordnerumleitungen (Softlink, Hardlink oder Junction Point) wird nicht einfach ein Verzeichniseintrag auf ein anderes Verzeichnis umgelenkt, sondern es existieren nun zwei Verzeichnisse des entsprechenden Namens – das normale am ursprünglichen Ort (C:\Program Files\xxx
) sowie ein Schattenverzeichnis (%LOCALAPPDATA%\VirtualStore\xxx
), welches nur die geänderten und neuen Dateien enthält; daneben Einträge, dass bestimmte Dateien aus C:\Program Files\xxx
als gelöscht gelten sollen. Für das entsprechende laufende Anwendungsprogramm erscheint C:\Program Files\xxx
, als ob alle Änderungen direkt dort geschehen wären.
Verzeichnisüberladen bei Live-Systemen
Bei Live-Betriebssystemen, die sich meist auf einer CD oder DVD befinden, sind die Verzeichnisse des Datenträgers nicht beschreibbar; daher ist oft ein Verzeichnis-Überladedienst eingerichtet, damit Programme, die schreiben wollen, trotzdem funktionieren. Deren geschriebene Daten können auf einer RAM-Disk zwischengespeichert werden, wo sie beim Abschalten des Computers verlorengehen. Werden sie hingegen auf einem persistenten Medium (meist ein USB-Stick) gespeichert (persistenter Modus), so kann nach dem nächsten Start des Live-Systems dieses Medium wieder eingebunden werden und die zuvor vorgenommenen Dateisystemänderungen sind wieder da.
Ordner- und Dateivirtualisierung bei Microsoft-Betriebssystemen
Die Microsoft-Betriebssysteme ab Windows Vista beinhalten dieses Verfahren, jedoch nur für 32-Bit-Anwendungen ohne ein Manifest mit trustinfo
-Angaben; es werden nur Zugriffe auf das eigene Installationsverzeichnis unter C:\Programme
sowie Zugriffe auf das Windows-Verzeichnis (bzw. jeweilige Unterverzeichnisse) umgelenkt („virtualisiert“).[2]
Auch ein Teil der Registrierungsdatenbank wird derart geschützt: Schreibzugriffe auf den Schlüssel
HKEY_LOCAL_MACHINE\Software
leitet das Betriebssystem in den Abschnitt HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\Software
um.[2]
Laut einem c’t-Artikel „versteht Microsoft die Virtualisierung nur als vorübergehendes Entgegenkommen zur Abwärtskompatibilität. Wenn mehr und mehr Software an Vista angepasst wurde, will der Hersteller die Krücke in einer künftigen Windows-Version deaktivieren.“[2]
Beispiel
Als Beispiel dient der Bildbetrachter IrfanView: Es existiert das Programmverzeichnis C:\Program Files\IrfanView
, welches die unveränderten Dateien/Inhalte beinhaltet, sowie ein Schattenverzeichnis (C:\Users\USERNAME\AppData\Roaming\IrfanView
), welches nur die geänderten und neuen Dateien enthält, sowie Einträge, dass bestimmte Dateien aus C:\Program Files\IrfanView
als gelöscht gelten sollen. Für das laufende Programm (hier: IrfanView für Benutzer USERNAME) wird der Inhalt von C:\Users\USERNAME\AppData\Roaming\IrfanView
so in C:\Program Files\IrfanView
eingeblendet, dass die zusätzlichen Dateien dort zusätzlich erscheinen, geänderte Dateien aus C:\Users\USERNAME\AppData\Roaming\IrfanView
die hiesigen überlagern, und als gelöscht markierte nicht mehr auftauchen (obwohl sie eigentlich in C:\Program Files\IrfanView
noch vorhanden und nicht gelöscht sind).
Dem Programm IrfanView, ausgeführt unter Benutzer USERNAME, erscheint alles so, als ob jede Lösch-, Änderungs- oder Neuanlegen-Operation auf Dateien im Verzeichnis C:\Program Files\IrfanView
problemlos funktioniert hätte.
Geschichte
Erstmals wurde Roaming unter Windows Vista eingeführt, da Microsoft hier erstmals die Aufteilung in Administrator und eingeschränkter Benutzer so abgeändert hat, dass ein „normaler Benutzer“ beides zugleich ist (sogenannte Benutzerkontensteuerung; engl.: User Account Control „UAC“). Laut Microsoft soll das Verfahren für Benutzer keine Sicherheitseinbußen haben.
Microsoft versucht damit, die Probleme zu umgehen, die dadurch entstehen, dass viele Benutzer als Administrator arbeiten und arbeiteten, da sie Software verwenden, welche nicht für die Verwendung mit (eingeschränkten) Benutzerrechten angepasst ist. Durch das Roaming soll es nicht mehr notwendig sein, diese Programme mit Administratorrechten auszuführen.
Abgrenzung
Es gibt von Microsoft auch die Techniken
- Roaming Profile, welches eine zentrale Benutzerverwaltung beschreibt, wobei Änderungen an Dateien im Benutzerverzeichnis auf den Server übertragen werden und umgekehrt;
- Roaming User, das im Zusammenhang mit Roaming Profile den Benutzer beschreibt, welcher an verschiedenen Computern (z. B. im Firmennetzwerk) arbeitet.
- Eine Ordnerumleitung ist eine Symbolische Verknüpfung (Softlink) oder ein Harter Link (Hardlink); diese Techniken sind hier beschriebenem Roaming ähnlich, können aber Verzeichnisinhalte nicht anderen, bestehenden Verzeichnisinhalten überlagern.
- Auch die seit Windows 2000 bestehenden Junction Points des NTFS sind eine andere Technik als hier beschrieben; sie entsprechen einer Verzeichnisumleitung.
Einzelnachweise
- Axel Vahldiek: Der richtige Dreh, Tipps zum Explorer von Windows Vista. In: c’t, 3/2007, S. 107. Zitat: „[…] Umleitung im Rahmen der Benutzerkontensteuerung […]: Dabei gaukelt Windows Programmen, die etwa eine Datei ins Windows-Verzeichnis schreiben wollen, vor, dass das auch klappen würde, während die Datei in Wirklichkeit woanders landet […]. Während der Öffnen-Dialog dieser Anwendung die Datei anschließend im Windows-Ordner zeigt, zeigt der Explorer sie dort, wo sie wirklich liegt.“
- Sven Ritter: Fensterwächter, UAC: Wie Windows Vista die Benutzerkonten einschränkt. In: c’t, 2/2007, S. 172, Abschnitt „Vista virtuell“