Skip to contentGo to the directory tree
  1. C:
  2. Windows
  3. system.ini
FileRisk: Caution
  • Legacy from XP

system.ini C:\Windows\system.ini

C:\Windows\system.ini: INI file inherited from Windows 3.x, kept for old 16-bit applications. The real configuration is in the Registry.

Updated on By AltF4 Formation

What it’s for

Under Windows 3.x, system.ini described the hardware, the drivers and 386 Enhanced mode. It stays for compatibility: older applications can read its sections through the private profile APIs (GetPrivateProfileString), and some sections are redirected to the Registry by IniFileMapping. On 64-bit Windows no 16-bit program runs, so only those API calls remain.

What it contains

  • A minimal default: the ; for 16-bit app support comment and the [386Enh], [drivers] and [mci] sections.
  • Sometimes entries added by old multimedia drivers or 16-bit applications.

Risks and best practices

  • An old application can fail if the file is missing, so keep it, and back it up before any change. You need administrator rights to edit it.
  • Like win.ini, it served as a persistence point on older versions (the shell= value in the [boot] section). Any unexplained entry deserves a check.

Useful commands

Fenêtre de terminal
# Read the file
Get-Content "$env:windir\system.ini"
# Look for a suspicious shell= value
Select-String -Path "$env:windir\system.ini" -Pattern '^\s*shell\s*='
# Backup before any change (as administrator; remove -WhatIf to run)
Copy-Item "$env:windir\system.ini" "$env:windir\system.ini.bak" -WhatIf

Report a mistake