Archive for the ‘Tweaking’ Category

Enable Num Lock by default in Vista

Posted: August 22, 2009 in Tweaking, Vista
Tags:

Enabling Num Lock by default

If you have a password that has both numbers and letters and you frequently use the number pad to enter part of your password, this hack is for you. I cannot count the number of times that I started to type my password and was then presented with a logon error telling me that my password was incorrect. I would sit there staring at the screen for a second before I realized that Num Lock on my keyboard was not on.

This is a great hack for every desktop computer with a full-size keyboard with a separate number pad. Turning on Num Lock by default on a laptop is not a good idea because usually most laptops do not have a separate number pad. Enabling this feature on a laptop will result in almost half of your keyboard functioning as the number pad, and you would be much better off using the numbers above the letters. To get started, follow these steps:

  1. Click the Start menu, type regedit, and press Enter.
  2. When the Registry Editor loads, navigate through HKEY_USERS\.DEFAULT\Control Panel\Keyboard.
  3. Locate the InitialKeyboardIndicators entry, right-click it, and select Modify. To enable Num Lock, enter 2 into the box. If you want to disable it, enter 0 into the box.
  4. Then click OK to save the changes. That’s it!

If you are on a laptop and you attempted to enable Num Lock even though I told you not to and need to fix your system, repeat the preceding directions but replace the value of InitialKeyboardIndicators with 0 to disable the feature.

Would you like to display a message to your users before they can log on? Are any instructions necessary for users of your computers, such as “Do not shut down this computer!” or possibly a security warning informing unauthorized users that they are breaking the law if they try to log on to your laptop? All these are possible with the help of Group Policy. With just a few clicks, you can easily display a message to your visitors.

Using the Local Security Policy editor, you can turn this feature on. Follow these steps to activate it on your PC:

  1. Click the Start button, type secpol.msc, and press Enter.
  2. When the Local Security Policy editor loads, navigate through Local Policies and then Security Options.
  3. Locate the Interactive logon: Message title for users attempting to log on policy. Right-click it and select Properties.
  4. On the Local Security Settings tab, type a title that you would like to use for your message and click OK.
  5. Locate the Interactive logon: Message text for users attempting to log on policy. Right-click it and select Properties.
  6. On the Local Security Settings tab, type your message and click OK.
  7. Close the Local Security Policy editor; you are finished.

As soon as you log off or reboot, the security message settings will be activated.

Windows Vista has a great new look, but after a while, the new look can get old. With the help of some cool tools and tricks, you can customize many components of Windows Vista.

This chapter guides you through customizing two parts of your computer: the boot screen and the Welcome/Logon screen. I show you how to replace the boring boot screen and even how to activate a hidden boot screen.

Then this chapter moves on to a discussion of customizing the second part of your computer startup, the Welcome/Logon screen. This screen can be customized in several ways, such as customizing the user pictures and various settings that will allow you to increase your privacy and change the way the Logon screen behaves. I even show you how to change your Logon screen background.

Customizing the Boot Screen

Every time I turn on my computer, I am forced to stare at the boring Windows boot screen. I must admit that I found the moving bars amusing at first, but after a few months I became bored and wanted something different. Changing the boot screen is not something that Microsoft made easy; however, it is still possible with a few cool hacks.

Activating the hidden boot screen

Over the several years that Windows Vista was in the planning stages and in development, many promises were made about new features and enhancements. One of those promises had to do with high-resolution boot screens. This was going to be a great feature replacing the ancient 256-color boot screen that has been with Windows since Windows 95. Over time, as development of Vista was slipping behind schedule and developers were plagued with hardware compatibility problems with the high-resolution boot screen code, the feature was pulled from the final product.

Although this feature never made it into the released version of Windows Vista, there appears to be some parts of it left in the system. This section shows you a cool trick that will enable a hidden boot screen that looks like it was part of the high-resolution feature. It is nothing super fancy or elegant, but it sure is better than the boring boot screen that Vista shipped with, which looks like it is missing the Vista logo.

