Windows 11

Startup and Repair Troubleshooting for windows 10 and windows 11

Startup and Repair Troubleshooting

Nothing is more annoying than a PC that won’t start to the desktop, but this is a fate that can sometimes befall a PC. The common solution is to reinstall Windows from scratch or to reimage the PC. I always argue these aren’t good solutions. If you reimage the PC from an image created using software from a company such as Symantec or Acronis, which have always been popular among IT Pros for the creation of image backups, then you will have to update every installed application that requires it, reinstall any new applications that have been installed since the image snapshot was taken, and then run Windows Update for possibly a long period to get the operating system up to date.
If you reimage Windows from a Reset image created by the operating system itself, then you will be up to date, well up until 30 days before anyway, on Windows Updates, but you’ll have to reinstall and configure every single application on the PC.
And yes, I know that both Acronis and Symantec offerings allow you to create rolling backup images, but there’s always a risk with these that any errors or problems could have crept into those as well.
For these reasons, I always suggest trying to repair the Windows installation first, partly because it’s often the best solution, but mostly because on most occasions it really isn’t that hard to do.

Quickly Repairing a Nonbooting PC

There are a few things you can do to quickly repair a nonbootable PC, assuming of course that it’s a problem with the software and not a hardware issue, which I’ll come to in a moment. So what are my top tips for repairing Windows Startup?

Check Cables and Plugs

Clearly, the first thing to check if a PC won’t start is all the cables and plugs. I know I’m preaching to the converted here, but you need to remember the people you will be supporting, most of whom will not be technically minded at all.
It was Douglas Adams, author of The Hitchhiker’s Guide to the Galaxy, that said, “The problem people face in trying to make something completely foolproof, is that they frequently underestimate the ingenuity of complete fools.” So asking a user to check the cable to the monitor (unless it’s a laptop or all-in-one), the power cable, and even if the socket is switched on or if there’s a power cut (oh yes, this does happen!) is always wise.

Hardware Failure

There’s always the possibility with a nonbootable PC that the problem resides in the hardware. If it’s a laptop or a tablet, you can plug it in to check if the battery is still holding a charge, as batteries will eventually die if they’ve been used for long enough and charged enough times.
For a desktop PC, the most common culprit is the power supply (PSU). These work similar to the engine in an automobile in that, as they get older, they don’t deliver as much power as they used to. A vehicle that delivered 250 horsepower when it was new might only deliver half of that after 15 years and even less when it gets to the end of its useful life.

Tip:For my own PCs, I always purchase power supplies that are larger than I need. This might seem counterintuitive for a guy who wrote a climate change and IT book, but a more powerful PSU will not use more power than a less powerful PSU in general usage, but there’s far more headroom for power delivery as it gets older, helping to reduce cost for replacements and ewaste when the PSU eventually dies.

Fans can also cause problems for both desktop PCs and especially for laptops, where they are significantly more difficult to replace. All PCs will include temperature sensors on the hardware. If the processor or another component overheats, the firmware will automatically cut the power, allowing the PC to cool. Power will not be restored until after the component has cooled to an appropriate level.

Startup Repair

If Windows won’t boot to the desktop, the first thing to try is Startup Repair. This is a system that will run automatically if the operating system fails to start two or three times, but you can force it to run by starting the PC and forcing shutdown when the startup logo appears, usually the Windows logo, but many OEMs place their own logo there instead. Do this twice and Startup Repair will then run.
If you are in the Recovery Console, you can run Startup Repair manually from Troubleshooting ➤ Advanced Options ➤ Start-up Repair. Startup Repair works by resetting Windows startup components to their default state, in the same way that the built-in Troubleshooters do for other system components. If it can’t fix the problem though, it will tell you (see Figure 20-1).

Figure 20-1. Startup Repair can attempt to fix straightforward problems

Using a USB Recovery Drive

Back in Chapter 3, I detailed how you can create a USB Recovery Drive for your PC, but sometimes PCs boot so quickly that actually starting the PC from one can be a challenge. If you need to use a USB Recovery Drive, perhaps because you suspect some of the boot files in Windows are corrupt, but you are in the Recovery Console already, click Use a device and a list of any available USB Flash Drives plugged into the PC (see Figure 20-2). Make sure these are plugged into the body of the PC itself and not an external module such as a desktop dock for which drivers will need to be loaded before USB devices can be seen.

Figure 20-2. You can choose a device to recover your PC from

