EasyBCD

Last updated
EasyBCD
Original author(s) Mahmoud H. Al-Qudsi
Developer(s) NeoSmart Technologies
Initial releaseJuly 4, 2006;18 years ago (2006-07-04)
Stable release
2.4 / November 28, 2018;5 years ago (2018-11-28)
Written in C++ and C#
Operating system Windows XP, Windows Vista, Windows Server 2008, Windows 7, Windows 8, Windows PE, Windows 10 [1] and Windows 11
Platform .NET Framework 2.0 or .NET Framework 4.0
Size 1.83 MiB
Type Utility software
License Freemium
Website neosmart.net/EasyBCD/

EasyBCD is a program developed by NeoSmart Technologies to configure and tweak the Boot Configuration Data (BCD), a boot database first introduced in Windows Vista and used in all subsequent Windows releases. EasyBCD can be used to set up multi-boot environments for computers on which some versions of Windows, Linux, BSD and Mac OS X can be simultaneously installed; EasyBCD can also be used for adding entries to bootable tools and utilities, as well as modifying and controlling the behavior of the Windows boot menu. EasyBCD 2.3 introduced additional support for creating and managing entries for UEFI-based Windows entries in the boot menu. [2] As of June 20, 2011 with the release of EasyBCD 2.1, it is no longer free for use in commercial environments which require the purchase of a paid license, however it remains free for home and non-profit use without limitations. [3]

Contents

Supported operating systems

EasyBCD runs on Windows and modifies the Windows Boot Configuration Data (BCD) to add support for other operating systems. Windows NT, Windows 2000, and Windows XP are supported by handing off the control of boot to either NTLDR or the EasyBCD-specific EasyLDR, which bypasses NTLDR and boots directly into the OS. [4] MS-DOS, Windows 3.x and Windows 9x can be chainloaded via modified versions of IO.sys and the Windows 9x boot sector. Linux and BSD are loaded either by handing off control of the boot process to GRUB or LILO or by using EasyBCD's own NeoGrub module (which is based on GRUB4DOS). Mac OS X is loaded via the Darwin bootloader. Other operating systems are also supported by means of chainloading their specific loader environments. [1]

Features

Bootloader Configuration

EasyBCD has a number of bootloader-related features that can be used to repair and configure the bootloader. From the "Manage Bootloader" section of EasyBCD, it is possible to switch between the BOOTMGR bootloader (used since Windows Vista) and the NTLDR bootloader (used by legacy versions of Windows, from Windows NT to Windows XP) in the MBR from within Windows by simply clicking a button. EasyBCD also offers a feature to back up and restore the BCD (boot configuration data) configuration files for recovery and testing purposes. [1]

In the "Diagnostics Center," it is possible to reset a corrupt BCD storage and automatically create the necessary entries for the current operating system, as well as search for and replace missing/corrupt boot files. This latter feature can be taken advantage of to install the Windows Vista BCD bootloader. [5]

EasyBCD can be used to change the boot drive, rename or change the order of any entries in the bootloader, and modify existing entries to point to a different drive. [6]

Newer versions of EasyBCD also support creating bootable USB disks, by deploying BOOTMGR and the BCD onto a removable disk and performing the necessary actions to make the drive bootable, after which it can be loaded into EasyBCD to add and remove the various supported entry types in order to create bootable repair USB sticks. [7]

EasyBCD also supports changing the boot partition/drive that PC boots from, [8] changing the default boot entry, [9] re-ordering menu entries, [10] and modifying the timeout behavior of the boot menu. [11]

Windows

EasyBCD supports a number of different Windows entries, and can be used to install and configure the following:

Depending on the version of Windows being added in EasyBCD, certain other options may be available. These include enabling support for unsigned drivers on 64-bit Windows installations, booting into the various flavors of safe mode, limiting Windows to a certain amount/number of memory or CPU cores, verbose boot logging, and enabling/disabling of both PAE and DEP/NoExecute. [12]

As of version 2.0, EasyBCD uses a new method for booting into Windows NT/2000/XP that does not use NTLDR in order to avoid a two-level boot menu (the BCD boot menu followed by the NTLDR/BOOT.INI boot menu for cases where multiple legacy NT operating systems are installed). Instead, EasyBCD uses a boot-time helper developed by NeoSmart Technologies called EasyLDR, which replaces NTLDR and bypasses boot.ini entirely, directly loading the operating system in question without showing the user a second selection menu. [13]