Before we proceed, note that some users have problems with using the hidden boot screen-possibly the reason why Microsoft hid it in the first place. If you are one of those users, simply boot into Safe mode and undo the steps for enabling the boot screen. Unfortunately, it is not currently known exactly what hardware has problems with the hidden boot screen. When you are ready, follow these steps to enable this boot screen on your PC:

  1. Click the Start button, type msconfig in the Search box, and then press Enter.
  2. When the System Configuration Utility loads, click the Boot tab.
  3. Locate the No GUI boot box and select it.
  4. Click OK and reboot your computer.

You should see the hidden boot screen after you reboot your PC. As I mentioned earlier, if you have problems with the hidden boot screen, just boot into Safe mode (hold down F8 when you boot up) and remove the check from the No GUI Boot box.

Customizing the boot screen image

The alternative boot screen that you just enabled in the preceding section is a great improvement compared to the boring moving progress bar that shows by default. However, this is still not good enough. With the help of a few cool tricks, you can create your own high-resolution, 24-bit boot screen without hacking any system files.

How is that possible? Thanks to the new language-independent operating system components in Windows Vista, some resources are stored in regional language files rather than the actual system components. This allows Microsoft to easily create a localized version of Windows Vista in any language by just creating new MUI (multilingual user interface) files that contain localized versions of bitmaps and text. Because MUI files are not digitally signed by Microsoft, you can make your own that has your own boot screen image in it, which allows you to customize the alternative boot screen to use any image you desire.

This new feature in Windows Vista provides a great enhancement and alternative to the traditional method of hacking system files as you had to do in previous versions of Windows to do things such as changing the boot screen. In addition, there is a great tool developed by Dan Smith called the Vista Boot Logo Generator that will automatically compile the boot images you select into an MUI file. This makes the overall process simple compared to trying to change boot screens, as you did in the past.

To get started, you need two images, one 800 × 600 and one 1024 × 768 image, both saved as 24-bit bitmap images. When you have those images picked out, resized, and saved, you are ready to follow these steps:

  1. Visit http://www.computa.co.uk/staff/dan/?p=18 and download the latest copy of the Vista Boot Logo Generator and install it.
  2. Click the Start button, type vista boot logo, and press Enter.
  3. After the boot logo is downloaded, click the Browse for Images button in the 800 × 600 section and select your 800 × 600 24-bit bitmap image. Do the same for the 1024 × 768 section.
  4. After you have both images selected, click File and select Save Boot Screen file as to save your MUI file. Save it to your desktop.
  5. Next you need to replace the winload.exe.mui file located in c:\windows\system32\en-us with the file you just created. However, it is not as easy as a simple copy and paste because the Windows system files are protected. First, I recommend making a backup of the existing winload.exe.mui file so that you can copy it back if you have problems later. To get around the file protections, you need to take ownership of all the files in the en-us folder. Right-click the en-us folder and select Properties.
  6. Select the Security tab and then click the Advanced button at the bottom of the window.
  7. Select the Owner tab, and then click the Edit button.
  8. Select your account from the Account list and check Replace owner on subcontainers and objects. Click OK to apply your changes.
  9. Click OK to exit all the open Properties windows. You need to go back into the folder properties to change the file permissions. This time you will have more rights because you are now the folder owner. Right-click en-us and select Properties again.

10.  Click the Security tab, and this time click Edit.

11.  Click the Add button. Type in your username and click OK. Your account name should now appear on the Permissions list.

12.  Select your account, and then select the Allow column for Full control.

13.  Click OK to save your changes and OK once more to close the Properties screen. You will now be able to copy the winload.exe.mui file you made and saved to your desktop to c:\windows\system32\en-us. After you copy the file and reboot, you should see your new boot screen.

If you do not see your new boot screen and instead see the progress bar, make sure that you turned on the alternative boot screen as shown in the previous section. If you have any problems with your new boot screen MUI file, you can always boot using your Windows Vista install CD into a command prompt and can copy back the old winload.exe.mui file.


