Customize WinXP Startup Screen (Boot Screen)
how to edit the bitmaps, integrated into the file ntsokrnl.exe
The startup (boot screen) screen, unlike Win95-98-ME, is not so simple with XP. It is not separate image files. Rather, it is comprised of 3 "all black" bitmaps (strange, but true) that are integrated into the file window\system32\ntsokrnl.exe. You can only see the images stored within these bitmaps by using a special 16-color (4-bit) palette which is supplied here.
Now, you must realize that the file ntoskrnl.exe is under WFP (Windows File Protection). In short, you can mess with it, you can edit and save it - and even if you somehow manage to, Windows will immediately replace it. The workaround is to make a copy of the file, and have you boot.ini file point to that instead by using the "kernel=" switch.
Actually, there are several sites where users upload their own custom boot screens - they upload their own hacked ntsokrnl.exe or the bitmap files for download by others (but it is much more fun to make your own). Here are a few links:
http://www.themexp.org www.winxptheme.com www.littlewhitedog.com http://www.screensandthemes.com
There are also several utilities for this - the easiest to use is BootXP - this automates the process for you. The free version places their logo on the custom boot screen - the pay version does not (only &7.95). The most powerful is Inno Logo which include custom progress bars. But why buy? We show you how for free here !!!
Here are the three bitmaps (for display only - do not download them for use with XP !!). In order from left to right, they are the ntsokrnl integrated bitmaps 1 (640x480), 8 (22x9), and 10 (164x25). The only one you really need to customize is bitmap 1.
![]()
The Progress Bar - when you boot, you will see the progress bar with tiny squares moving left to right. The fist, large image has a small, 126x15 rectangle with a border to make space for the progress bar. Bitmap 8 creates the small rectangles that move left-to-right within the border of bitmap 1. For your new custom image you can place the border there but it is not necessary - and it is difficult to get it positioned exactly. If you decide to use a border, paste the original image as a new layer in Photoshop on top of your custom image, and then delete everything except the border on that layer.
Customization
To customize, first - download Resource Hacker and the Photoshop ACT 16-color Palette. If you are using PaintShop Pro or some other image editor - here is the PAL 16-color Palette.
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /KERNEL=Mykrnl.exe
C:\ = "Microsoft Windows 98 SE"
12. Done !!! To go back to the original splash screen, just remove the text, "/KERNEL=Mykrnl.exe"
If you have several logon screens, you can rotate them by using the LogonUI Randomizer.
The 16-color (4-bit) Palette
The palette can be changed manually but it is a bear. You can use Boot Editor to change the default boot palette but the utility is not user-friendly and has a couple of bugs. Or you can go to the Boot Screen Bitmap Creator which does the conversion for you - just point it to a 640x480 bitmap and it will convert it to 16 colors (but they are not the default palette required by Windows) !!!
How to make Decent Looking 16-color (4-bit) Images
Getting a nice, flowing 4-bit image requires the use of a palette that matches the needs of the image. That image cannot require more than 16 colors !!! So you are limited to:
For example, an image with large gold letters XP that look very realistic, will have several shades of gold and nothing else except the white background. The default palette contains primary colors and will look horrible. But you can use GIF Animator or Adobe Image Ready (comes with Photoshop 7) to optimize the image with 16 colors. GIF Animator does a better job and allows you to save the palette as a PAL file. Save the palette and the image as a GIF, reopen in Photoshop, edit the palette so that the first color is Black (0,0,0), and save it as a 4-bit bmp file. The resulting image look awesome !!

Skin Tones with 16 Colors - It is a well-known fact that skin tones require numerous colors. We have all seen the horrendous effect that 256-color bitmaps have on faces. But this is only because the palette used is the standard Windows system palette. So long as the rest of the image has only 2 or 3 colors - that leaves you 13 colors for skin tones !!! Here is an example - I opened the image in GIF Animator, optimized it with a 16-color palette, saved the image as a PSD file and saved the palette, opened it in Photoshop, applied the palette (color table), edited the first color toblack (0,0,0), and saved it as a 4-bit bmp file :

Not bad for only 16 colors !!! This is how you can have a 16-color image that flows nicely.
Likewise, if you need a gradient, you can have one, so long as the two colors are not extreme opposites. For example, blue to dark blue will look OK, whereas light blue to dark blue will not (it takes too many colors to represent that type of gradient).
IMPORTANT: Photoshop will only save an image with 4-bit color, when the first color is Black (RGB=0,0,0). So before saving the image you must goto Image/Mode/Color Table, click the first image, and edit the color to 0,0,0 - otherwise when you save it as a bmp, the only option will be 8-bit color and 4-bit will be grayed out !!! This change usually has no visible effect on the image, since most 16-color palettes have at least a very dark color in the first position !!
The Steps
For most of you - it is easiest to use the palette included in the bitmap image that you save from mykrnl.exe. Stick to cartoon-style or clip-art style images, or download some nice ones - there are tons of websites for this.
![]()
Now for the manual method. Skip this next part unless you are a masochist !!!
IMPORTANT - You cannot just use any old 16-color palette !! The palette RGB numbers are stored in the kernel file, separately from the bitmap.
However, if you have a lot of patience you can edit the image palette yourself by using a Hex editor to edit mykrnle.exe - which has the hex strings in it. Unfortunately it is stored using reverse BGR instead of RGB so you have to do a lot of notekeeping before editing.
