Windows 7 Forums

Welcome to Windows 7 Forums. Our forum is dedicated to helping you find support and solutions for any problems regarding your Windows 7 PC be it Dell, HP, Acer, Asus or a custom build. We also provide an extensive Windows 7 tutorial section that covers a wide range of tips and tricks.

Windows 7: How to change boot animation in Windows 7

13 Mar 2011   #671

Windows 7 Pro 64 / 7 Pro 64 / 7 Home Prem 64

@joakim 1
Yes, I realized this a bit after I posted the last one. So there is another level of program type (called subsystem in Windows API language). Here is the list:
    Programs during the boot process, including bootmgr.exe and winload.exe (actually a DLL) are this type. Cannot use any external libraries.
    Programs that run after ntoskrnl.exe and smss.exe are loaded, but before any other subsystem is loaded. Programs can only use the NTDLL.DLL external library. No file handles are created yet, thus even the system partition can be scanned and defragged.
    Higher level subsystems, these are programs you normally run.
    EFI-related programs. I don't know much about these.
So I need to make a BOOT_APPLICATION and integrate that code into winload.exe. I have already tested it and I can compile C code into a boot application. I haven't tested anything with actually running it.

I will look at the bootkit.

@joakim 2
There is alpha. The colors are 4 bytes long, RGBA, the last byte is for alpha. We have always been leaving this as 0xFF (255) which is fully opaque. You can't move the box separately from the text. The way drawing works in winload.exe is it creates rectangles and draws those rectangles to the screen. Everything it draws is a rectangle. To draw text, it creates a rectangle with that text. The text must be in a rectangle.

@joakim 3
Makes sense. I didn't really consider that part of it...

My System SpecsSystem Spec
13 Mar 2011   #672


@thaimin 1
Sounds good about the BOOT_APPLICATION.

@thaimin 2
I understand that for the rectangles like the copyright and the startup text. But I can't see where to specify such for the BlXmiWrite function that grabs the colour codes from inside the xsl resource.
My System SpecsSystem Spec
13 Mar 2011   #673

Windows 7 Ultimate x32

About BOOT_APPLICATION just may be an examle - in XP or even Vista the old-style boot animation code and resources (progress bar and background images) are also stored in ntoskrnl, and Stardock's Bootskin installs some kind of a boot-time driver (vidstub.sys if i remember correctly), which apparently substitutes that code in memory... And about patching in memory idea... i think "ultimate solution" could be a boot application run before (or instead of) winload which would patch winload (and then load it) and kernel in memory, leaving all system files physically untouched... would be too complicated to make it though...
My System SpecsSystem Spec

13 Mar 2011   #674

Windows 7 Ultimate

can someone show me in the forum where to change the size and position of the animation? which file? John
My System SpecsSystem Spec
13 Mar 2011   #675


I like the theory too, and think it is not impossible to do. Just very complicated.