I’m sure you are familiar with the traditional way to kill or end a process in Windowsusing Task Manager.  This method is effective but not nearly as fun as killing a process in Command Prompt.  Additionally, killing processes in Command Prompt provides much more control and the ability to end multiple processes at once.

All of this is possible with the TaskKill command. First, let’s cover the basics.  You can kill a process by the process ID (PID) or by image name (EXE filename).

Open up an Administrative level Command Prompt and run tasklist to see all of the running processes:

C:\>tasklist

Image Name                     PID Session Name        Mem Usage
========================= ======== ================ ============
firefox.exe                  26356 Console             139,352 K
regedit.exe                  24244 Console               9,768 K
cmd.exe                      18664 Console               2,380 K
conhost.exe                   2528 Console               7,852 K
notepad.exe                  17364 Console               7,892 K
notepad.exe                  24696 Console              22,028 K
notepad.exe                  25304 Console               5,852 K
explorer.exe                  2864 Console              72,232 K

In the example above you can see the image name and the PID for each process. If you want to kill the firefox process run:

C:\>Taskkill /IM firefox.exe /F

or

C:\>Taskkill /PID 26356 /F

The /f flag is kills the process forcefully.  Failure to use the /F flag will result in nothing happening in some cases.  One example is whenever I want to kill the explorer.exe process I have to use the /F flag or else the process just does not terminate.

If you have multiple instances of an image open such as multiple firefox.exe processes, running the taskkill /IM firefox.exe command will kill all instances. When you specify the PID only the specific instane of firefox will be terminated.

The real power of taskkill are the filtering options that allow you to use the following variables and operators.

Variables:

  • STATUS
  • IMAGENAME
  • PID
  • SESSION
  • CPUTIME
  • MEMUSAGE
  • USERNAME
  • MODULES
  • SERVICES
  • WINDOWTITLE

Operators:

  • eq (equals)
  • ne (not equal)
  • gt (greater than)
  • lt (less than)
  • ge (greater than or equal)
  • le (less than or equal)

“*” is the wildcard.

You can use the variables and operators with the /FI filtering flag.  For example, let’s say you want to end all processes that have a window title that starts with “Internet”:

C:\>taskkill /FI “WINDOWTITLE eq Internet*” /F

How about killing all processes running under the Steve account:

C:\>taskkill /FI “USERNAME eq Ignited” /F

It is also possible to kill a process running on a remote computer with taskkill.  Just run the following to kill notepad.exe on a remote computer called IgnitedDesktop:

C:\>taskkill /S IgnitedDesktop /U RemoteAccountName /P RemoteAccountPassword /IM notepad.exe /F

To learn more about taskkill run it with the /? command just like any other Windows command.

Tuning up MTU (Maximum Transmission Unit) to speed up Internet access

Now let me tell you one important fact related with tuning. Value of MTU depends upon how fast a connection you have, what kind of activities you perform (ask yourself a question. Are your a mild, average or high end user of Internet ? To put it in other words, Do you download little or nothing, or are an average surfer or are Internet savvy individual and download everything from programs,apps,patches to watching Internet audio/video real-time content?) Depending upon who you are as a user and what kind of connection (modem,dsl,cable or in rare cases T1/T3), this tuning may have little to significant effect on your Internet experience. All right MTU stand for Maximum Transmission Unit.

Value of MTU decides the size of Internet data packet. Bigger the size, more you can transfer.

Analogy could be made with a bucket. If bucket is small, you can carry little but it would be no strain on your strength. Bigger the bucket, more you can carry but it strains your physical strength. (Well! Its not that simple but good enough to understand). Objective should be find a perfect balance which works for you. I think maximum that you can put is as value of MTU is 1500 (but could be higher for your specific network) and it may not make sense making it smaller than 68.Again this is a registry tweak unless and until you have a tweaking utility that can do it for you.Open Registry by going to START-RUN and entering REGEDIT and Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Tcpip\Parameters\Interfaces\ ID for Adapter. For this right click on right pane and add a key by the name MTU. For this key you can add a DWORD value from 68 to 1500 (or higher value is certain cases).If you put less than 68, it will default to 68.