Windows PE

Windows PE 2.0 through 5.1 are supported under a separate module in EasyBCD. EasyBCD can boot into two different Windows PE systems:

EasyBCD supports booting into WinPE 2.0+ WIM images stored on any local partition by providing the path to the WIM file. It automatically re-configures the BCD to add support for the WIM format. It can also boot into a Windows PE filesystem extracted to the root of a mounted drive letter.

Linux

EasyBCD can boot into Linux by one of two means:

The traditional chainloading method creates an image of the GRUB/LILO bootsector on the local disk and loads this image during boot-time in order to chainload the second bootloader which should already be configured to boot into Linux or BSD. [14] EasyBCD has profiles for and officially supports the chainloading of GRUB (Legacy), GRUB2, LILO, eLILO, and Wubi (for Ubuntu).

EasyBCD also ships with NeoGrub, a customized build of Grub for Dos, which can be configured by editing C:\NST\menu.lst with the standard Legacy GRUB syntax for directly booting into the needed Linux or BSD partitions, or chainloading another bootloader to load the OS in question. [15]

BSD

As of version 2.1.1, EasyBCD contains a module specifically tailored for booting into BSD-based operating systems which was developed in cooperation with the PC-BSD team. [16] This module works in tandem with the BTX bootloader to support booting into BSD systems in both BIOS (MBR) and UEFI (GPT) environments, and the PC-BSD setup wizard has been developed with this capability and module of EasyBCD in mind. [17]

Mac OS X

EasyBCD can chainload the Mac OS X Darwin bootloader in order to boot into OS X on another partition or physical disk. It doesn't require that Darwin be installed on the bootsector of the OS X partition. [18] This facilitates multi-boot installation in OSX86 setups, and can currently be used with either MBR or EFI configurations.

Removable devices

In conjunction with EasyBCD's ability to create bootable USB drives, [7] it also has the option of creating portable entries that can be used on the normal PC bootloader or, more practically, on bootable external media.

EasyBCD can create entries that boot into hard disk images (both VHD and raw disk image formats), ISO images, WinPE 2.0+ WIM files, floppy disk images, and BIOS extenders.

See also

Related Research Articles

<span class="mw-page-title-main">Disk partitioning</span> Creation of separate accessible storage areas on a secondary computer storage device

Disk partitioning or disk slicing is the creation of one or more regions on secondary storage, so that each region can be managed separately. These regions are called partitions. It is typically the first step of preparing a newly installed disk after a partitioning scheme is chosen for the new disk before any file system is created. The disk stores the information about the partitions' locations and sizes in an area known as the partition table that the operating system reads before any other part of the disk. Each partition then appears to the operating system as a distinct "logical" disk that uses part of the actual disk. System administrators use a program called a partition editor to create, resize, delete, and manipulate the partitions. Partitioning allows the use of different filesystems to be installed for different kinds of files. Separating user data from system data can prevent the system partition from becoming full and rendering the system unusable. Partitioning can also make backing up easier. A disadvantage is that it can be difficult to properly size partitions, resulting in having one partition with too much free space and another nearly totally allocated.

<span class="mw-page-title-main">GNU GRUB</span> Boot loader package

GNU GRUB is a boot loader package from the GNU Project. GRUB is the reference implementation of the Free Software Foundation's Multiboot Specification, which provides a user the choice to boot one of multiple operating systems installed on a computer or select a specific kernel configuration available on a particular operating system's partitions.

NTLDR is the boot loader for all releases of Windows NT operating system from 1993 with the release of Windows NT 3.1 up until Windows XP and Windows Server 2003. From Windows Vista onwards it was replaced by the BOOTMGR bootloader. NTLDR is typically run from the primary storage device, but it can also run from portable storage devices such as a CD-ROM, USB flash drive, or floppy disk. NTLDR can also load a non NT-based operating system given the appropriate boot sector in a file.

<span class="mw-page-title-main">Live CD</span> Complete, bootable computer installation that runs directly from a CD-ROM

A live CD is a complete bootable computer installation including operating system which runs directly from a CD-ROM or similar storage device into a computer's memory, rather than loading from a hard disk drive. A live CD allows users to run an operating system for any purpose without installing it or making any changes to the computer's configuration. Live CDs can run on a computer without secondary storage, such as a hard disk drive, or with a corrupted hard disk drive or file system, allowing data recovery.

