Вопрос или проблема
У меня есть два диска, давайте назовем их A и B. A — это мой “основной” диск, на нем находится EFI-раздел, а остальное — Windows.
B имеет немного свободного пространства в качестве общего хранилища и второй раздел, на который я устанавливаю Debian.
Во время форматирования Windows я случайно отформатировал весь диск A, в результате чего потерял опцию GRUB в меню загрузки BIOS / UEFI. Поэтому я следовал этим шагам на живом USB с Debian, чтобы восстановить ее.
Мне в конце концов удалось восстановить мой начальный GRUB, но я допустил ошибку на шаге 8, где мне следовало выполнить grub-install /dev/sda
, вместо этого я выполнил grub-install /dev/sdb
и update-grub
. И в пылу момента я закрыл консоль, поэтому не уверен, что на самом деле произошло. Но я точно помню, что видел обычные сообщения, например, что он обнаружил ядра linux, Windows Boot Manager и т.д. Ошибок не было.
Так… установил ли я ненужную копию GRUB где-то на диске B? Похоже, что все работает, так что, может быть, Live Debian был достаточно умным, чтобы спасти мой диск от моей глупости? Как я могу проверить, установлен ли он где-то на диске B?
Спасибо
П.С.: Если это имеет значение, A (/dev/nvme1n0
) — это SSD, а B (/dev/sda
) — это SATA HDD.
Пока вы не пишете поверх чего-то важного (например, загрузчика для другой операционной системы, которая вам важна), обычно нет никакого вреда в наличии grub, установленного на нескольких дисках. В худшем случае вы загрузитесь с неправильного диска и получите старую версию grub, которая не была автоматически обновлена. В лучшем случае, когда вы случайно форматируете диск или диск выходит из строя, вы можете (попробовать?) загрузить grub с другого диска.
Синтаксис grub-install device
обычно используется для загрузки в режиме наследия, когда загрузчик записывается в загрузочный сектор указанного диска. Если вы загружаете EFI, grub всегда должен быть установлен в системном разделе EFI (ESP), независимо от того, где находится остальная часть ОС, и grub обычно автоматически это обнаруживает и может фактически проигнорировать ваше указание устройства.
В конце концов, если вы можете успешно загрузить обе операционные системы, значит, исправление сработало, и если вы не пытаетесь намеренно создать некоторую избыточность на следующий раз, вы сделали всё правильно, и больше ничего делать не нужно.
Ответ или решение
Если вы случайно установили GRUB на неправильный диск, не стоит паниковать. Давайте разберем, что произошло в вашей ситуации и какие шаги можно предпринять для проверки и возможного устранения проблем.
1. Определение ситуации
У вас есть два диска:
- Диск A (SSD) с установленной операционной системой Windows и EFI-разделом.
- Диск B (HDD) с установленной системой Debian в отдельной партиции.
После форматирования диска A, вы утратили доступ к загрузчику GRUB. Следуя инструкциям, вы пытались восстановить GRUB с помощью загрузочной флешки с Debian, но допустили ошибку — вы установили GRUB на диск B вместо A.
2. Что произошло
Когда вы выполнили команду grub-install /dev/sdb
, GRUB был установлен на диск B. В большинстве случаев, это не является критичной ошибкой, особенно в контексте UEFI. Если вы действительно использовали режим UEFI, GRUB обычно устанавливается в EFI-системный раздел (ESP), который может находиться на диске A. Информация о других операционных системах, таких как Windows, также может быть автоматически обнаружена.
3. Проверка наличия GRUB на диске B
Для проверки установки GRUB на диске B, выполните следующие шаги:
-
Загрузитесь в систему Debian или используйте Live USB.
-
Откройте терминал и выполните следующую команду для проверки наличия файлов GRUB на диске B:
ls /boot/grub
Это покажет файлы GRUB, если они были установлены.
-
Проверьте конфигурационный файл GRUB с помощью:
cat /boot/grub/grub.cfg
Этот файл будет содержать информацию о наличии загружаемых операционных систем.
-
Также вы можете проверить, какие устройства GRUB может обнаружить:
sudo update-grub
Эта команда попытается обнаружить установленные ОС и обновит конфигурацию GRUB.
4. Что делать дальше?
Как правило, наличие GRUB на обоих дисках не является проблемой и может даже улучшить отказоустойчивость вашей системы. Тем не менее, если вы хотите, чтобы GRUB был только на диске A, вы можете выполнить следующие шаги:
-
Переустановите GRUB на диск A:
sudo grub-install /dev/nvme1n0
Эта команда восстановит GRUB на правильном диске.
-
Обновите конфигурацию GRUB:
sudo update-grub
Таким образом, вы уверите, что загрузчик GRUB правильно настроен и функционирует на вашем основном диске.
Заключение
Если после выполнения этих шагов вы все еще смогете загружать обе операционные системы, вы сделали все правильно. Наличие GRUB на разных дисках может оказаться полезным в будущем. Если вас это не беспокоит, оставьте все как есть. В противном случае выполните описанные действия, чтобы вернуть систему в желаемое состояние. Помните, что регулярные резервные копии и документация о конфигурации систем могут значительно упростить восстановление в случае ошибок в будущем.