If you put a value higher than 1500 or your Network permitted max, it will default to permitted max.

Win XP Tweaks

———–

STARTUP

———–

Windows Prefetcher

******************

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Management \ PrefetchParameters]

Under this key there is a setting called EnablePrefetcher, the default setting of which is 3. Increasing this number to 5 gives the prefetcher system more system resources to prefetch application data for faster load times. Depending on the number of boot processes you run on your computer, you may get benefits from settings up to 9. However, I do not have any substantive research data on settings above 5 so I cannot verify the benefits of a higher setting. This setting also may effect the loading times of your most frequently launched applications. This setting will not take effect until after you reboot your system.

Master File Table Zone Reservation

**********************************

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem]

Under this key there is a setting called NtfsMftZoneReservation, the default setting of which is 1. The range of this value is from 1 to 4. The default setting reserves one-eighth of the volume for the MFT. A setting of 2 reserves one-quarter of the volume for the MFT. A setting of 3 for NtfsMftZoneReservation reserves three-eighths of the volume for the MFT and setting it to 4 reserves half of the volume for the MFT. Most users will never exceed one-quarter of the volume. I recommend a setting of 2 for most users. This allows for a “moderate number of files” commensurate with the number of small files included in most computer games and applications. Reboot after applying this tweak.

Optimize Boot Files

*******************

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Dfrg \ BootOptimizeFunction]

Under this key is a text value named Enable. A value of Y for this setting enables the boot files defragmenter. This setting defragments the boot files and may move the boot files to the beginning (fastest) part of the partition, but that last statement is unverified. Reboot after applying this tweak.

Optimizing Startup Programs [msconfig]

**************************************

MSConfig, similar to the application included in Win9x of the same name, allows the user to fine tune the applications that are launched at startup without forcing the user to delve deep into the registry. To disable some of the applications launched, load msconfig.exe from the run command line, and go to the Startup tab. From there, un-ticking the checkbox next to a startup item will stop it from launching. There are a few application that you will never want to disable (ctfmon comes to mind), but for the most part the best settings vary greatly from system to system.

As a good rule of thumb, though, it is unlikely that you will want to disable anything in the Windows directory (unless it’s a third-party program that was incorrectly installed into the Windows directory), nor will you want to disable anything directly relating to your system hardware. The only exception to this is when you are dealing with software, which does not give you any added benefits (some OEM dealers load your system up with software you do not need). The nice part of msconfig is that it does not delete any of the settings, it simply disables them, and so you can go back and restart a startup application if you find that you need it. This optimization won’t take effect until after a reboot.

Bootvis Application

*******************

The program was designed by Microsoft to enable Windows XP to cold boot in 30 seconds, return from hibernation in 20 seconds, and return from standby in 10 seconds. Bootvis has two extremely useful features. First, it can be used to optimize the boot process on your computer automatically. Second, it can be used to analyze the boot process for specific subsystems that are having difficulty loading. The first process specifically targets the prefetching subsystem, as well as the layout of boot files on the disk. When both of these systems are optimized, it can result in a significant reduction in the time it takes for the computer to boot.

Before attempting to use Bootvis to analyze or optimize the boot performance of your system, make sure that the task scheduler service has been enabled – the program requires the service to run properly. Also, close all open programs as well – using the software requires a reboot.

