This post explains how to manage booting on Windows OS.
Windows client startup architecture
To understand well how to fix boot errors, you need to have a clear understanding of these concepts:
- BOOTMGR
- Boot Sector
- Boot Codes
- Boot Configuration Data (BCD)
boot.ini was only used on Windows XP and WS 2003. Later versions (Windows 7 and above) use a folder where BCD is stored.
You can get read about how Windows startup works on this external link.
Using Windows Recovery
Some tools require to run Windows Recovery (Windows RE) mode.
You can find detailed information about how to run it on this external link.
Tools to manage booting on Windows
Tools to fix boot errors on Windows:
- Bootrec
- Bootcfg
- Bcdboot
- Bcdedit
Bootrec
Bootrec comes from Boot Recovery.
It is a Windows command-line tool that can only be run from Windows Recovery (Windows RE).
There are different parameters with a different purpose:
- /fixboot
- /fixmbr
- /scanos
- /rebuildbcd
bootrec /fixboot
It writes a new boot sector to the system partition.
It can be used to fix a malfunctioning boot sector.
bootrec /fixmbr
Fixes boot codes or MBR.
Correct the MBR. It does not overwrite the existing partition table
bootrec /scanos
IT scans for Windows and displays compatible Windows, including those not listed in the Boot Configuration Data (BCD) store.
I read on some sources that it may repair the BCD, but it makes no sense to me.
bootrec /scanos
It scans for Windows and displays compatible Windows and lets you choose to add them to the BCD.
It can be used to rebuild BCD.
Bootcfg
Bootcfg is a Windows command-line tool.
It modifies the boot.ini file.
Remember that boot.ini was only used on Windows XP and WS 2003. Later versions (Windows 7 and above) use a folder where BCD is stored.
Bcdboot
Bcdboot is a Windows command-line tool.
It is used to create and repair the boot environment on a system partition.
Bcdedit
Bcdedit is a Windows command-line tool.
Bcdedit.exe is used to create new stores, modify existing stores, and add boot menu options.
It copies the required boot environment files from the Windows directory to the system partition, and creates a new boot sector to load Windows.
Better use msconfig than BCEdit. BCEdit edits the BCD.