Tip:If you do not have a USB Recovery Drive or installation media, you can download a Windows 10 ISO file, which you can burn to DVD, or create USB installation media at by installing the Windows 11 Media Creation Tool on another PC.

System Restore

It’s almost impossible for a PC to suddenly start misbehaving unless something has changed, and often this can be the installation of a driver, a Windows Update, or an application. Should this happen, you can run System Restore from the Recovery Console to roll back the most recent changes.
Tip:If a Windows Update has caused problems, when you boot to the desktop again remember to open Windows Update in Settings and pause updates for a while, so that the problems can be rectified and don’t automatically repeat themselves.
Select Troubleshoot and then Advanced Options to find System Restore, which will search for any restore points on the PC (see Figure 20-3).

Figure 20-3. System Restore can roll back changes to a PC

Tip:Additionally to System Restore, there is an option in the Recovery Console called Uninstall Updates. This is useful if an annual Feature Update has been installed and is causing problems, but while this will allow you to remove Feature and Quality updates, it will not remove Security, Stability, and many driver updates in the way System Restore will.

Safe Mode

The venerable old Safe Mode still exists in Windows, but is now accessible from the Recovery Console. Click Troubleshoot and then Advanced Options and Start-up Settings, and you will be prompted to restart the PC. The traditional boot menu that you might remember from the days prior to Windows Vista will appear in which you can start the PC into Safe Mode (see Figure 20-4).

Figure 20-4. Safe Mode can be useful for rolling back unwanted changes

Safe Mode is a reduced functionality mode in Windows in which only essential Microsoft services and drivers are loaded. Anything from third parties such as display drivers, startup applications, and third-party services and DLLs won’t be loaded.
There are also fewer features and tools available in Safe Mode. In Figure 20-5, you can see that only a subset of the Control Panel items are available, and although everything in Settings looks like it’s there, in reality if you try and use something that isn’t loaded, Settings will just exit.

Figure 20-5. Safe Mode still exists in Windows

All of this makes Safe Mode useful for rolling back changes that would otherwise be blocked. This can happen if you’re trying to remove the display driver or a third-party application that won’t install properly because some of the services it installed are still running.

Repairing the Windows Boot Partitions

Windows has a reasonably complex startup partition structure in no small part because on older BIOS systems it was all too easy for malware to infect the single boot partition and either wipe it completely (some even wiped the BIOS itself) or inject itself into the boot partition, making it significantly more difficult to remove.
If you open the Windows disk and partitioning tool, you will see that on your installation disk (Disk 0) you have a 100MB EFI boot partition and then your Windows partition, with a Recovery partition at the end which is where the Recovery Console tools reside (see Figure 20-6).

Figure 20-6. Windows looks like it has one boot partition and one recovery partition

In truth, what Windows is doing is deliberately hiding the important stuff to make sure malware can’t access and infect it. Booting the same PC from a portable Linux drive shows a very different story. In Figure 20-7, you will see there are two boot partitions ahead of the Windows partition, the EFI system partition that Windows is happy to show you and a hidden Microsoft Reserved Partition of about 16MB in size.

Figure 20-7. Booting from Linux shows the true extent of the Windows boot system

The main EFI security tools are hidden in this partition, and it’s from here that Microsoft aims to make the Windows boot system more secure and inaccessible to malware and hackers.
Note The sizes and locations of the Windows boot partitions might vary from one PC to another, such as a PC upgraded from Windows 10 or even Windows 8.1 to Windows 11. The partitions could be in different positions on the disk or of different sizes.

Repairing the Boot Configuration Database

The main boot files in Windows are called the Boot Configuration Database (BCD). Later in this chapter, we’ll look at how you can manually configure and repair errors in the database, but there is a quick way to repair it.
Booting into the Recovery Console either on a restart or from a USB Recovery Drive, note this can also be run from a Command Line window on the desktop, you use the following commands:
1. Diskpart to open the Windows Disk Partitioning and management tool.
2. List disk to list the disks in the PC. Choose the disk with Windows installed, usually Disk 0 (zero) and note its number.
3. Select disk=0 where the number represents your operating system disk.
4. List volume will display a list of all the partitions on the disk. You are looking for the FAT32 formatted partition, so note its number (see Figure 20-8).

Figure 20-8. You are looking for the FAT32 formatted partition