To use the software to optimize your system startup, first start with a full analysis of a fresh boot. Start Bootvis, go to the Tools menu, and select next boot. Set the Trace Repetition Settings to 2 repetitions, Start at 1, and Reboot automatically. Then set the trace into motion. The system will fully reboot twice, and then reopen bootvis and open the second trace file (should have _2 in the name). Analyze the graphs and make any changes that you think are necessary (this is a great tool for determining which startup programs you want to kill using msconfig). Once you have made your optimizations go to the Trace menu, and select the Optimize System item. This will cause the system to reboot and will then make some changes to the file structure on the hard drive (this includes a defragmentation of boot files and a shifting of their location to the fastest portion of the hard disk, as well as some other optimizations). After this is done, once again run a Trace analysis as above, except change the starting number to 3. Once the system has rebooted both times, compare the charts from the second trace to the charts for the fourth trace to show you the time improvement of the system’s boot up.

The standard defragmenter included with Windows XP will not undo the boot optimizations performed by this application.

———————————–

General Performance Tweaks

———————————–

IRQ Priority Tweak

******************

[HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ PriorityControl]

You will need to create a new DWORD: IRQ#Priority (where # is the number of the IRQ you want to prioritize) and give it a setting of 1. This setting gives the requisite IRQ channel priority over the other IRQs on a software level. This can be extremely important for functions and hardware subsystems that need real-time access to other parts of the system. There are several different subsystems that might benefit from this tweak. Generally, I recommend giving either the System CMOS or the video card priority. The System CMOS generally has an IRQ setting of 8, and giving it priority enhances the I/O performance of the system. Giving priority to the video card can increase frame rates and make AGP more effective.

You can give several IRQs priority, but I am not entirely certain how the system interacts when several IRQs are given priority – it may cause random instabilities in the system, although it is more likely that there’s a parsing system built into Windows XP to handle such an occurrence. Either way, I would not recommend it.

QoS tweak

*********

QoS (Quality of Service) is a networking subsystem which is supposed to insure that the network runs properly. The problem with the system is that it eats up 20% of the total bandwidth of any networking service on the computer (including your internet connection). If you are running XP Professional, you can disable the bandwidth quota reserved for the system using the Group Policy Editor [gpedit.msc].

You can run the group policy editor from the Run command line. To find the setting, expand “Local Computer Policy” and go to “Administrative Templates” under “Computer Configuration.” Then find the “Network” branch and select “QoS Packet Scheduler.” In the right hand box, double click on the “Limit Reservable Bandwidth.” From within the Settings tab, enable the setting and then go into the “Bandwidth Limit %” and set it to 0%. The reason for this is that if you disable this setting, the computer defaults to 20%. This is true even when you aren’t using QoS.

Free Idle Tasks Tweak

*********************

This tweak will free up processing time from any idle processes and allow it to be used by the foreground application. It is useful particularly if you are running a game or other 3D application. Create a new shortcut to “Rundll32.exe advapi32.dll,ProcessIdleTasks” and place it on your desktop. Double-click on it anytime you need all of your processing power, before opening the application.

Windows Indexing Services

Windows Indexing Services creates a searchable database that makes system searches for words and files progress much faster – however, it takes an enormous amount of hard drive space as well as a significant amount of extra CPU cycles to maintain the system. Most users will want to disable this service to release the resources for use by the system. To turn off indexing, open My Computer and right click on the drive on which you wish to disable the Indexing Service. Enter the drive’s properties and under the general tab, untick the box for “Allow the Indexing Service to index this disk for fast file searching.”

Priority Tweak

**************

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ PriorityControl]

This setting effectively runs each instance of an application in its own process for significantly faster application performance and greater stability. This is extremely useful for users with stability problems, as it can isolate specific instances of a program so as not to bring down the entire application. And, it is particularly useful for users of Internet Explorer, for if a rogue web page crashes your browser window, it does not bring the other browser windows down with it. It has a similar effect on any software package where multiple instances might be running at once, such as Microsoft Word. The only problem is that this takes up significantly more memory, because such instances of a program cannot share information that is in active memory (many DLLs and such will have to be loaded into memory multiple times). Because of this, it is not recommended for anyone with less than 512 MB of RAM, unless they are running beta software (or have some other reason for needing the added stability).

