Вопрос или проблема
Я провел много экспериментов и обнаружил интересный факт:
шаг1: установить debian-buster
На этом этапе установка EFI-раздела не производилась.
шаг2: установить windows 10
На этот раз меню grub пропало, загрузка по умолчанию происходит в win10.
шаг3: переустановить debian-buster
Результат: оба, debian и win10, отображаются в меню grub, всё работает нормально.
шаг1: установить debian-buster
На этом этапе установка EFI-раздела не производилась.
шаг2: установить windows 10
На этот раз grub пропал, вы можете загрузиться в win10 по умолчанию. Загрузите ПК, чтобы войти в настройки BIOS, чтобы выбрать P0:ST10000vx
в меню загрузки, вы сможете загрузиться в debian (например, в вашем ПК имя может быть другим).
шаг3:
debian@debian:~$ sudo rm /boot/grub/grub.cfg
debian@debian:~$ sudo mount /dev/sda6 /mnt
debian@debian:~$ sudo mkdir -p /mnt/boot/efi
debian@debian:~$ sudo mount /dev/sda2 /mnt/boot/efi
debian@debian:~$ sudo mount --bind /dev /mnt/dev
debian@debian:~$ sudo mount --bind /proc /mnt/proc
debian@debian:~$ sudo mount --bind /sys /mnt/sys
debian@debian:~$ sudo chroot /mnt
root@debian:/# grub-install --target=x86_64-efi
Установка для платформы x86_64-efi.
grub-install: предупреждение: Переменные EFI не поддерживаются в этой системе..
Установка завершена. Ошибок не обнаружено.
root@debian:/# update-grub
root@debian:/# exit
Перезагрузите ПК, меню grub восстановлено, но windows boot manager
отсутствует в меню grub, win10 пропал!
Я могу войти в win10 следующим образом:
перезагрузить и нажать клавишу del для входа в настройки BIOS
выбрать windows boot manager
нажать ввод
Почему grub-install
во время переустановки debian может обнаружить операционную систему win10 и добавить её в меню grub, в то время как grub-install
, запущенный в терминале, не может обнаружить win10?
Как добавить загрузку win10 в моё меню grub и успешно загрузить её?
Пожалуйста, проведите реальные эксперименты на вашем ПК, а не на виртуальной машине, и покажите команды bash для исправления grub, разговоры – это дешево.
Отчасти и косвенно решена проблема.
шаг1: установить debian-buster
Установить с использованием uefi и добавить еще один раздел – EFI-раздел для предстоящего win10, как минимум создать три раздела: / корневой раздел, раздел подкачки, EFI-раздел. EFI-раздел обязателен.
шаг2: установить windows 10
шаг3: войти в debian через настройки BIOS для выполнения ниже приведенных команд
sudo update-grub
sudo grub-install /dev/sda
Если EFI-раздел не был создан на шаге 1, то вышеуказанные две команды не сработают на шаге 3!
Примитивная проблема все еще не решена.
Ответ или решение
Восстановление GRUB после установки Windows 10
Установка Windows 10 в системе с уже существующей операционной системой на базе Debian часто приводит к потере загрузчика GRUB. Windows по умолчанию перезаписывает загрузочную запись, что приводит к автоматическому загрузке только Windows, без возможности выбора Debian. В этом руководстве мы подробно рассмотрим, как восстановить загрузчик GRUB и добавить Windows 10 в меню загрузки.
Шаг 1: Подготовка
Перед началом процесса убедитесь, что у вас есть установочный носитель для Debian (например, USB-накопитель или DVD-диск). Это поможет вам восстановить GRUB из Live-сессии, если ваша система не загружается. Также важно, чтобы на вашем диске была создана EFI-раздел, если ваша система работает в режиме UEFI.
Шаг 2: Загрузка в режим Live
- Загрузитесь с установочного носителя Debian.
- Выберите опцию «Try Debian» для загрузки в режиме Live.
Шаг 3: Монтирование файловой системы
После загрузки в режиме Live выполните следующие команды в терминале, чтобы подготовить систему к восстановлению GRUB:
# Определите необходимые разделы
sudo fdisk -l
# Пример: /dev/sda2 - ваш корневой раздел Debian
# Пример: /dev/sda1 - ваш EFI-раздел (если используется)
# Монтируем корневой раздел
sudo mount /dev/sda2 /mnt
# Если у вас есть EFI-раздел, примонтируйте его
sudo mkdir -p /mnt/boot/efi
sudo mount /dev/sda1 /mnt/boot/efi
# Монтируем специальные файловые системы
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
Шаг 4: Переход в chroot
Часто требуется запустить установки программного обеспечения из среды вашего основного диска. Для этого успешно выполните:
sudo chroot /mnt
Шаг 5: Установка GRUB
Теперь мы установим GRUB на ваш диск. Если ваша система использует UEFI, выполните следующее:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
Если система работает в Legacy (BIOS) режиме, достаточно:
grub-install /dev/sda
Не забывайте обновить конфигурацию GRUB:
update-grub
Шаг 6: Добавление Windows 10 в меню GRUB
В большинстве случаев после выполнения предыдущих шагов Windows 10 будет автоматически добавлен в меню GRUB при выполнении команды update-grub
. Однако, если этого не произошло, вы можете вручную добавить запись в файл конфигурации GRUB.
- Откройте файл
/etc/grub.d/40_custom
:
nano /etc/grub.d/40_custom
- Добавьте следующую запись, изменив параметры на соответствующие вашим разделам:
menuentry "Windows 10" {
set root=(hd0,1) # корректируйте в зависимости от вашего устройства
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
- Сохраните изменения и обновите GRUB:
update-grub
Шаг 7: Выход и перезагрузка
Выйдите из chroot и перезагрузите систему:
exit
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt/boot/efi
sudo umount /mnt
sudo reboot
На этом этапе, после перезагрузки, вы должны увидеть меню GRUB, которое сконфигурировано для загрузки как Debian, так и Windows 10.
Заключение
Следуя вышеуказанным шагам, вы сможете восстановить загрузчик GRUB и добавить Windows 10 в меню загрузки. Помните, что в случае постоянных проблем с определением Windows, возможно, потребуется временно отключить Secure Boot в настройках BIOS или UEFI. Если у вас остаются вопросы, дополнительные решения можно найти в документации Debian или на официальных форумах поддержки.