<span class="mw-page-title-main">SYSLINUX</span> Bootloader suite for Linux operating system

The Syslinux Project is a suite of five different boot loaders for starting up Linux distros on computers. It was primarily developed by H. Peter Anvin.

<span class="mw-page-title-main">Multi-booting</span> Act of installing multiple operating systems on a single computer

Multi-booting is the act of installing multiple operating systems on a single computer, and being able to choose which one to boot. The term dual-booting refers to the common configuration of specifically two operating systems. Multi-booting may require a custom boot loader.

<span class="mw-page-title-main">Bootloader</span> Software responsible for starting the Computer and Load other software to the CPU memory

A bootloader, also spelled as boot loader or called bootstrap loader, is a computer program that is responsible for booting a computer. If it also provides an interactive menu with multiple boot choices then it's often called a boot manager.

<span class="mw-page-title-main">UEFI</span> Operating system and firmware specification

Unified Extensible Firmware Interface is a specification that defines the architecture of the platform firmware used for booting the computer hardware and its interface for interaction with the operating system. Examples of firmware that implement the specification are AMI Aptio, Phoenix SecureCore, TianoCore EDK II, InsydeH2O. UEFI replaces the BIOS which was present in the boot ROM of all personal computers that are IBM PC compatible, although it can provide backwards compatibility with the BIOS using CSM booting. Intel developed the original Extensible Firmware Interface (EFI) specification. Some of the EFI's practices and data formats mirror those of Microsoft Windows. In 2005, UEFI deprecated EFI 1.10.

HFS Plus or HFS+ is a journaling file system developed by Apple Inc. It replaced the Hierarchical File System (HFS) as the primary file system of Apple computers with the 1998 release of Mac OS 8.1. HFS+ continued as the primary Mac OS X file system until it was itself replaced with the Apple File System (APFS), released with macOS High Sierra in 2017. HFS+ is also one of the formats supported by the iPod digital music player.

<span class="mw-page-title-main">GUID Partition Table</span> Computer disk partitioning standard

The GUID Partition Table (GPT) is a standard for the layout of partition tables of a physical computer storage device, such as a hard disk drive or solid-state drive, using universally unique identifiers (UUIDs), which are also known as globally unique identifiers (GUIDs). Forming a part of the Unified Extensible Firmware Interface (UEFI) standard, it is nevertheless also used for some BIOSs, because of the limitations of master boot record (MBR) partition tables, which use 32 bits for logical block addressing (LBA) of traditional 512-byte disk sectors.

loadlin is a Linux boot loader that runs under 16-bit real-mode DOS. It allows the Linux system to load and replace the running DOS without altering existing DOS system files.

<span class="mw-page-title-main">EFI system partition</span> Partition used by Unified Extensible Firmware Interface

The EFIsystem partition or ESP is a partition on a data storage device that is used by computers that have the Unified Extensible Firmware Interface (UEFI). When a computer is booted, UEFI firmware loads files stored on the ESP to start operating systems and various utilities.

<span class="mw-page-title-main">Windows Boot Manager</span> Boot process used in modern Windows NT-based products

The Windows Boot Manager (BOOTMGR) is the bootloader provided by Microsoft for Windows NT versions starting with Windows Vista and Windows Server 2008. It is the first program launched by the BIOS or UEFI of the computer and is responsible for loading the rest of Windows. It replaced the NTLDR present in older versions of Windows.

This is a technical feature comparison of different disk encryption software.

The Linux booting process involves multiple stages and is in many ways similar to the BSD and other Unix-style boot processes, from which it derives. Although the Linux booting process depends very much on the computer architecture, those architectures share similar stages and software components, including system startup, bootloader execution, loading and startup of a Linux kernel image, and execution of various startup scripts and daemons. Those are grouped into 4 steps: system startup, bootloader stage, kernel stage, and init process. When a Linux system is powered up or reset, its processor will execute a specific firmware/program for system initialization, such as the power-on self-test, invoking the reset vector to start a program at a known address in flash/ROM, then load the bootloader into RAM for later execution. In IBM PC–compatible personal computers (PCs), this firmware/program is either a BIOS or a UEFI monitor, and is stored in the mainboard. In embedded Linux systems, this firmware/program is called boot ROM. After being loaded into RAM, the bootloader will execute to load the second-stage bootloader. The second-stage bootloader will load the kernel image into memory, decompress and initialize it, and then pass control to this kernel image. The second-stage bootloader also performs several operation on the system such as system hardware check, mounting the root device, loading the necessary kernel modules, etc. Finally, the first user-space process starts, and other high-level system initializations are performed.