5. Select volume=3 where the number you choose is the FAT32 formatted partition.
6. Assign letter=F to assign it a driver letter so you can make changes on it.
7. Exit to exit the Diskpart utility.
8. F: to switch to the FAT32 drive.
9. CD .\EFI\Microsoft\Boot\ to access the boot folder. Note on your PC this could be called \Boot\ or \ESD\Windows\EFI\ Microsoft\Boot\.
10. Ren BCD BCD.old to rename the Boot Configuration Database while not deleting it, just in case you need it again.
11. BootRec /RebuildBCD to force Windows to build a new version of the Boot Configuration Database. You will be prompted to add the discovered Windows installation; press Y at this point.
12. Lastly, repeat the first few steps, but instead of assigning a drive letter to the FAT32 partition, type Remove letter=F to make certain it does not appear in File Explorer when you restart the PC.
We will look in more detail at the Boot Configuration Database and BootRec and other tools later in this chapter, but for now there are also a few useful commands you can use to help repair the boot system from the Command Line:

  • Bootrec /FixMBR creates a new Master Boot Record for the disk and should be used if the MBR file is corrupt.
  • Bootrec /FixBoot writes a new boot sector to the disk and should be used if the disk boot sector is corrupt.
  • Bootrec /ScanOS can be used if your Windows 10 installation is not found. This command searches for operating system installations and reports what it finds.
  • BcdBoot C:\Windows /s F: /f ALL is used if the Bootrec / RebuildBCD command does not repair your boot files. This command creates completely new boot files by copying the necessary files from your Windows installation (which should be on C: at this point, but you can check in Diskpart by viewing the disks and volumes as I detailed earlier). The /s switch designates the boot drive and the letter you gave it, in this case F:, and the /f switch specifies the firmware type to create a boot system for. This should be UEFI, but as it’s a legacy tool, it also supports BIOS and ALL.

Recreating or Moving the Boot Partition

So let’s now look at the most extreme of circumstances. You have a PC that is absolutely crucial in its role, but it won’t boot. Configuration is complex, so you would prefer not to have to reinstall Windows; what do you do?
In a less critical example, you have a PC with more than one disk installed, and you have performed a fresh installation of Windows 11. Unfortunately, an error has been made, and Windows 11 has been installed on Disk 1 on the PC, and the installer has placed all the boot and system partitions on Disk 0. Disk 1 however is where you keep all your files, and you now find that your system image backup software won’t work without also including the partition with all your files on it.
This is clearly a less than favorable circumstance as you know restoring that image backup will also restore your old versions of your files. So in this circumstance, what the hell can you do? Well, you can move the boot partition from Disk 0 to Disk 1 and still have the PC boot, but the process is slightly complex, so I’ll talk you through it.

Caution:Moving the boot partition will completely break the functionality of the Windows Reset backup system, the Recovery Console, and the USB Recovery Drive creation tool, so be certain you have created a USB Recovery Drive and a backup before proceeding.

Step 1a: Create a New Boot Partition (Command Prompt)

The first step involves creating a new partition on which the boot system can reside. You can do this from the Disk Management Console on the desktop, but I will show you how to action this from the Command Line when you start the PC from a USB Recovery Drive or Windows 11 installation media, as it’s most likely that you’re doing this because you can’t start the PC. I will include side instructions though on how to achieve this from the desktop. At the Command Prompt (Admin) (accessed using the method I described in the “Manually Repairing Windows Startup” section), type the following commands:
1. Diskpart, to enter the Disk Partitioning and Management tool.
2. List Disk, and make a note of the disk on which Windows 11 is installed.
3. Select Disk=0, where the number is the number of the disk on which Windows 10 resides.
4. List Volume, to list all the volumes and partitions on the disk.
5. Select Volume=4, where the number represents the final or largest partition on the disk. I say largest because sometimes a UEFI install can place hidden partitions at the end of the disk.
6. Shrink desired=500, to shrink the partition by 500MB. This will create blank space at the end of the partition.
7. Create Partition Primary Size=500, to create a new partition in the available space.
8. List Volume, to check the number for the newly created partition; it will be listed as having a RAW filesystem.
9. Select Volume=5, where the number represents the number of the new partition.
10. Format FS=NTFS LABEL=“Boot” Quick, to format the disk.
11. Assign Letter=F, to assign a drive letter to the partition temporarily. This should be a letter that is not currently showing as being in use in List Volume for any installed disk.
12. Exit, to leave the Diskpart tool.

Step 1b: Create a New Boot Partition (Disk Management Console)

If you can get to the desktop, perhaps because the boot folders were placed on the wrong disk during the installation of Windows 10, follow these instructions:
1. Press Windows key + X to open the Administration menu.
2. Click Disk Management to open the Disk Management Console.
You can also open this by searching for diskmgmt.msc in the Start Menu.
3. Right-click the last or largest partition on the disk on which Windows 11 is installed (I say largest because sometimes, as in the example in Figure 20-9, the Windows installer places boot partitions at the end of the disk, not giving us space to create a new partition).

Figure 20-9. You need to create space for a new boot partition

4. Click Shrink Volume in the menu that appears.
5. In the dialog that appears, set the Enter the amount of space to shrink in MB figure to 500 (see Figure 20-10), and click Shrink.

Figure 20-10. You need a 500MB space at the end of the disk

6. In the blank partition space that is created, right-click and select Create Simple Volume from the menu that appears (see Figure 20-11).

Figure 20-11. Create a new partition in the space you have freed

7. In the dialog that appears, click through the options, assigning the maximum available amount of space, making sure it was a drive letter assigned (see Figure 20-12) and that it is formatted as NTFS with the volume name “Boot.”

Figure 20-12. You need to temporarily assign a drive letter to the new partition

Step 2: Create the New Boot Files

Once your new boot partition has been created, either from the desktop or the Command Prompt, you need to move the boot files across to it. To do this, you must be at the Command Prompt. This can be done either from the recovery environment or from the desktop. Should you be doing this from the desktop, run the Command Prompt as an Administrator; the option for this is in the Win + X menu. Next, type the following commands:
1. BcdBoot C:\Windows /s E: /f UEFI, used if the Bootrec / RebuildBCD command does not repair your boot files. This command creates completely new boot files by coping the necessary files from your Windows installation (which should be on C: at this point, but you can check in Diskpart by viewing the disks and volumes as I detailed earlier). The /s switch designates the boot drive and the letter you gave it, in this case E:, and the /f switch specifies the firmware type to create a boot system for. This should be UEFI. If you are not sure what partitions Windows 11 is installed on, and which one you have created for your new boot system, use the List Disk and List Volume commands I detailed earlier.
2. DiskPart, to enter the Disk Partitioning tool.
3. List Disk, and make a note of the disk on which Windows 11 is installed.
4. Select Disk=0, where the number is the number of the disk on which your new boot partition resides.
5. List Volume, to list all the volumes and partitions on the disk.
6. Select Volume=5, where the number represents the partition you created for your new boot system.
7. Active, to mark the partition as active.
8. Remove Letter=E, to remove the drive letter from the partition. Your new boot system has now been created. When you restart the PC, your old boot partitions will no longer be used. Bear in mind the caution earlier, however, that performing this task will completely break some parts of the recovery environment, the Reset backup image, and the USB Recovery Drive creator utility. If these are important to you, perhaps a better alternative is to physically unplug all but the hard disk on which you want Windows 11 installed and perform a clean install, wiping out all your existing partitions on the Windows drive first. I will show you how to do this in Chapter 22.

Manually Editing the Boot Configuration Database

I mentioned earlier in this chapter that the boot system for Windows is stored in something called the Boot Configuration Database (BCD). This is editable in Windows 11, but why might you want to do so? There are circumstances such as when you have a dual-boot configuration, which I’ll talk about later in the chapter, or when something in the database has changed or become corrupt.
To edit the database, open the Command Line or Windows Terminal as an Administrator and type the command BCDEdit. This will display the current configuration in the database (see Figure 20-13).

Figure 20-13. You can display the contents of the Boot Configuration Database

