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.
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 supportcomment 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 (theshell=value in the[boot]section). Any unexplained entry deserves a check.
Useful commands
# Read the fileGet-Content "$env:windir\system.ini"
# Look for a suspicious shell= valueSelect-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