Boot screen

A boot screen is often displayed by an operating system or other software to visually indicate its initial loading process, and to provide visual confirmation that the system is successfully initialized. Depending on the software, the screen may include version information, a definite or indefinite progress indicator, or status messages. Many boot screens also feature the branding of the loaded software, its developer and/or distributor.

Windows

16-bit Windows

In early versions of Windows, the boot screen is a device-dependent standalone module which handles the logo drawing and animation. The logo module stored in a .LGO file on setup disks gets combined during installation with the device independent WIN.CNF component to form the WIN.COM launcher, which allowed OEMs to ship their own logo code if desired. The first known build to use a boot screen was Windows 1.0 Beta Release, which features a merging Microsoft logo and version information. This screen remained virtually unchanged for retail releases until Windows 1.04, when the Microsoft logo was updated to the 1987 logo.

In Windows 2.0, the logo bitmap and text was separated to a separate common .LGD file, which still gets combined with the other parts to form WIN.COM. The same system remained in place for Windows 3.0 and later 16-bit versions, although the boot screen itself has been changed to a graphical still image stored as a RLE-compressed bitmap.

Windows 9x

Windows 95 introduced a new boot screen, which runs in the VGA 256-color mode and changes reserved entries in the end of the color palette in runtime in order to show an animation. In most builds, the main boot logo is contained in IO.SYS in a compressed form, although it is possible to use a custom logo by saving it as LOGO.SYS in the boot drive root directory. The same method can also be used for the "shutting down" (LOGOW.SYS) and "safe to shutdown" (LOGOS.SYS) screens. In all cases, the logo file must be 320×400 pixels in size and should be saved as a RLE-compressed bitmap.

Early builds used an animation reminiscent of the "Flying Windows" screensaver, with Windows logos randomly lighting up in a random color all over the screen. This was accomplished by the logo bitmap including a number of the Windows flags, each using a different color from the reserved area. Normally, the reserved entries would be set to black, with the boot animation code setting them to a color in order to accomplish the effect.

The animation was changed as of build 337 to merely rotate the reserved palette entries, which was used for the scrolling arrows effect in later beta builds as well as the rotating gradient bar in the final builds and the breathing Windows logo animation used for the first boot screen in Windows 95 and early Windows 98 builds.

The boot screen was completely missing from Windows Me until Beta 1, due to the changes made to the real mode MS-DOS subsystem.

Windows NT

Build 196, the only available build that does not use the conventional boot process, shows a text screen with dark text on light gray background at boot. Unlike any later builds, this boot screen appears to be mostly handled by the boot loader, which prints its version information on screen as it loads the kernel binary. The screen is then cleared and replaced by a line full of equal signs when the kernel starts executing. It is also possible to patch the boot loader to display verbose information about the loaded kernel image at boot.

The boot screen was reimplemented in the kernel itself for the October 1991 build. The color scheme was changed to white text on a blue background as a part of this change, which matches the also newly introduced blue screen of death and was picked to match the MIPS firmware display as well as the default color scheme of the SlickEdit text editor used by many NT developers. The boot screen now shows the OS version and memory amount information and also doubles as a console for early user mode processes. On IBM-compatible systems, the boot screen originally used a 25 line text mode, although it was later changed to 50 lines as of build 475. Windows NT 3.5 later updated the boot screen to show the number of processors at all times, as it was previously only shown when using the multi-processor kernel.

The last known build to include support for operating a text mode display is Windows 2000 build 1814.1, although it has been disabled by default since the introduction of the bootvid.dll driver and had to be enabled by using the /NOGUIBOOT kernel switch; in following builds the switch disables the boot screen altogether and only displays a blank screen with a blinking cursor. The boot-time text console itself was kept even after Windows 2000 introduced a graphical boot screen, albeit reimplemented in graphics mode, and is used whenever an early boot process wants to print something to the screen. In Windows 7 and older, the /SOS kernel switch disables the boot animation altogether and prints the version and system information to the console similarly to Windows NT 4.0.

Windows 2000 to Vista

Build 1796 is the first known build to include the bootvid.dll driver for boot-time graphics. This allowed for the implementation of a new, graphical boot screen, which runs in 640×480 resolution with 16 colors and features the operating system logo together with a gradient bar and a determinate progress bar showing the boot process progressing. Later builds polished the boot process by introducing a rotating animation for the gradient bar, adding a separate design for the boot-time text console or by using different graphics for the Professional and Server editions. Originally, the boot screen rendered in a smaller centered window surrounded by a color fill, although it was later redesigned to cover the full screen.

The boot loader in Windows Neptune appears to have been extended with code to render the boot screen when resuming the computer from hibernation or when booting with the Fast Startup feature enabled, replacing the text mode progress screen shown by both older and newer builds. The feature is clearly unfinished, as pressing Esc pauses the process but does not show any interface allowing the user to choose the next course of action. The rotating bar animation is not implemented either. This later evolved into the /BOOTLOGO boot switch, which allows users to specify a custom static boot screen.

