Safest way to fix "no bootable device found insert boot disk and press any key"

Aug 31, 2001
41
0
61
#1
Running windows 10 on an nvme. I tried to swap out an older non boot drive and was greeted with the above message. Reconnected the drive and my system booted right up. It seems like using bootrec.exe from the recovery console is a way to fix this. Is there an easier or safer way? There are several bootrec commands and it's not clear which ones I actually need to use. /fixmbr /fixboot /rebuildbcd. Any ideas?
 

TheELF

Platinum Member
Dec 22, 2012
2,808
100
126
#2
No the recovery console is the easiest and safest way if you have a single OS.
If you have a dual boot system you can load up the other OS and use easybcd which will be easier to use.
MS has a help page that does explain what each of these commands do.
Just google for one of the commands and it should be the first thing popping up.
 

Billb2

Diamond Member
Mar 25, 2005
3,035
1
86
#3
Background:
When you install any OS the install program writes a small piece of code to the first sector (the boot sector) of the drive that is set as the boot drive in the bios. From then on, whenever the computer starts up, that small piece of code is loaded into memory and runs. That code tell the computer where the OS (actually the boot loader) is located, that boot loader then starts the OS (which can be on any drive).

The confusion comes in because people think that the drive with the Windows folder on it is the boot drive - it isn't necessarily so, as you can put the Windows folder on any partition/any drive during the install and the boot loader will point to it.

If you remove the drive that was the boot drive (ie the drive with the boot sector on it) you get the message you're seeing. As others have said, there are numerous way to fix that.
 

Insert_Nickname

Diamond Member
May 6, 2012
3,540
112
126
#4
Background:
When you install any OS the install program writes a small piece of code to the first sector (the boot sector) of the drive that is set as the boot drive in the bios. From then on, whenever the computer starts up, that small piece of code is loaded into memory and runs. That code tell the computer where the OS (actually the boot loader) is located, that boot loader then starts the OS (which can be on any drive).

The confusion comes in because people think that the drive with the Windows folder on it is the boot drive - it isn't necessarily so, as you can put the Windows folder on any partition/any drive during the install and the boot loader will point to it.

If you remove the drive that was the boot drive (ie the drive with the boot sector on it) you get the message you're seeing. As others have said, there are numerous way to fix that.
Not to mention the Windows installer can get... ahh... creative where it places the boot sector in a multi drive configuration. Safest course of action is to install Windows on a single drive, then add the others afterwards.
 

TheELF

Platinum Member
Dec 22, 2012
2,808
100
126
#5
Not to mention the Windows installer can get... ahh... creative where it places the boot sector in a multi drive configuration. Safest course of action is to install Windows on a single drive, then add the others afterwards.
No it doesn't get creative which is the problem,it blindly follows the bios settings on which drive is the first in the bootable drives list.
Adding other drives afterwards can just as easily mess up things if you put a drive on a earlier position in the boot chain (of bootable drives) say you installed windows on the only drive in the system but the drive was on sata port 2, if you then put a drive in sata port 1 or 0 you're gonna have a problem.
 

PliotronX

Diamond Member
Oct 17, 1999
8,886
2
106
#6
Did you happen to have the original non boot drive hooked up when installing the OS to the NVME? Did this non boot drive at one time have an OS installed on it?
 
Aug 31, 2001
41
0
61
#7
Did you happen to have the original non boot drive hooked up when installing the OS to the NVME? Did this non boot drive at one time have an OS installed on it?
I thought I just had the NVME connected (because I ran into this or a similar issue many years ago), but that may not have been the case. I don't think the non boot drive ever had an OS on it, but again not 100% on that.
 
Aug 25, 2001
43,553
525
126
#8
Background:
When you install any OS the install program writes a small piece of code to the first sector (the boot sector) of the drive that is set as the boot drive in the bios. From then on, whenever the computer starts up, that small piece of code is loaded into memory and runs. That code tell the computer where the OS (actually the boot loader) is located, that boot loader then starts the OS (which can be on any drive).

The confusion comes in because people think that the drive with the Windows folder on it is the boot drive - it isn't necessarily so, as you can put the Windows folder on any partition/any drive during the install and the boot loader will point to it.

If you remove the drive that was the boot drive (ie the drive with the boot sector on it) you get the message you're seeing. As others have said, there are numerous way to fix that.
Note that this is only true for MBR partitions, and Legacy boot. Generally, with an NVMe, you will be using UEFI, which parses the bootloader filesystem on the device, and loads the EFI loader for the OS, at a specified path on the device, that is registered with the UEFI.
 

Insert_Nickname

Diamond Member
May 6, 2012
3,540
112
126
#9
No it doesn't get creative which is the problem,it blindly follows the bios settings on which drive is the first in the bootable drives list.
Adding other drives afterwards can just as easily mess up things if you put a drive on a earlier position in the boot chain (of bootable drives) say you installed windows on the only drive in the system but the drive was on sata port 2, if you then put a drive in sata port 1 or 0 you're gonna have a problem.
If you just have a single SATA controller, yes, its pretty easy. Just start at port 0, and work upwards. If you have multiple add-in controllers, and types of controllers, it isn't always easy to figure out which ends up as the first bootable device.

I think we're talking past one another. Or I'm using the wrong translation of terms.

Anyway, UEFI mode makes everything so much easier.

I thought I just had the NVME connected (because I ran into this or a similar issue many years ago), but that may not have been the case. I don't think the non boot drive ever had an OS on it, but again not 100% on that.
Note that this is only true for MBR partitions, and Legacy boot. Generally, with an NVMe, you will be using UEFI, which parses the bootloader filesystem on the device, and loads the EFI loader for the OS, at a specified path on the device, that is registered with the UEFI.
AHCI has precedence over NVMe in most UEFIs. But as Larry wrote, in UEFI mode, the boot device should already be registered in the UEFI.
 

Similar threads



ASK THE COMMUNITY

TRENDING THREADS