Each entry in the database begins with its Identifier. This could be a technical name, a text string, or even a hexadecimal GUID (General Unique Identifier). These come in the format {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}.
There are different commands you can use with BCDEdit to manipulate the database contents:

  • bcdedit [/store filename] /bootdebug [id] { ON | OFF } is used to enable or disable the debugger for the specified boot entry. The debug log is stored in the file specified in the command. This might be used in the format bcdedit /store C:\BootDebugLog /bootdebug {current} ON.
  • bcdedit [/store filename] /bootsequence id […] [ /addfirst | / addlast | /remove ] specifies the boot sequence for a one-time boot. This might be used in the format bcdedit /bootsequence { e397815a-15a9-11e5-9622-fc025c6ab93c } {current} {ntldr}.
  • bcdedit [/store filename] /copy id /d description creates a copy of the specified boot entry. This might be used in the format bcdedit /copy { e397815a-15a9-11e5-9622-fc025c6ab93c } /d “Copy of Windows 11”.
  • bcdedit [/store filename] /create [id] /d description [/ application apptype | /inherit [apptype] | /inherit DEVICE | /device] creates a new boot entry with the specified ID. The supported application types are BOOTSECTOR, OSLOADER, and RESUME, and the supported inherit types are BOOTMGR, BOOTSECTOR, FWBOOTMGR, MEMDIAG, NTLDR, ORLOADER, and RESUME. This might be used in the format bcdedit /create {ntldr} /d “Compatibility OS”.
  • bcdedit [/store filename] /debug [id] { ON | OFF } enables or disables the kernel debugger for the specified boot entry. This might be used in the format bcdedit /debug ON.
  • bcdedit [/store filename] /default id sets the default boot entry for the PC. This might be used in the format bcdedit /default { e397815a-15a9-11e5-9622-fc025c6ab93c }.
  • bcdedit [/store filename] /delete id [/f] [/cleanup | /nocleanup] deletes the specified boot entry and optionally cleans it from the display order. This might be used in the format bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /cleanup.
  • bcdedit [/store filename] /deletevalue [id] datatype deletes an element or value from a boot entry. This might be used in the format bcdedit /deletevalue {bootmgr} bootsequence.
  • bcdedit [/store filename] /displayorder id […] [ /addfirst | /addlast | /remove ] sets the boot manager’s display order. This might be used in the format bcdedit /displayorder { e397815a-15a9-11e5-9622- fc025c6ab93c } /addlast.
  • bcdedit [/store filename] /enum [type | id] [/v] lists all the boot entries in the specified BCD store. This can be used with the enum types ACTIVE, ALL, BOOTAPP, BOOTMGR, FIRMWARE, INHERIT, OSLOADER, and RESUME. It may be used in the format bcdedit /enum OSLOADER.
  • bcdedit /export filename creates a backup copy of the BCD store to the specified file. It might be used in the format bcdedit /export “C:\BCD Backup”.
  • bcdedit /import [/clean] filename imports the contents of an exported BCD backup. It might be used in the same format as the export command. The /clean switch is used only on UEFI systems, and it forces the firmware to delete all its existing NVRAM boot entries that are used with Secure Boot.
  • bcdedit [/store filename] /set [id] datatype value [ /addfirst | / addlast | /remove ] creates or modifies an element in a boot entry. It might be used in the format bcdedit /set { e397815a-15a9-11e5-9622- fc025c6ab93c } path \windows\system32\winload.exe.
  • bcdedit /sysstore partition specifies the partition used for the BCD store. This switch is used only on UEFI systems and might be used in the format bcdedit /sysstore C:.
  • bcdedit [/store filename] /timeout timeout specifies how long the boot loader should wait at the OS loader menu before selecting the default entry. It might be used in the format bcdedit /timeout 30, where the number is a representation of seconds.

You will have seen that each BCDEdit command is used with data fields such as ID.

How BCDEdit Is Used in Practice

While you can edit and manipulate the contents of the Boot Configuration Database, it might be unclear as to how you might want to do so in the real world. Let’s step through some examples then of what you might want to use the BCDEdit command for:
1. To change the default operating system, the one that appears first in the OS choices list and that will load automatically if no option is selected there, use the command BCDEdit /default {id}.
2. If an operating system has the incorrect disk or partition associated with it, this can be rectified with the command BCDEdit /set {id} device partition=X:, where X: represents the disk or partition on which the operating system is installed. You must then also use the command BCDEdit /set {id} osdevice partition=X:.
3. To manually add a legacy operating system that isn’t appearing in the list, use these commands with the new custom ID {legacy}:
a. BCDEdit /create {legacy} /d “Legacy OS Name”
b. BCDEdit /set {legacy} device partition=D: or the letter of the partition where the legacy OS is installed
c. BCDEdit /set {legacy} path /ntldr
d. BCDEdit /displayorder {legacy} /addlast
4. If you are adding a Linux installation to the boot menu, follow these instructions:
a. Boot into Linux and launch a Terminal session with root privileges.
b. Find which partition Linux is installed on with the command fdisk -l (lowercase “L”). The Linux installation will be on a partition labelled as / dev/sda1 or /dev/hda1.
c. Install a GRUB (Grand Unified Boot Loader) boot manager on that partition with the command grub-install /dev/sda1.
d. Copy the Linux boot sector with the command dd if=/dev/sda1 of /tmp/ linux.bin bs=512 count=1.
e. Copy the file linux.bin to a USB Flash Drive as a backup.
f. Install Windows 11 on your PC.
g. Press Win + X to open the Administration menu and run Command Prompt (Admin) or Windows Terminal (Admin).
h. Type diskpart to enter the disk management utility.
i. Type select disk=0, which is more than likely where your boot partition is located.
j. Type list volume and look for the active or System partition; see Figure 20-14.