The boot animation design further evolved during the development of Windows XP, although server builds continued to use the older Windows 2000 design until Beta 2. The light background of the Windows 2000 boot screen was replaced by black, assumably to hide the screen being slowly drawn in the beginning. The determinate progress bar was also removed, although the code for reporting progress is still present within the startup code. The first new design included in Beta 1 builds featured a white Whistler logo, together with an animated bar full of dots. This was replaced in Beta 2 builds by a design that also featured a white Whistler logo, albeit monochromatic, with a breathing animation of four color bars corresponding to the colors of the Windows logo. The Beta 2 design has two variants, one of which features the older Windows logo while the other features the new logo.

The boot screen was again updated after Beta 2 to reflect the introduction of the Windows XP name. The original design featured the new plastic Windows XP logo with a breathing "loading..." label underneath, although it was soon replaced by the final rotating bars animation. Edition branding and different animation colors were initially used to distinguish each edition, however, all editions ended up using the exact same boot screen since Service Pack 2. The overall Windows XP boot screen design remained in use for Windows Server 2003 and Windows Vista, albeit with different branding and updated design of the animation elements. The latter also includes an alternate boot screen displayed by the boot loader, which can be enabled by disabling GUI boot and consists of a static aurora graphic with a "Starting Windows Vista..." label underneath.

Windows 7 and later

Windows 7 build 6469 replaces the alternate boot screen enabled by disabling GUI boot with the logo of the Windows 7 project, although the default boot animation remains unchanged. A new boot screen routine was introduced in later builds, which now runs in 1024×768 resolution at true color,[a] as well as allowed it to include localizable text. The new boot screen is also rendered cooperatively by both the boot loader and the kernel, which made it possible to display it when restoring Windows from hibernation as well. On regular boot, the first frame is drawn by the boot loader, while the rest of the animation is drawn by the kernel after it starts executing, which results in a slight delay before the animation starts. When restoring from hibernation or during a hybrid boot, the animation is drawn by the boot loader for the duration of the restoration process. In certain localizations, setup displays the boot screen as seen in the English version for 1-2 seconds before switching to the Windows Vista boot screen.

The Windows 7 team went through several design iterations for the actual boot screen animation. Early designs reused the Windows Vista aurora aesthetic with different animations, which included an indeterminate marquee animation of a spark in the Vista aurora graphic used by build 6519, or a recreation of the progress screen at login with the Aero waiting cursor and various status messages next to it used in build 6730. Yet another design is used by build 6780 with a blue, indeterminate progress bar on a black background and a "Starting Windows" caption above it. Build 6941 is the first known to include the final animation featuring four colored light orbs rotating and forming the Windows flag.

The underlying framework for drawing the boot screen was heavily changed during Windows 8 to support a wider range of display resolutions and a 32-bit color palette through the a new implementation called the Boot Graphics Library (BGFX for short), making use of the VESA BIOS Extensions version 2.0 specification; a large advancement away from the less-sufficient 640×480 display resolution and 4-bit color palette used in the legacy BOOTVID implementation first introduced in Windows 2000 (and later expanded upon in Windows XP).

The BGFX implementation allows the Windows kernel to display the boot animation at a wider range of resolutions, complemented by a finer level of user control over certain boot screen elements through the use of Boot Configuration Data (BCD) elements containing optimizations for Windows Phone 8/Windows 10 Mobile and embedded releases of Microsoft Windows. By default, the Windows logo is used by default for most releases, although certain versions of Windows utilize custom graphics or wordmarks, such as preview builds for Windows 8 and Windows 8.1, internal distributions of Windows such as CoreSystem-based releases or Azure Stack HCI; in certain cases (such as the Server Core editions included as part of Windows Server 2012), no boot logo is present.

On systems that support the BGRT specification, the OEM-supplied logo presented by the firmware can stay on-screen, even during the Windows boot process and during setup (the latter of which is handled by the Windows logon application), replacing the default logo; for legacy BIOS systems, the BGFX library falls back to 16:9 aspect ratio variants of the logo bitmap and Segoe Boot font face (intended for resolutions of 1366×768px), with resources designated under the N moniker. The resources for the boot screen are stored in BGFX library bootres.dll, both in the form of a bitmap stored inside a WIM file containing six variations of the boot logo for varying screen resolutions, which in turn is stored as a resource in the DLL file, and in multilingual user interface binaries (MUIs) for strings in the boot and system crash screens. Each frame of the spinner animation used in Windows 8 and later are stored as PUA characters within the Segoe Boot font face, used as part of the boot process.

The boot screen remained largely unchanged throughout the entire Windows 10 series, retaining the cyan Windows logo first introduced in Windows 8. The boot screen was later changed during the development of the original Windows 11 release to include the new operating system logo, followed by a spinner animation originally intended for Windows 10X being repurposed for subsequent releases of Windows 11 since the 2022 Update.

macOS

Mac OS X Server 1.x shows the boot stages of the Mach kernel inside of a window.

Mac OS X Developer Preview 1 through 10.1 show the Happy Mac icon with the NeXTSTEP wait cursor at the top left.

Mac OS X 10.2 through OS X 10.9 show the Apple logo with spinning lines on a white background.

Versions since 10.10 show the Apple logo with a progress bar on either a dark or a light background.

Notes

  1. The older Windows Vista boot screen is used if the system does not support the resolution or if the user decides to disable the newer boot screen by setting the BCD variable graphicsmodedisabled to yes.
  2. The new spinner animation can also be enabled on late builds of Windows 10 and early Windows 11 builds starting from build 19587.