There are two parts to this tweak. First is to optimize XP’s priority control for the processes. Browse to HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ PriorityControl and set the “Win32PrioritySeparation” DWORD to 38. Next, go into My Computer and under Tools, open the Folder Options menu. Select the View tab and check the “Launch folder windows in separate process” box. This setting actually forces each window into its own memory tread and gives it a separate process priority.

Powertweak application

**********************

xxx.powertweak.com

Powertweak is an application, which acts much like a driver for our chipsets. It optimizes the communication between the chipset and the CPU, and unlocks several “hidden” features of the chipset that can increase the speed of the system. Specifically, it tweaks the internal registers of the chipset and processor that the BIOS does not for better communication performance between subsystems. Supported CPUs and chipsets can see a significant increase in I/O bandwidth, increasing the speed of the entire system. Currently the application supports most popular CPUs and chipsets, although you will need to check the website for your specific processor/chipset combo – the programmer is working on integrating even more chipsets and CPUs into the software.

Offload Network Task Processing onto the Network Card

*****************************************************

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters]

Many newer network cards have the ability of taking some of the network processing load off of the processor and performing it right on the card (much like Hardware T&L on most new video cards). This can significantly lower the CPU processes needed to maintain a network connection, freeing up that processor time for other tasks. This does not work on all cards, and it can cause network connectivity problems on systems where the service is enabled but unsupported, so please check with your NIC manufacturer prior to enabling this tweak. Find the DWORD “DisableTaskOffload” and set the value to 0 (the default value is 1). If the key is not already available, create it.

Force XP to Unload DLLs

***********************

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer]

“AlwaysUnloadDLL”=dword:00000001

XP has a bad habit of keeping dynamic link libraries that are no longer in use resident in memory. Not only do the DLLs use up precious memory space, but they also tend to cause stability problems in some systems. To force XP to unload any DLLs in memory when the application that called them is no longer in memory, browse to HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer and find the DWORD “AlwaysUnloadDLL”. You may need to create this key. Set the value to 1 to force the operating system to unload DLLs.

Give 16-bit apps their own separate processes

*********************************************

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ WOW]

“DefaultSeparateVDM”=”Yes”

By default, Windows XP will only open one 16-bit process and cram all 16-bit apps running on the system at a given time into that process. This simulates how MS-DOS based systems viewed systems and is necessary for some older applications that run together and share resources. However, most 16-bit applications work perfectly well by themselves and would benefit from the added performance and stability of their own dedicated resources. To force Windows XP to give each 16-bit application it’s own resources, browse to HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ WOW and find the String “DefaultSeparateVDM”. If it is not there, you may need to create it. Set the value of this to Yes to give each 16-bit application its own process, and No to have the 16-bit application all run in the same memory space.

Disable User Tracking

*********************

[HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer]

“NoInstrumentation”=dword:00000001

The user tracking system built into Windows XP is useless to 99% of users (there are very few uses for the information collected other than for a very nosy system admin), and it uses up precious resources to boot, so it makes sense to disable this “feature” of Windows XP. To do so, browse to HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer and find the DWORD “NoInstrumentation”. You may need to create this key if it is not there. The default setting is 0, but setting it to 1 will disable most of the user tracking features of the system.

Thumbnail Cache

***************

[HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Advanced]

“DisableThumbnailCache”=dword:00000001

Windows XP has a neat feature for graphic and video files that creates a “thumbnail” of the image or first frame of the video and makes it into an oversized icon for the file. There are two ways that Explorer can do this, it can create them fresh each time you access the folder or it can load them from a thumbnail cache. The thumbnail caches on systems with a large number of image and video files can become staggeringly large. To disable the Thumbnail Cache, browse to HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Advanced and find the DWORD “DisableThumbnailCache”. You may need to create this key. A setting of 1 is recommended for systems where the number of graphic and video files is large, and a setting of 0 is recommended for systems not concerned about hard drive space, as loading the files from the cache is significantly quicker than creating them from scratch each time a folder is accessed.