Hack 2 Change the Picture that Appears on the XP Startup Screen


You're not stuck with XP's default splash logo on the startup screen?use any picture or logo of your choosing.

One of the nice things about XP is how malleable it is. Don't like the way it looks? No problem?change it. Take my splash screen, please!

Many people, myself included, would prefer to see a more interesting splash screen (also called the startup screen) than the default gives you on start-up. You can change your splash screen to any of hundreds that have been created, or make one of your own?for example, with your picture or company logo on it.

To choose from already created splash screens, go to http://www.themexp.org and click on Boot Screens. You'll find over a thousand of them, organized by categories such as Sports, TV/Movies, and so on. Being a fan of Jack London's The Call of the Wild, I use a picture of huskies for my splash screen. You can see it pictured in Figure 1-2. Nice way to greet the new day, don't you think?

Figure 1-2. Every time I start up my PC, I can imagine myself in the wilds of Alaska

Once you've found the image you want to use as your splash screen, download it. It will be downloaded as a .zip file. I create a general folder for all my boot screen files, called C:\Bootscreens, and then for each bootscreen I download I create a new folder?in this instance, C:\Bootscreens\Wild.

It's possible that something will go wrong with your new boot screen, so before making the change, create a System Restore point by choosing Control Panel Performance and Maintenance System Restore and following the instructions. If something goes wrong, you can revert to that restore point.

Unzip the contents of the .zip file into the folder. There will be one or more files, including ReadMe files. The boot screen itself, however, will be named ntoskrnl.exe. If you have XP Service Pack 1 installed, you may have to use a different file, named ntoskrnlSP1.exe, that may also be in the downloaded .zip file. Check the documentation of the file you download to make sure. If you're not sure if you have Service Pack 1 installed, it's easy to find out. Right-click on My Computer, and choose Properties General. Your version of the operating system will be displayed. If you have Service Pack 1, it will say so on that screen.

The ntoskrnl.exe file is an executable file that contains the XP bootscreen. During the boot process, XP executes this file, found in C:\Windows\System32, which in turn displays the bootscreen graphic. So, to change your bootscreen, replace your existing ntoskrnl.exe file with the one you just downloaded. But wait: there's more.

You might think that all you have to do is copy the new ntoskrnl.exe over the existing one and then restart your computer in order for the changes to take effect. That's not quite the case, though. You first have to get around a feature of Windows XP that protects system files from being overwritten. Windows File Protection automatically replaces certain files with the original XP version of the file if they've been replaced, and ntoskrnl.exe is one of those files. However, if you make the change in Safe Mode, Windows File Protection won't kick in and you can safely copy the file.

Windows File Protection protects many other files, not just ntoskrnl.exe. Also included are .dll, .exe, .fon, .ocx, .sys, .tff files, and, depending on your system, other file types such as .ax, .cpl, .cpx, .dll, .exe, .fon,. inf, .ocx, .rsp, .sys, .tff, and .tlb.

Reboot your PC and press F8 immediately to get into Safe Mode. Now go to the C:\Windows\System32 folder and find the ntoskrnl.exe file. Copy it to another folder or rename it as a backup so that you can revert to it when you no longer want to use your new bootscreen, or if something goes wrong when you install the new screen. Now copy the new ntoskrnl.exe file into C:\Windows\System32. (If you have to use the ntoskrnlSP1.exe file, rename it to ntoskrnl.exe first, and then copy it over.)

Reboot your computer again but don't go into Safe Mode this time. Your new splash screen will now appear every time you start your PC. To revert to your old splash screen, repeat the steps, copying your original ntoskrnl.exe file over your new one.

1.3.1 Choose from Multiple Splash Screens on Startup

Depending on my mood, I might not want to be greeted by huskies every morning. There are times when I want to be greeted by the normal startup screen, and other times when I want to see Andy Warhol's famous painting of Marilyn Monroe, or Al Pacino from the movie Scarface, all available from http://www.themexp.org. So I've made a startup menu that lets me choose which graphic should be my startup screen.

To create a startup menu, first download all the screens you want to use. Then rename the ntoskrnl.exe or ntoskrnlSP1.exe of each so that the filename describes the screen, for example, ntospacino.exe, ntosmonroe.exe, and ntosspongebob.exe. Copy them each into C:\Windows\System32. Don't touch the existing ntoskrnl.exe file there; you'll keep that as one of your options. Because you're not changing that file, you don't have to boot into Safe Mode to make any of these changes.

Following the instructions in [Hack #1], create a multiboot screen by editing your boot.ini file. In the [operating systems] section of the boot.ini file, create a new entry for each of the screens from which you want to choose. Copy the existing primary XP entry and append /kernel=newbootscreenfilename.exe to the end of it, where newbootscreenfilename.exe is the filename of the bootscreen you want to use for that entry. Also edit the description so that it describes the bootscreen. For example, if the primary entry is:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home 
Edition" /fastdetect

you would create this entry for the Sponge Bob startup screen:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Sponge Bob Startup Screen" /
fastdetect /kernel=ntosspongebob.exe

Create as many entries as you want in the [boot loader] section. My boot.ini file looks like this:

[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home 
Edition" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Huskies Startup Screen" /
fastdetect /kernel=ntosspongebob.exe
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Pacino Startup Screen" /
fastdetect /kernel=ntospacino.exe
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Marilyn Monroe Startup Screen" 
/fastdetect /kernel=ntosmonroe.exe

Whenever you start up XP now, you'll be able to choose from your normal startup screen or any of the others you've put on the menu. If you have a laptop, for example, you might set up a menu that lets you choose a business-like startup screen at work and a more entertaining one at home.

1.3.2 Build a Startup Screen from Any Graphic

So far this hack has shown you how to use a startup screen that someone else built. But you're not limited to that; you can turn any graphic into a startup screen, using BootXP (downloadable from http://www.bootxp.net). It's shareware and free to try, but it costs $7.95 if you decide to keep using it.

The program will convert graphics from many different formats to a bootscreen graphic, use it as your bootscreen, or build a boot menu for you so that you can choose from multiple bootscreens. That way, you don't have to edit the boot.ini file yourself.

It's a surprisingly simple program to use. Select a graphic that you want to use as a bootscreen, and then click a button to convert it to the 640 x 480-pixel, 16-color bitmap startup screen standard. Preview the graphic, and if it's what you want, tell the program to set it as your bootscreen. The program provides a variety of options, including choosing a different progress bar that alerts you XP is loading, restoring your original startup screen, or randomizing your bootscreen so that it randomly selects one you've created each time you boot. You can also use the program to download already created startup screens from http://www.bootxp.net.

1.3.3 See Also

  • [Hack #14]