мой ноутбук имеет:

  1. 500 ГБ HDD / Dev / SDA
  2. 22 ГБ SDD / Dev / SDB

Раньше я загружал archlinux из небольшого раздела ext2 в /dev /sda. BIOS настроен на использование режима BIOS (не UEFI), безопасная загрузка отключена, AHCI автоматически. Эта настройка используется для работы.

Вчера я сделал много изменений здесь: установил Windows 7 и изменил раздел. Сейчас ситуация такова:

  1. /dev/sda1 загрузчик windows 7
  2. /dev/sda2 windows 7
  3. расширенный раздел, начинающийся здесь
  4. /dev/sda5 boot (логический раздел, флаг "boot")
  5. /dev/sda6 swap (логический раздел)
  6. /dev/sda7 home (логический раздел)

Примечание: после установки win7, windows запустился нормально (его загрузчик был установлен правильно).

Когда восстановление раздела linux было завершено, я подключился к моей системе archlinux и переустановил grub на sda. В результате ноутбук запускается, но биос жалуется на отсутствие загрузочной системы.

Я могу запустить свой archlinux с супер-диска, и это подтверждает, что конфигурация grub просто в порядке. Я миллион раз пытался переустановить grub на sda, он просто завершается без ошибок, но конечный результат всегда один и тот же.

К сожалению, моя оригинальная система archlinux была установлена более двух лет назад, и я не уверен, что в то время я установил grub на загрузочный раздел (а не на весь диск).

Я что-то здесь упускаю?

Таблица разделов - msdos, работает ли она с grub2? Требуется ли таблица разделов GPT?

Загрузочный раздел имеет флаг "boot", достаточно?

Просто чтобы уточнить: BIOS запускается, но не может найти что-то "загрузочное", поэтому я получаю сообщение об ошибке на уровне BIOS.Я никогда не получаю grub или ошибку, связанную с grub.

Что я могу сделать, чтобы мой ноутбук снова загрузился?

1 ответ1

0

Во-первых, полезным инструментом для исследования практически любой проблемы с загрузкой, связанной с Linux, является Boot Info Script. Этот инструмент выдает файл RESULTS.txt который содержит большую часть информации, необходимой для устранения большинства проблем с загрузкой, связанных с Linux. Пожалуйста, запустите этот скрипт и изучите результаты. Если вы сами не можете в этом разобраться, вы, вероятно, захотите опубликовать его на сайте для вставки и разместить здесь URL, чтобы его могли прочитать другие.

Во-вторых, вы написали:

BIOS настроен на использование режима BIOS (не UEFI)

Хотя некоторые компьютеры поддерживают такую конфигурацию, многие (я подозреваю большинство) не поддерживают; включение BIOS/CSM/ устаревшего режима просто делает возможным использование этого режима загрузки . Микропрограмма может по-прежнему произвольно выбирать загрузку в режиме EFI/ UEFI, даже если включен BIOS/CSM/ устаревший режим. Это важно, потому что вполне возможно, что вы установили Windows в режиме BIOS и Linux в режиме EFI; или машина пытается выполнить загрузку в режиме EFI, несмотря на то, что у вас нет загрузчика в режиме EFI. Конфигурации смешанного режима могут быть кошмарами для обслуживания. (См. Мою веб-страницу на эту тему для получения дополнительной информации.)

Вы можете проверить свой режим загрузки Linux, найдя каталог с именем /sys/firmware/efi . Если он присутствует, вы определенно загрузились в режиме EFI; но если он отсутствует, вы, вероятно, загрузились в режиме BIOS. (Существуют способы загрузки в режиме EFI и отсутствия каталога /sys/firmware/efi , но это необычный результат.) Конечно, поскольку вы загружаете Linux через отдельный загрузочный диск, его режим загрузки ничего не скажет вам о том, какие загрузчики установлены на вашем жестком диске.

Я миллион раз пытался переустановить grub на sda, он просто завершается без ошибок, но конечный результат всегда один и тот же.

Что точная команда вы использовали? Какие пакеты GRUB вы установили? (Большинство дистрибутивов имеют разные пакеты для BIOS-режима и EFI-режима GRUB, хотя я не уверен, верно ли это для Arch.)

Таблица разделов - msdos, работает ли она с grub2? Требуется ли таблица разделов GPT?

GRUB 2 поддерживает как MBR (msdos , как описано в GParted и parted), так и GPT. Это не ваша проблема - но таблица разделов MBR указывает на то, что Windows определенно установлена в режиме BIOS, поскольку Windows довольно сильно связывает режим загрузки с типом таблицы разделов. (MBR означает BIOS, GPT означает EFI.) Linux гораздо более гибок в этом отношении, что может стать проблемой в таких случаях, как ваш.

Загрузочный раздел имеет флаг "boot", достаточно?

На MBR-диске "загрузочный флаг" идентифицирует раздел, который содержит загрузчик второго уровня. Он используется загрузчиком Windows, SYSLINUX (IIRC) и несколькими другими загрузчиками. Это не (IIRC), используемый GRUB, так что это в принципе не имеет значения в вашем случае.

Просто чтобы уточнить: BIOS запускается, но не может найти что-то "загрузочное", поэтому я получаю сообщение об ошибке на уровне BIOS.Я никогда не получаю grub или ошибку, связанную с grub.

Всегда сообщайте точное и полное сообщение об ошибке. Часто бывает полезно сделать снимок экрана (цифровое фото), поскольку контекст может дать подсказки тем, кто испытал подобные вещи.

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

  • Ваша прошивка пытается загрузиться в режиме BIOS, но что-то уничтожено или повреждено загрузчиком в MBR, что приводит к сбою загрузки. В этом случае переустановка GRUB должна решить проблему. Я знаю, что вы говорите, что сделали это, но не зная, какую именно команду вы использовали, я не могу сказать, использовали ли вы правильную команду; и, как я подразумевал ранее, вы, возможно, неоднократно устанавливали загрузчик в режиме EFI, что не принесет вам пользы, если компьютер пытается выполнить загрузку только в режиме BIOS.
  • Несмотря на то, что вы включили поддержку BIOS/CSM/legacy в вашей прошивке, он пытается загрузиться в режиме EFI и сбивается с толку из-за отсутствия загрузчика в режиме EFI - или, возможно, он находит что-то, что повреждено и поэтому не возвращается к загрузка в режиме BIOS.

Выходные данные Boot Info Script и дополнительные детали, которые я запросил, должны помочь определить, какая из этих двух вещей происходит (или может ли это быть чем-то совершенно другим).

В качестве альтернативы, если вы хотите начать все заново, я рекомендую отключить BIOS/CSM/ устаревший режим. Обычно это приводит к более простому пути загрузки в микропрограмме, поскольку все параметры BIOS отключены. Затем вы можете решить любые проблемы, возникающие как в Windows, так и в Linux при загрузке их установщиков, и быть уверенным, что вы устанавливаете обе ОС в собственном режиме загрузки машины.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .