Все способы:
Способ 1: Установка Windows на диск с Linux
Одной из наиболее распространенных причин отсутствия Windows 10 в загрузочном меню «Grub» является установка Windows не на тот же физический диск, на который устанавливается Linux. Если нужно установить на один компьютер Windows и Linux, устанавливайте их по возможности на один физический жесткий диск, причем первой необходимо установить Windows. Если сперва будет установлена Linux, а затем Windows, то есть большая вероятность, что загрузчик Windows затрет «Grub».
Способ 2: Обнаружение раздела Windows
Если переустановка Windows 10 по какой-то причине невозможна, попробуйте обнаружить ее из среды Linux и добавить в загрузчик последней.
- Определите в Linux название раздела, на который установлена Windows. Получить сведения о дисках и разделах в Linux можно как из «Терминала», так и с помощью штатного приложения «Дисковая утилита». Скопируйте или запомните название устройства. Например, это будет «/dev/sda1».
- Откройте «Терминал» и примонтируйте раздел с Windows 10, для чего выполните команду
sudo mount -t ntfs-3g -o ro /dev/sda1, где /dev/sda1 — полученный на предыдущем этапе путь к тому с Windows. - Чтобы обнаружить Windows 10, выполните тут же в «Терминале» команду
sudo os-prober. - В случае успешного обнаружения Windows обновите конфигурацию «Grub» командой
sudo update-grubлибо жеsudo grub2-mkconfig -o /boot/grub/grub.cfg.
Способ 3: Ручное добавление загрузчика
При использовании первого способа вероятность сходу обнаружить и прописать Windows 10 в линуксовый загрузчик довольно невелика. Более сложным, но и более эффективным способом восстановления записи Windows 10 в загрузочном меню Grub является ручное добавление. Способ универсальный, использовать его можно не только при потере Windows 10, но и других операционных систем Windows.
- Узнайте название раздела с Windows как было показано в первом пункте предыдущего способа.
- Определите UUID раздела, на котором установлена Windows 10, для чего выполните в «Терминале» команду
blkid /dev/sda1, где /dev/sda1 — название раздела с Windows. - Откройте любым текстовым редактором файл
/etc/grub.d/40_customи вставьте в него следующий код, где XXXXXXXXXXXXXXXX — полученный на предыдущем шаге UUID:menuentry "Windows 10" {.
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set XXXXXXXXXXXXXXXX
chainloader +1
}
Сохраните файл. - Обновите конфигурацию Grub командой
sudo update-grub, перезагрузите компьютер и посмотрите, появилась ли Windows в загрузочном меню Grub.

Если восстановить/добавить запись Windows 10 в загрузочное меню «Grub» не удалось, проверьте, не удален ли на диске служебный 100 МБ NTFS-раздел с загрузочными файлами. Если удален, можно будет попробовать его восстановить, но будет гораздо проще переустановить Windows и Linux. В том случае, когда используется «Grub 2» на UEFI, попробуйте включить в BIOS режим «Legacy».
lumpics.ru



служебный 100 МБ NTFS-раздел с загрузочными файлами удален как его восстановить. Буду признателен за инструкцию.
Дополняю: Восстановил систему после вмешательства в файл «/etc/grub.d/40_custom». Теперь, как и ранее команда «sudo grub2-mkconfig -o /boot/grub/grub.cfg» ошибку не вызывает и grub2 сконфигурировался без ошибок.
Возможно это связано с тем, что Windows 10 у меня находится на другом физическом диске и содержит два раздела, загрузочный и системный, или ваши рекомендации содержат ошибку.
Во всяком случае, проблему устранить не удалось и приходится Windows 10 запускать через меню BIOS.
С аналогичной проблемой я столкнулся в другой российской системе — Rosa Fresh R13, а вот в Alt Linux K10.4 такой проблемы нет. Вполне возможно, что это свойственно всем новым Linux системам, в Debian 12.11 эта проблема тоже имеется.
Ни один из этих способов не прошёл ни в Debian 12 Plasma, ни в RedOS 8 Plasma. Система, вроде бы, начинает видет Windows 10, однако, при выполнении команды sudo update-grub или sudo grub2-mkconfig -o /boot/grub/grub.cfg (в зависимости от Linux системы) нет ни каких сообщений, но м Windows в загрузочном меню не появляется. Если же запустить Grub Customizer, то он систему видит, но при сохранении выводит сообщение об ошибках:
../grub-core/script/Iexer.c:352:syntax error.
../grub-core/script/Iexer.c:352:Incorrect command.
../grub-core/script/Iexer.c:352:syntax error.
Синтаксическаяошибка в строке 334
А сам файл /etc/grub.d/40_custom исчезает и появляется новый файл с другим названием /etc/grub.d/40_custom_proxy с совершенно другим содержанием.
Здравствуйте, Николай. Могу предположить, что проблема с добавлением Windows 10 в GRUB на Debian 12 и RedOS 8 связана с конфликтом между автоматическим обнаружением и Grub Customizer. Синтаксические ошибки в файле 40_custom указывают на некорректную генерацию конфигурации.
Сначала полностью удалите Grub Customizer и очистите его настройки, так как он создает конфликты с системными файлами GRUB. Затем восстановите оригинальный файл 40_custom командой: sudo cp /etc/grub.d/40_custom_proxy /etc/grub.d/40_custom или создайте новый пустой файл. Убедитесь, что os-prober установлен и активен: sudo apt install os-prober (для Debian) или аналогичная команда для RedOS.
Для принудительного обнаружения Windows отредактируйте файл /etc/default/grub и добавьте строку GRUB_DISABLE_OS_PROBER=false, если ее нет. Затем выполните команды: sudo os-prober для проверки обнаружения систем, затем sudo update-grub. Если Windows по-прежнему не появляется, попробуйте вручную добавить запись в файл /etc/grub.d/40_custom.
Создайте запись вида: menuentry «Windows 10» { insmod part_gpt, insmod fat, insmod ntfs, set root=’hdX,gptY’ (где X — номер диска, Y — номер раздела Windows), chainloader /EFI/Microsoft/Boot/bootmgfw.efi, boot }. После изменений выполните sudo update-grub и перезагрузитесь для проверки.