Во-первых, полезным инструментом для исследования практически любой проблемы с загрузкой, связанной с 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 при загрузке их установщиков, и быть уверенным, что вы устанавливаете обе ОС в собственном режиме загрузки машины.