Is it possible to reboot from within Windows to another installed Windows version?

Solution 1:

If both systems share the same Bootmgr (i.e. they're menu items in the Windows Boot Manager), you can use bcdedit to set the "bootsequence" parameter:

  1. Find the entry in bcdedit /enum osloader;
  2. Set the one-time sequence with bcdedit /bootsequence "{id_of_other_os}";
  3. Check whether it was set using bcdedit /enum "{bootmgr}".
  4. Reboot.

On UEFI, this also works if the systems have different boot managers (e.g. if dual-booting Windows and Linux) and you choose one or the other through your firmware boot menu. In this case, you need to set the EFI "BootNext" parameter, but through Windows it's still masqueraded as "bootsequence", only the bcdedit commands are slightly different:

  1. Find the entry in bcdedit /enum firmware;
  2. Set the one-time sequence with bcdedit /set "{fwbootmgr}" bootsequence "{other_os}";
  3. Verify using bcdedit /enum "{fwbootmgr}".
  4. Reboot.