Замена жестких дисков приводит к невозможности загрузки.

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

У меня есть ноутбук, на который я установил Arch, пока что все хорошо. После того как я настроил все так, как хотел, и пользовался им несколько дней, я решил немного поэкспериментировать и установить SteamOS. Поскольку я не хотел мешать установке Arch, и у меня случайно оказался запасной диск на 2.5″, я просто вытащил старый диск и вставил новый. Поработав с SteamOS какое-то время, я вернул диски на место, но теперь Arch не загружается.

Я не менял никаких настроек BIOS. Вводя выбор устройства загрузки UEFI, я не вижу жесткий диск с установленным Arch если нет другого загрузочного устройства (в моем случае флешка с установочными медиа Arch), в этом случае можно вручную выбрать EFI файл для GRUB на жестком диске и нормально загрузить Arch.

Почему замена дисков вдруг сделала старый диск незагружаемым? Как мне его восстановить?

После того как я сделал трюк с USB флешкой, чтобы UEFI позволила мне вручную выбрать файл для загрузки, efibootmgr показывает следующее:

BootCurrent: 003D
Timeout: 0 seconds
BootOrder: 2001,2002,2003
Boot0000* USB Hard Drive (UEFI) - SanDisk Cruzer
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3000* Internal Hard Disk or Solid State Disk
Boot3001* Internal Hard Disk or Solid State Disk
Boot3002* Internal Hard Disk or Solid State Disk
Boot3003* Internal Hard Disk or Solid State Disk

По очевидным причинам я не могу показать вывод без трюка с USB. Менеджер UEFI (к которому можно получить доступ, нажав F9 во время загрузки, в моем случае) просто не показывает жесткий диск в качестве опции, если нет другого загрузочного устройства.

Оказалось, мне следовало использовать --removable при установке GRUB, если я хотел бы иметь возможность менять жесткие диски. Следуя инструкциям на вики Arch и переименовав мой загрузчик, я все исправил.

Я на самом деле не знаю почему это сработало в достаточной степени, чтобы объяснить это последовательным образом. Это имеет смысл, но я бы не хотел выглядеть дураком, пытаясь это сформулировать.

Я довольно уверен, что есть способ исправить BIOS так, чтобы он знал, где находится загрузчик, но я не знаю, как это сделать.

Ответ или решение

Проблема: Невозможность загрузки после замены жестких дисков

Заменив жесткие диски в вашем ноутбуке, вы столкнулись с проблемой: система Arch Linux перестала загружаться. Это происходит из-за привлечения особенностей работы UEFI и конфигурации загрузчика GRUB. Давайте разберем, почему это происходит и как можно решить данную проблему.

Причины проблемы

  1. Настройки UEFI и порядок загрузки:

    • Современные ноутбуки используют UEFI вместо BIOS. UEFI имеет определенную последовательность загрузки устройств, согласно которой при отсутствии активных загрузочных элементов может не отображаться ваш жесткий диск в списке загрузки.
    • При смене диска контроллер UEFI может "забыть" о старом устройстве или неправильно его зарегистрировать. Как следствие, ваш установочный диск Arch не будет видимым без наличия другого загрузочного носителя.
  2. Отсутствие гибкости в конфигурации GRUB:

    • Ваш GRUB был установлен без параметра --removable, что делает его зависимым от конкретного устройства, и следовательно, может вызвать трудности при замене жестких дисков.
    • Это значит, что GRUB может не корректно ссылаться на загрузочные разделы при изменении устройств, тем самым не позволяя корректно обнаружить загрузочные файлы во время старта системы.

Решение проблемы

Чтобы решить указанные проблемы, необходимо выполнить следующие шаги:

  1. Переустановка GRUB:

    • Запустите ваш ноутбук через USB-накопитель с установочным образом Arch Linux.
    • Используйте терминал для монтирования вашего корневого раздела и раздела EFI:
      mount /dev/sdXn /mnt  # Замените sdXn на ваш корень
      mount /dev/sdXn1 /mnt/boot/efi  # Замените sdXn1 на ваш EFI
  2. Установка GRUB с параметром --removable:

    • После монтирования, выполните команду для переустановки GRUB:
      grub-install --target=x86_64-efi --efi-directory=/mnt/boot/efi --bootloader-id=GRUB --removable
      grub-mkconfig -o /mnt/boot/grub/grub.cfg
    • Теперь GRUB будет настроен так, что при замене дисков он сможет корректно определять загрузочные разделы.
  3. Корректировка UEFI:

    • После переустановки GRUB, перезагрузите систему и войдите в настройки UEFI.
    • Проверьте порядок загрузки и убедитесь, что GRUB установлен в качестве первого элемента в списке загрузки.

Заключение

Теперь ваш ноутбук должен загружаться без проблем, независимо от используемого жесткого диска. Это решение помогает не только в вашей текущей ситуации, но и предотвращает возможные проблемы в будущем при использовании нескольких загрузочных устройств. Если вы планируете дальше использовать различные операционные системы, важно правильно настроить загрузчик и UEFI.

Если у вас возникнут дополнительные вопросы, связанные с установкой или настройкой, не стесняйтесь обращаться за помощью к сообществу или IT-экспертам.

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

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