How Windows 95 Managed Multi-User Profiles

Windows 95 introduced an optional user profile system that allowed multiple people sharing a single computer to maintain customized desktop layouts, Start menus, and application preferences. While it was not a secure operating system by modern standards, it achieved per-user customization by creating dedicated user directories under the Windows folder and dynamically swapping desktop folder paths and registry settings during the logon process.

Enabling Multi-User Profiles

By default, Windows 95 operated under a single-user configuration, applying all desktop changes globally to the system. To enable multi-user support, an administrator or user had to configure the Passwords applet inside the Control Panel:

  1. Open the User Profiles tab in the Passwords applet.
  2. Select the option: "Users can customize their preferences and desktop settings."
  3. Under profile options, check the boxes to include desktop icons, the Network Neighborhood, the Start menu, and Program groups in individual user settings.

Once enabled, Windows 95 prompted users for a username and password upon booting.

Directory Structure and the Desktop Folder

When a new user logged in, Windows 95 generated a personalized profile directory located at:

C:\WINDOWS\Profiles\<Username>\

Within this user-specific directory, Windows 95 mirrored key shell components. Specifically, it created dedicated subfolders, including:

  • C:\WINDOWS\Profiles\<Username>\Desktop
  • C:\WINDOWS\Profiles\<Username>\Start Menu
  • C:\WINDOWS\Profiles\<Username>\Recent

The Windows 95 Desktop was fundamentally a shell representation of a standard file directory. When profiles were active, the operating system pointed the active shell's desktop directory path directly to C:\WINDOWS\Profiles\<Username>\Desktop. Any shortcut (.lnk), file, or folder placed on the visual desktop was physically written to that user’s private Desktop folder.

The Role of USER.DAT

Along with the desktop file folders, Windows 95 split its central registry into two separate files:

  • SYSTEM.DAT: Stored hardware drivers, system configuration, and machine-wide defaults.
  • USER.DAT: Stored user-specific interface settings, themes, window positions, and shell folder paths.

When a user logged in, Windows 95 mounted their individual USER.DAT file from their profile directory into the active registry as HKEY_CURRENT_USER. This registry hive contained the exact path mapping (under Shell Folders and User Shell Folders) that instructed Windows Explorer where to locate the user's Desktop folder.

Profile Switching and Roaming

During logoff or shutdown, the system saved the current user's state to their specific USER.DAT and left the desktop files in their folder. When a different user logged in, Windows unmounted the previous registry hive, loaded the new user's USER.DAT, and refreshed Windows Explorer to display the icons located in the new user's Desktop folder.

If the machine was attached to a Novell NetWare or Windows NT domain network, Windows 95 could synchronize this local profile folder with a home directory on a central server, allowing the user's desktop files to roam between different client workstations.

Limitations of the System

The multi-user profile mechanism in Windows 95 was designed for convenience, not security. Because Windows 95 relied on the FAT16 (and later FAT32) file system, there were no file-level permissions or Access Control Lists (ACLs). Any user could navigate through Windows Explorer to C:\WINDOWS\Profiles\ and view or modify another user's Desktop folder. Furthermore, clicking "Cancel" at the login prompt simply bypassed the profile selection and loaded the default system environment.