@thaimin 1
I just did a few funny things. For instance I can draw driver printing (using SOS switch) on top of a background image, so that the image is visible in the background (ie we can have actually to a certain degree decide how big the text box should be, and let the rest of screen be filled by a background image.

@thaimin 2
The background image can also be of any size I think. Just verified with 600x800 and 400x1024, and is drawn perfectly. Can also overwrite the size as given in the edx register right before it's drawn. It will then be displayed, but with messed up pixels. Do you know if we can set the coordinates of where the background image is placed? For instance let the 400x1024 image be on the lower part of the screen..

@thaimin 3
I'm facing some difficulties with return codes. I can return to the correct esp value, but then at at a wrong eip. This is driving me nuts right now. Do you have a tip?

I've previously pointed you to the first post, for the instructions. Regarding the size of the animation, there is no known method of tweaking it (that works).
My System SpecsSystem Spec
14 Mar 2011   #676


Just showing a cool boot video;

I am tweaking this further and will post details when sorted out. The actual driver printing is located inside a minimal body template. (thaimin: don't bother with my previous question regarding return codes as I was doing a silly mistake).
My System SpecsSystem Spec
14 Mar 2011   #677

Windows 7 Ultimate x64

About the Animation size, is it possible to change the boot screen resolution?
If we could optionally change the resolution to say, 800x600, we could still use the exact same animations, but we would give the impression that the animation was bigger, without breaking anything, and with few code additions

If you could somehow make the text background in that video transparent, that would be amazing, because I and a lot of theme designers, want constitency above all
My System SpecsSystem Spec
14 Mar 2011   #678

Windows 7 Pro 64 / 7 Pro 64 / 7 Home Prem 64

You guys have been busy!

@joakim - "BlXmiWrite function"
So you have to realize that two different drawing processes are going on here at the same time. The system is both in text/console mode and graphical mode. The sos information, and everything in the XSL is drawn in console mode. The background image (not background color), animation, and the two text boxes ("Starting Windows" and "(c) Microsoft Corporation") are drawn in graphical mode.

@marcusj0015 / joakim - "Background Color of Text"
The colors of the text-mode are limited to the colors you will find at The background color is a solid color, and cannot be transparent. Even looking within the code at the OsxmlColorParse function, it does not support full colors (only single nibble (4-bit) colors).

@joakim - "Background Image Size / Position"
Yes, the size can be changed, but why? Any empty space is just the background color. And why change the background position? Just design the background image to use the background color. Since the text-mode stuff apparently draws on top of the background image, there is no problem. But technically yes. Look at my documents at these lines (from the 32-bit version):

; Set the position to draw at 0, 0 and get a pointer to the “POINT” structure
    and     [ebp+EC], 0                ; 83 65 [EC] [00]
    and     [ebp+F0], 0                ; 83 65 [F0] [00]
    lea     eax, [ebp+EC]              ; 8D 45 [EC]
You would have to substitute the "and ..., 0" for a "mov ..., ##h", and remember to update the jump length if the new opcodes are shorter/longer.

@joakim - Assembly is tricky, ain't it?

@joakim - Cool Video! Maybe I will have to integrate an option for setting the SOS box area in my program... whats the snippet of XML you used for your video?

Some issues I see, but apparently Stardock got around them. First, how do you get a program to go before winload? Bootmgr checks to see if it is signed by Microsoft. A video driver is an idea, winload loads a basic video driver pretty early on (thus the video driver could modify many things in winload.exe in memory). But then, I don't know the security requirements on that driver, or how to change it from the default. I will look into it.
My System SpecsSystem Spec
14 Mar 2011   #679

Windows 7 Ultimate x64

@Thaimin, you didn't address my question about the resolution change.

maybe using a 800x600 image, would make the screen display at that res?

which would also, fix our netbook bretheren's problem, with the vista boot screen, becasue of too low res display
My System SpecsSystem Spec
14 Mar 2011   #680

Windows 7 Pro 64 / 7 Pro 64 / 7 Home Prem 64

I have no idea...
My System SpecsSystem Spec

 How to change boot animation in Windows 7

Thread Tools

Similar help and support threads
Thread Forum
How di I change boot animation and text?
Hey! So I have been wanting to change my boot/startup logo from the default windows logo with "starting windows" and Microsoft text. So after many google attempts i have stumbled upon an application, BootUpdater. This program supposedly can easily change the windows animations and is exactly...
How do I change windows7 boot animation when resolution 800X600
Hello , I already know change windows7 boot animation need access bootres.dll and winload.exe.mui. But if resolution below 1024X768 it seem different. Can anybody teach me which file need be change, Thank you a lot! Ps. I know my English is terrible , I hope it can be understood.
Boot screen Animation Change?
I don't know if this one can be done. I know how to turn off the ding sound it makes when my computer boots up but does anyone know how to change the boot screen animation? I would like to put one of my own animations on there instead of the windows logo popping up from 4 little lights.
Windows 7 Home premium 64bit won't boot, just plays boot animation
My Windows 7 has stopped booting after a restart, the system would just endlessly play the boot animation and not boot properly... system restore won't work, startup repair won't work, chdsk and sfc won't work. I have yet to try and see whether a Registry fix works. Windows loads the WRE VERY...
BSOD Help and Support
How to change the boot screen animation?
Has anyone figured out how to change the boot animation? John

Our Sites

Site Links

About Us

Find Us

Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd

All times are GMT -5. The time now is 08:44.
Twitter Facebook Google+ Seven Forums iOS App Seven Forums Android App