Как восстановить grub после установки Windows 10?

Вопрос или проблема

Я провел много экспериментов и обнаружил интересный факт:

шаг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

  1. Загрузитесь с установочного носителя Debian.
  2. Выберите опцию «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.

  1. Откройте файл /etc/grub.d/40_custom:
nano /etc/grub.d/40_custom
  1. Добавьте следующую запись, изменив параметры на соответствующие вашим разделам:
menuentry "Windows 10" {
    set root=(hd0,1) # корректируйте в зависимости от вашего устройства
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
  1. Сохраните изменения и обновите 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 или на официальных форумах поддержки.

Оцените материал
Добавить комментарий

Капча загружается...