Figure 20-14. You are looking for the “System” partition on the disk

k. You need to temporarily assign a drive letter to the System partition. Type assign letter=n and use the next available drive letter.
l. Copy your linux.bin backup file from your USB Flash Drive to the root (active) partition.
m. Type remove letter=n to remove the drive letter.
n. Create a GRUB entry with the command BCDEdit /create /d “GRUB” /application BOOTSECTOR. This will return a unique ID: make a note of it. For the remainder of this example, I will call it {linuxid}.
o. Type BCDEdit /set {linuxid} device boot.
p. Type BCDEdit /set {linuxid} PATH /linux.bin.
q. Type BCDEdit /displayorder {linuxid} /addlast.

Installing and Managing Dual-Boot Systems

All this talk of Linux is making me hungry, well not really, but it’s a good segue into the subject of dual-boot PCs. There are many reasons for people to want a dual-boot PC, such as them being a developer that wants the tools and scripting abilities of a Linux installation to use as part of their application development work.
It could also be that some of the work you do is extraordinarily private, and you just want a separate OS you know you can completely trust where there’s no telemetry and a reduced risk of malware infection.
Whatever the reason to set up a dual-boot system, it’s not without its complications, especially with modern versions of Windows. If you already have Windows 11 installed on your PC, and then want to also install an earlier version of Windows, then you can pretty much forget it, as the security features Microsoft has implemented with the boot loader will render your entire system unbootable should you try. If you want a different version of Windows, or Linux, installed on your PC, though, you should always install them in this order:

  • Linux
  • Legacy Windows OS
  • Windows 10
  • Windows 11

Caution:I want to slip in a note here about end-of-support dates for Windows versions. By the time you read this, all versions of Windows before Windows 10 will be completely out of support, with the paid-for extended support for Windows 7 having ended in January 2022, Windows 8.1 support having ended in January 2023, and support for Windows XP and Vista having ended in 2014 and 2017, respectively. Windows 10 support ends in October 2025, and as I write this, there’s no word on whether additional paid-for support will be offered. Extended support for Windows 11 is expected to end around 2031.

Bitlocker and Secure Boot

With Windows 11, Microsoft has enforced strict installation requirements, such as UEFI firmware and a TPM 2.0 security chip or fTPM in the firmware. There is strong encouragement from the company to keep PCs secure through the use of Bitlocker encryption, biometric sign-in, and enhanced security.
Not all operating systems though are compatible with security features such as Intel’s Secure Boot (also known as Trusted Boot). This is built into UEFI firmware and is designed to prevent the execution of any code at the PC’s startup that is not digitally signed, such as rootkits and malware.
Any version of Windows prior to Windows 8.1 will not support secure boot and will not install if it is enabled on the PC. Given the security implications of running a non-supported operating system however, I would always recommend running them in a virtual machine instead. You should also check that a Linux distro that you want to install is compatible with Secure Boot. While almost all are, there are a few distros that still do not support it.
Additionally, Bitlocker is known to be famously incompatible with dual-boot systems. Should you try and use it, each time you switch to your alternate operating system and then back again you will be prompted for your 50-character Bitlocker decryption key. This is less than desirable, so be aware you won’t be able to encrypt your drives in this way.


There is always a strong temptation to just wipe a Windows installation and start again with a fresh one when a problem with the boot system arises. While a very rare circumstance, it’s hideously irritating, but surprising to many just how many tools and methods there are to repair the system and get it working again.
This complexity doesn’t just exist with the Windows boot system however, as it extends into every aspect of a PC, from the core OS files to installed applications, drivers, physical hardware, and so on.
Over the course of this book, we’ve looked at all of those subjects, but PCs are so complex, and with every single PC having a unique combination of hardware and software, it’s impossible to predict every type of problem that can arise. For this reason, in the next chapter we’ll take a deep dive into everything else and look at how you go about researching and troubleshooting the most difficult problems on a PC.