Skip to content

ShellBags unter Windows 11, 10, 7 und XP: was sich ändert

Wie sich ShellBags zwischen Windows XP, Vista, 7, 8.1, 10 und 11 unterscheiden: Hive-Speicherorte, Erweiterungsblock-Versionen, Root-Ordner, native Archive.

Veröffentlicht am 5 Min. Lesezeit

TL;DR. Der große Bruch liegt zwischen XP und Vista: ShellBags wanderten aus NTUSER.DAT (Shell und ShellNoRoam) nach UsrClass.dat (Local Settings\Software\Microsoft\Windows\Shell), und ab Vista enthält der Erweiterungsblock der File-Entry-Items NTFS-MFT-Referenzen. Von Windows 7 bis 11 bleiben die Schlüssel gleich; es ändert sich der Inhalt: Versionen des Erweiterungsblocks (7 → 8 → 9), Delegate-Items für Profilordner, neue Root-Ordner (Bibliotheken, Schnellzugriff, OneDrive, Start) und unter Windows 11 die native Navigation in RAR-/7z-/tar-Archiven seit KB5031455. Nutzen Sie ein Werkzeug, das alle kennt, und prüfen Sie auffällige Einträge anhand der Rohbytes.

Die meiste Verwirrung um ShellBags über Windows-Versionen hinweg entsteht, wenn ein altes Denkmodell auf ein neues System angewendet wird oder ein für Windows 7 gebautes Werkzeug auf einen Windows-11-Hive. Dieser Beitrag ist die Versionslandkarte. Zu den Pfaden selbst und zur Sicherung der Hives siehe Speicherort der ShellBags.

Versionsübersicht

WindowsHive und Schlüssel0xBEEF0004-VersionWas in der Praxis auffällt
XP / 2003NTUSER.DAT: Software\Microsoft\Windows\ShellNoRoam\BagMRU und Shell\BagMRU3Keine MFT-Referenz in den Items. Getrennte Roaming- und Nicht-Roaming-Bäume.
Vista / 2008UsrClass.dat: Local Settings\Software\Microsoft\Windows\Shell\BagMRU (+ NTUSER Shell\BagMRU)7MFT-Eintrags- und Sequenznummer erscheinen in File-Entry-Items.
7 / 2008 R2Wie Vista8Delegate-Items (CFSF) für Profilordner; Root „Bibliotheken“.
8 / 8.1Gleich8 (8.0), 9 (8.1)Längerer Erweiterungsblock vor dem langen Namen.
10Gleich9Roots Schnellzugriff und OneDrive; Ordner unter „Dieser PC“ (auf manchen Builds 3D-Objekte).
11GleichSiehe HinweisRoot „Start“; RAR-/7z-/tar-Navigation im Explorer seit KB5031455.

Die Erweiterungsversionen stammen aus der libfwsi-Spezifikation, deren Testsatz bis Windows 10 reicht. Für Windows 11 lesen Sie die Version im Item selbst: Der ShellBags Parser zeigt sie in den Eintragsdetails. Die Aufteilung der Speicherorte zwischen XP und Vista+ fassen Magnet Forensics und Chad Tilbury bei SANS zusammen.

Windows XP: zwei Bäume in NTUSER.DAT

XP speicherte ShellBags in NTUSER.DAT unter Software\Microsoft\Windows\ShellNoRoam (lokale, nicht servergespeicherte Daten) und Software\Microsoft\Windows\Shell. Werten Sie beide aus. File-Entry-Items aus der XP-Zeit tragen einen Erweiterungsblock der Version 3: Erstellungs- und Zugriffszeit sowie den langen Namen, aber keine NTFS-Dateireferenz. Die im Beitrag zu gelöschten Ordnern beschriebene MFT-Sequenzprüfung ist damit nicht möglich.

XP-Hives tauchen weiterhin auf: alte Industrieanlagen, alte Abbilder in ungelösten Fällen und migrierte Profile, die ihre Items mitgenommen haben.

Vista und 7: der Umzug nach UsrClass.dat

Ab Vista liegt der Hauptbaum im benutzerbezogenen Classes-Hive UsrClass.dat unter Local Settings\Software\Microsoft\Windows\Shell. NTUSER.DAT führt weiterhin einen Baum Software\Microsoft\Windows\Shell\BagMRU, der meist deutlich kleiner ist. Zwei Änderungen zählen für die Analyse:

  1. MFT-Referenzen. Erweiterungsblöcke ab Version 7 ergänzen eine 48-Bit-MFT-Eintragsnummer und eine 16-Bit-Sequenznummer, womit sich ein ShellBag einem bestimmten NTFS-Datensatz zuordnen lässt (siehe MFT-Dateireferenz).
  2. Delegate-Items. Windows 7 speichert Ordner im Benutzerprofil oft als 0x74-Delegate-Items, die einen normalen File Entry umschließen (Signatur CFSF). Ältere Parser, die sie übersprangen, erzeugten Pfade mit Lücken.