Windows Deployment Services (WDS) is a deprecated component of the Windows Server operating system that enables centralized, network-based deployment of operating systems to bare-metal computers. It is the successor to Remote Installation Services (RIS). WDS officially supports remote deployment of Windows Vista and later, as well as Windows Server 2008 and later. However, because WDS uses disk imaging, in particular the Windows Imaging Format (WIM), it could deploy virtually any operating system. This is in contrast with its predecessor, RIS, which was a method of automating the installation process.

A System Deployment Image is a file format used primarily with Microsoft products to contain an arbitrary disk image, including boot sector information.

A master boot record (MBR) is a type of boot sector in the first block of partitioned computer mass storage devices like fixed disks or removable drives intended for use with IBM PC-compatible systems and beyond. The concept of MBRs was publicly introduced in 1983 with PC DOS 2.0.

<span class="mw-page-title-main">SeaBIOS</span> Open-source implementation of x86 BIOS

SeaBIOS is an open-source implementation of an x86 BIOS, serving as a freely available firmware for x86 systems. Aiming for compatibility, it supports standard BIOS features and calling interfaces that are implemented by a typical proprietary x86 BIOS. SeaBIOS can either run on bare hardware as a coreboot payload, or can be used directly in emulators such as QEMU and Bochs.

A boot flag is a 1-byte value in a non-extended partition record, within a master boot record. It appears at the beginning of a partition record, as the value 0x80. A value of 0x00 indicates the partition does not have the boot flag set. Any other value is invalid.

References

  1. 1 2 3 Al-Qudsi, Mahmoud (2008). "Supported Operating Systems". neosmart.net. NeoSmart Technologies. Host Operating Systems.
  2. Al-Qudsi, Mahmoud. "EasyBCD 2.3: Windows 10, EFI, and much, much more". NeoSmart Technologies. NeoSmart Technologies. Retrieved 2015-10-20.
  3. NeoSmart Technologies (2011). "EasyBCD 2.1 and Some Big Changes". neosmart.net. Retrieved 2011-10-31.
  4. Mahmoud Al-Qudsi (2013). "EasyBCD and EasyLDR". neosmart.net. Retrieved 2015-10-20.
  5. neosmart (2007). "How to install the vista bootloader on a windows xp machine". neosmart.net. Retrieved 2009-07-29.
  6. Mahmoud Al-Qudsi (2007). "Configuring the Bootloader". neosmart.net. Retrieved 2009-07-29.
  7. 1 2 Mahmoud Al-Qudsi (2011). "Creating a Bootable USB Drive". neosmart.net. Retrieved 2011-10-31.
  8. Mahmoud Al-Qudsi (2011). "Changing the Boot Partition". neosmart.net. Retrieved 2011-10-31.
  9. Mahmoud Al-Qudsi (2011). "Changing the Default Entry". neosmart.net. Retrieved 2011-10-31.
  10. Mahmoud Al-Qudsi (2011). "Reordering Menu Entries". neosmart.net. Retrieved 2011-10-31.
  11. Mahmoud Al-Qudsi (2011). "Setting the Menu Timeout". neosmart.net. Retrieved 2011-10-31.
  12. Mahmoud Al-Qudsi (2011). "Advanced Entry Settings". neosmart.net. Retrieved 2011-10-31.
  13. various authors (see neosmart wiki page history) (2011). "Windows XP". neosmart.net. Retrieved 2011-10-31.
  14. Mahmoud Al-Qudsi (2009). "Linux". neosmart.net. Retrieved 2009-07-29.
  15. various authors (see neosmart wiki page history) (2009). "NeoGrub". neosmart.net. Retrieved 2009-07-29.
  16. Mahmoud Al-Qudsi (2011). "EasyBCD 2.1.1 and Digital Signatures for All!". neosmart.net. Retrieved 2011-10-31.
  17. various authors (mailing list archive) (2011). "Some experiments with BTX". gmane. Retrieved 2011-10-31.
  18. Mahmoud Al-Qudsi (2008). "Mac OS X". neosmart.net. Retrieved 2009-07-29.