Когда я собрал себе снова стационарный компьютер летом 2019, было понятно, что будет стоять 2 системы Windows 10 и какой-либо дистрибутив Linux. Но главная проблема, если в линуксе перезагрузиться в windows труда не составляет для этого нужна будет установленная программа efibootmgr
далее смотрим на вывод команды

sudo efibootmgr

Вывод будет примерно таким:

BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002,0000,0003
Boot0000* Windows Boot Manager
Boot0002* UEFI OS
Boot0003* Samsung SSD 970 PRO 512GB

А далее легко перезагружаемся одной строкой в Windows, где 0000 это номер Windows Boot Manager из команды выше

sudo efibootmgr -n 0000 && sync && reboot

То же самое, но в Windows.

Казалось бы - Windows богата на разные программы, но для управления загрузкой UEFI или тяжёлые и платные монстры или только редакторы для Wndows опций, что явно не достаточно. И я нашел, как с помощью bcdedit мы можем так же перезагружаться в Linux парой команд:

  1. bcdedit /enum firmware - получим так же список всех возможных вариантов загрузки
  2. bcdedit.exe /set {fwbootmgr} bootsequence {UUID} /addfirst - Изменить порядок загрузки при следующем запуске, гдe UUID это данные из первой команды для варианта загрузки Linux
  3. shutdown /r /t 0 перезагрузиться сейчас

Команды это хорошо, но мы же в Windows и возможно хотим сразу перегрузиться в установочную флешку. Так что я решил написать обертку над этими командами на C# код проекта можно посмотреть тут:

Toxblh/WinToLinux
Reboot Windows to Linux in two clicks! Editing UEFI order for next start of the system - Toxblh/WinToLinux

Вы так же можете загрузить его здесь или с GitHub Release