|
CMP /
09KernelChapter 9 - Optimising the Windows kernel This chapter describes changes to the Windows kernel. Improvements are significant but the changes are low-level and must be made with care. They are performed by adding ‘switches’ to Boot.ini, a file hidden in the system’s root directory (typically C:\) which instructs Windows how to load. In Explorer, select Tools > Folder Options > View. Check Show Hidden files and folders and deselect Hide protected operating system files (Recommended). Click OK twice. The c:\boot.ini file is now visible: right-click on it, select Properties and deselect Read only. Make a backup copy and open the original in Notepad. Here's a sample of boot.ini: [boot loader] Changes are made to the command line (the last line as above). Restart Windows and test after each change – do not apply them all at once. Finally, restore the file’s read-only property and Explorer’s View mode. Step 1 – disable ‘noexecute’The switch usually reads "/noexecute=optin". Change it to "/noexecute=alwaysoff" to disable Windows’ Data Execution Protection. It works best when Execute Disable Bit in the BIOS is disabled. Step 2 – set ‘timeres’Add "/timeres=9800". Windows has four timing resolutions for ‘waitable timers’ ranging from 0.98 ms to the default of 7.8 ms. The lowest value is set here. The setting only affects multi-processor systems (the recommended Intel E7200 has two) and has no effect on single-processor systems. Step 3 – disable the kernel debuggerAdd "/nodebug" to disable kernel-mode debugging. Step 4 – set ‘pcilock’Add "/pcilock". Setting PCI lock stops Windows dynamically assigning IO/IRQ resources to PCI devices, leaving them to be configured by the BIOS. The following proviso can be ignored with the Gigabyte motherboard.
Step 5 - final checkOnce all the changes have been implemented, the command line should read: ...WINDOWS="Microsoft Windows XP Professional" /noexecute=alwaysoff /fastdetect /timeres=9800 /nodebug /pcilock |