Unter Windows 7 wurden auch die meisten veröffentlichten Verhaltenstests durchgeführt. Die Tests von 4n6k unter Windows 7 ergaben, dass schon das Auswählen eines Ordners im Explorer einen Eintrag erzeugen kann, ohne ihn zu betreten, und dass die eingebetteten Zeiten nach der Erstellung nicht aktualisiert werden. Gehen Sie nicht davon aus, dass sich jede spätere Build identisch verhält; testen Sie das Verhalten, auf dem Ihr Befund beruht, erneut.

Windows 8 und 8.1

Keine Pfadänderungen. Windows-8.1-Items nutzen den Erweiterungsblock der Version 9 mit mehr Feldern vor dem langen Namen. Ein Parser, der die Offsets der Version 8 fest verdrahtet, liest bei Items ab 8.1 unsinnige Namen; ein unpassender langer Name neben einem korrekten 8.3-Namen ist das Erkennungszeichen.

Windows 10

Gleiche Schlüssel, Items der Version 9 und mehr Root-Ordner. Der Explorer öffnet mit Schnellzugriff, OneDrive hat einen eigenen Namespace-Root, und manche Builds zeigen unter „Dieser PC“ Ordner wie 3D-Objekte. Diese erscheinen als Root-Items (0x1F) oder als per GUID identifizierte bekannte Ordner. Der ShellBags Parser übersetzt die gängigen in Namen (Arbeitsplatz, Netzwerk, Papierkorb, Bibliotheken, Schnellzugriff, OneDrive, Desktop, Dokumente, Downloads und weitere) und zeigt unbekannte GUIDs in geschweiften Klammern; Microsofts Seite KNOWNFOLDERID listet die dokumentierten Ordner-IDs.

In Windows-10-Profilen finden sich auch am häufigsten per MTP durchsuchte Telefone und Kameras. Diese Items sind nur teilweise dokumentiert; rechnen Sie bestenfalls mit einem lesbaren Geräte- oder Ordnernamen und behalten Sie das Roh-Hex in Ihren Notizen.

Windows 11

Die Schlüssel ändern sich nicht. Unterschiede, die Sie sehen werden:

  • Start. Neuere Builds öffnen den Explorer mit Start, einer weiteren Root-GUID (F874310E-B6B7-47DC-BC84-B9E6B38F5903 in der Tabelle des Parsers).
  • Native Archivnavigation. Microsofts Versionshinweise zu KB5031455 (Oktober 2023, Builds 22621 und 22631) ergänzen das Lesen von .rar, .7z, .tar, .tgz und verwandten Formaten über libarchive. ZIP-Navigation gibt es seit Jahrzehnten; die ShellBag-Spuren der neuen Formate sind öffentlich noch nicht gut dokumentiert. Siehe ShellBags und ZIP-Dateien.
  • Tabs. Mehrere Ordner können in einem Explorer-Fenster offen sein. Das ändert die Speicherung nicht, schwächt aber die Logik „ein Fenster = eine Navigation“ weiter.

Was sich nicht ändert

  • Navigation, kein Dateizugriff. Gilt für alle Versionen. Siehe ShellBags vs. LNK, Jump Lists und RecentDocs.
  • Zeitstempel-Logik. Schlüssel-LastWrite plus MRUListEx funktioniert überall gleich. Siehe ShellBags-Zeitstempel erklärt.
  • Kapazitätsgrenzen. Windows merkt sich Ansichtseinstellungen nur für eine begrenzte Zahl von Ordnern; der Wert BagMRU Size, dessen Standard seit Vista üblicherweise mit 5.000 angegeben wird (etwa bei Winaero), hebt die Grenze an. Gehen Sie bei stark genutzten Profilen nicht von unbegrenzter Aufbewahrung aus.
  • Blind für die Konsole. cmd, PowerShell und die meisten Skripte erzeugen nie ShellBags.

Praxistipps für gemischte Umgebungen

  1. Notieren Sie zu den Hives jedes Rechners die Betriebssystemversion und Build (der Schlüssel CurrentVersion im SOFTWARE-Hive enthält sie; der Registry-Parser liest ihn).
  2. Rechnen Sie damit, dass über Versionen migrierte Profile Items mehrerer Erweiterungsversionen enthalten. Das ist normal.
  3. Zeigt eine neue Build unbekannte Items, vergleichen Sie zwei Werkzeuge und die Rohbytes, bevor Sie einen Satz darüber schreiben.

Verwandte Artikel

Verwandte Artikel