# 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. 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.

## 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. 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.

## 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.
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.
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.
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.
EasyBCD also supports changing the boot partition/drive that PC boots from, changing the default boot entry, re-ordering menu entries, and modifying the timeout behavior of the boot menu.

### Windows

EasyBCD supports a number of different Windows entries, and can be used to install and configure the following:
* MS-DOS 6.x
* Windows 95-ME
* Windows 2000, Windows XP and Windows Server 2003
* Windows Vista and Windows Server 2008
* Windows 7
* Windows 8 and Windows Server 2012
* Windows 10
* Windows 11
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.
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.

### 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:
* Compressed Windows PE WIM images
* Windows PE partitions
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:
* Chainloading GRUB/GRUB2/LILO/etc.
* NeoGrub
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. 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.

### 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. 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.

### 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. 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, 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.