error: file '/grub/i386-pc/normal.mod' not found.
grub rescue>
Что я могу сделать? Я просто сижу и смотрю на это.
Я нашел свой старый нетбук (Dell Inspiron 1010), которым не пользовался около четырех лет. Я заменил Windows XP на Ubuntu 12.10. Я использовал свой загрузочный USB-накопитель. Я установил и перезагрузил. Я получил сообщение, normal.mod
которое не найдено.
Что я должен делать? Тип exit
, reboot
или quit
? Должен ли я переустановить?
use your windows partition as your primary boot device
. Этот последний шаг важен. НЕ ИСПОЛЬЗУЙТЕ / загрузитесь. Может быть другое решение: попробуйте вручную изменить загрузочное устройство во время запуска; Однако я не думаю, что это сработает. Это давняя проблема, которая сохранялась в Ubuntu вплоть до 17.10. Спасибо.Ответы:
Grub имеет небольшой образ ядра, который загружается во время загрузки. Образ ядра динамически загружает модули, которые обеспечивают дополнительную функциональность.
i386-pc/normal.mod not found
указывает, что grub не может загрузить normal.mod , который является модулем grub, предоставляющим обычную команду . Для загрузки normal.mod вам нужно указать grub, где он находится. Для этого вы можете использовать командную строку grub (она же Rescue Console). Grub запустит командную строку, если возникнет проблема с загрузкой, или вы можете запустить ее вручную, удерживая клавишу Shift при запуске grub (чтобы вызвать меню grub), а затем нажав клавишу «c».Используя grub, вы можете исследовать диски, разделы и файловые системы. Тебе следует:
пример
Ниже приведен только пример. Вам нужно будет адаптировать его к вашему локальному диску и настройке раздела.
где нормальный. мод? искать в некоторых вероятных местах
Если вы получили
"Unknown command 'search.file'"
это, значит, команда search.file недоступна. Вероятно, это потому, что вы вgrub rescue>
приглашении, а не вgrub>
приглашении. В этом случае вы все равно можете продолжить и использоватьls
команду и свои знания о расположении разделов для поискаnormal.mod
.нашел его в (hd0, msdos1)
почему личинка не нашла его?
check $ prefix - абсолютное местоположение каталога grub
(устанавливается, когда grub установлен с помощью grub-install)
проверьте $ root - устройство по умолчанию для путей, которые не включают в себя устройство
grub, изначально устанавливает его для устройства из префикса $
root и префикс указывают на неправильный раздел (hd0, msdos2),
установите $ root и префикс $ на раздел, где мы нашли normal.mod (hd0, msdos1)
загрузить и запустить нормальный модуль
Некоторые другие команды, которые могут быть полезны
ls перечисляет все устройства и разделы
раздел ls
файловая система ls (примечание / в конце)
загляните внутрь / boot / grub
наличие каталога i386-pc означает, что это установка BIOS,
наличие каталога x86_64-efi будет указывать на установку EFI
search
orsearch.file
не распознаны, установлены$prefix
правильно, а затем делаютinsmod search
, дляls
выполненияinsmod ls
и т. Д. Запуститеfind /boot/grub -name *.mod
на работающей установке Linux, чтобы увидеть все динамически загруженные модули Grub.источник
sudo grub-install /dev/sdX
чтобы установить мой grub. Я думаю, что установка LVM как-то запутала мой grub.Решил это на машине сегодня днем. Кажется, что одной из причин этой проблемы является установщик, который думает, что у вас есть безопасная загрузка EFI, когда вы этого не делаете, и, следовательно, загружаете неправильные файлы GRUB.
Что вам нужно сделать, это установить GRUB 2. Для этого вам нужно загрузиться с живого экземпляра, смонтировать корневой раздел и установить.
В реальном экземпляре найдите раздел, в который загружен ваш корневой раздел. GParted скажет вам об этом, или вы могли бы использовать
Перейти на раздел, в котором установлена Ubuntu.
Когда у вас есть раздел, вам нужно его смонтировать. Предполагая, что корневой раздел находится в / dev / sda5, это будет:
Затем установите GRUB 2
sudo grub-install /dev/sda --root-directory=/mnt
[используйте копирование и вставку для этого, поскольку есть некоторые пробелы, которые вам нужно получить правильно.]Если предположить, что это ваша проблема, тогда вы можете просто перезагрузиться, и все будет работать нормально.
Оригинальное решение для этого было здесь: http://ubuntujournal.blogspot.com/2012/11/fix-new-install-of-ubuntu-1210-wont-boot.html
источник
Я не нашел эту информацию на форумах, поэтому я хочу поделиться некоторой информацией, несмотря на то, что этот вопрос задавался давно:
Если у вас большой (например, 1 ТБ) раздел с установленной Ubuntu, и вы не выделяете дополнительный раздел для / boot /, это может быть причиной таких ошибок. Когда GRUB запускается, он использует драйвер биосдиска для чтения обычных драйверов из каталога / boot / grub /. Иногда этот каталог может быть физически расположен на жестком диске где-то после максимума, поддерживаемого сектором биодисков. Проблема может появиться, например, после обновления системы. Кроме того, я всегда сталкиваюсь с этой проблемой после новой установки Ubuntu 13.10, но она может отличаться, поскольку это зависит от материнской платы / BIOS.
Вы можете проверить это с помощью grub recovery - после установки правильных PREFIX и ROOT попробуйте ls / boot - если вы ничего не видите, но можете видеть файлы там при загрузке с live cd / flash-накопителя - чем у вас проблема, описанная выше ,
Вы можете делать разные вещи, чтобы сделать систему загрузочной, но единственный способ избежать этой проблемы в будущем (во время dist-upgrade) - это поместить каталог / boot в отдельный небольшой раздел.
источник
Другие решения могут не работать, если вы получите
grub-rescue
приглашение, и / или ваша конфигурация использует LVM, этот должен.Загрузитесь с аварийного диска (совет: я храню небольшой дистрибутив на отдельном разделе моего резервного USB-диска).
Если вы используете LVM, найдите имя своей группы томов с помощью
lvdisplay
других команд, связанных с LVM. Активируйте его (иначеmount: special drive /dev/volumegroupname/partition does not exist
при попытке монтирования вы получите ошибку):Теперь смонтируйте ваш обычный
/
раздел, например, на/mnt
:Также смонтируйте несколько специальных устройств (а также в
/boot
отдельном разделе):Тогда
chroot
в ваш обычный дистрибутив:Наконец, переустановите GRUB2 - команды могут отличаться в зависимости от вашего дистрибутива, это работает на Slackware (если ваш диск есть
/dev/sda
):Перезагрузитесь и все готово.
источник
ВЫБРАННЫЙ ОТВЕТ НИКОГДА НЕ РАБОТАЕТ.
ЭТО РАБОТАЕТ:
Второй шаг важен .
НЕ ИСПОЛЬЗУЙТЕ
/boot
.Может быть другое решение: попробуйте вручную изменить загрузочное устройство во время запуска; однако, я не думаю, что это сработает, и мне еще предстоит это проверить.
Это давняя проблема, которая сохранялась в Ubuntu вплоть до 17.10.
источник