Welcome to grub ошибка

20 комментариев

avatar

  • VitaliyPanchenko
  • 27 января 2018, 13:43

Точно такая же проблема, тоже хочется узнать ответ. Правда я загрузочную флешку делал через Daemon Tools Lite. Но опять же, вчера таким же способом ставил Mint на ноут все удачно прошло.

avatar

  • Gambit_VKM
  • 27 января 2018, 13:44

Проверить контрольную сумму. По результатам перекачать образ.
Поскольку телепаты так и не отошли от новогоднего запоя, указать что за образ и с какими опциями записывали.
Использовать проверенные временем UltraISO или UNetBootin.
Читать соответствующую статью на вики дистра и его родителя.

Последний раз редактировалось 27 января 2018, 13:49

avatar

  • VitaliyPanchenko
  • 27 января 2018, 13:47

Что за «контрольная сумма»? Я просто новичек в линуксе.

Последний раз редактировалось 27 января 2018, 13:47

avatar

  • Gambit_VKM
  • 27 января 2018, 13:51

Статья на википедии же есть. sha1sum лежит на оффсайте, прямо под ссылкой для скачивания линк на нее.

Последний раз редактировалось 27 января 2018, 13:53

avatar

  • VitaliyPanchenko
  • 27 января 2018, 14:45

UltralISO тоже не помог. При загрузке с флешки появляется черный экран и надписи «Welcome to GRUB» и «unknown filesystem».

avatar

  • AlexLuckbox
  • 27 января 2018, 16:43

в каком режиме загружаетесь, legacy or UEFI?


Ален нови, ностра алис! Что означает — ежели один человек построил, другой завсегда разобрать может.

avatar

  • AlexLuckbox
  • 27 января 2018, 20:50

всё это можно посмотреть в BIOS-е. скорее всего машина пытается грузиться в UEFI режиме. когда-то имел секс с каким-то дистибутивом, который записывался руфусом, но в режиме UEFI отказывался грузиться и вываливал такое же сообщение. насколько я помню, то решил проблему отформатировав флешку в fat32, в руфус выбрал схему раздела и тип системного интерфейса GPT для компьютеров с UEFI и только после этого флешка стала нормально загружаться. кстати, никто не мешает проверить в выньде записанную флешку программой qemu simple boot.


Ален нови, ностра алис! Что означает — ежели один человек построил, другой завсегда разобрать может.

avatar

  • AlexLuckbox
  • 27 января 2018, 21:30

сейчас попробовал тот метод, о котором писал и не сработало… записал с помощью suse studio imagewriter — грузится без проблем. чего-то в руфусе не хватает, значит, для манжаро…


Ален нови, ностра алис! Что означает — ежели один человек построил, другой завсегда разобрать может.

avatar

  • VitaliyPanchenko
  • 27 января 2018, 21:41

Может во время монтирования образа в UltralISO метод записи на какой-нибудь другой поменять? Сейчас у меня по стандарту стоит USD-HDD+. Я уж и не знаю что думать.

avatar

  • AlexLuckbox
  • 27 января 2018, 21:53

а есть возможность записать из под linux? я бы рекомендовал попробовать.


Ален нови, ностра алис! Что означает — ежели один человек построил, другой завсегда разобрать может.

avatar

  • AlexLuckbox
  • 27 января 2018, 23:48

видите, как всё просто оказалось. =) поздравляю. =)


Ален нови, ностра алис! Что означает — ежели один человек построил, другой завсегда разобрать может.

avatar

  • Russian_Lion
  • 27 января 2018, 18:06

У меня такая же проблема. Я поднимал эту проблему несколько дней назад.
manjaro.ru/blog/manjaro-xfce-edition/ne-zapuskaetsja-distributiv-na-noutbuke.htmlcomments
Все другие дистрибутивы нормально загружаются с флэшки, а вот только Манжаро ни в какую. Попробуйте в БИОС или УЕФИ изменить настройки. Вот у меня почти все Линукс дистрибутивы запускаются только в режиме интегрированной графики, на переключаемой графе ни в какую…

Последний раз редактировалось 27 января 2018, 18:16

avatar

  • VitaliyPanchenko
  • 27 января 2018, 20:36

Вот вот, и у меня ставятся все дистрибутивы, пробовал и минт, и убунту, а вот манжаро не хочет. ((

avatar

  • Russian_Lion
  • 27 января 2018, 21:00

Я уже 2 недели пытаюсь найти решение этой проблемы, но пока не нашёл…

avatar

  • VitaliyPanchenko
  • 27 января 2018, 23:02

Я нашел решение. Если у вас конечно под рукой есть компьютер с установленным линуксом. Все очень просто скидываете(скачиваете) образ диска на компьютер с готовым линуксом, и через стандартное приложение «Запись образов» записываете образ на флешку, входе записи форматируйте флешку в fat32. Все. )))

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Нередко возникает необходимость в установке двух принципиально разных операционных систем на один компьютер: Windows и Linux. Разумеется, подобное «соседство» будет связано с некоторыми неудобствами. Для установки, как правило, используют специальную программу GRUB. Но к сожалению, при её использовании можно столкнуться с рядом ошибок. В этой статье разберёмся с тем, как исправить ошибки загрузчика GRUB. Давайте же начнём. Поехали!

Исправление ошибок GRUB

Для начала давайте определимся с тем, что из себя представляет эта программа. GRUB — представляет собой системный загрузчик, устанавливающийся непосредственно с Линукса и записывающий все данные на первый раздел диска (MBR).

Сам rescue mode является отличительной чертой GRUB 2 от его предыдущей версии. Этот режим запускается, если программе-загрузчику не удалось найти файл «grub.cfg» либо не удалось передать управление в kernel (ядро). В итоге не удаётся найти загрузочные файлы и запустить операционную систему. Именно тогда и возникает ошибка.

Ошибка: Unknown Filesystem

Следуйте инструкциям ниже, чтобы узнать, как решить проблему с GRUB

Способ 1

Что делать в случае ошибки unknown filesystem grub-rescue? Перед вами окно, в котором можно использовать только 4 команды, их вполне достаточно, чтобы исправить все проблемы и успешно загрузиться:

  • ls — позволяет вывести всё содержимое;
  • set — применяется для установки переменных;
  • unset — очищает переменную;
  • insmod — необходима для загрузки модулей.

Также можно сделать доступным ряд других команд. Сделать их доступными можно, загрузив модуль «normal». Для этого пропишите:

insmod normal

После этого станут доступны:

  • dump — для очистки памяти;
  • exit — команда выхода из загрузчика;
  • chainloader — необходима, чтобы указать последующей команде boot передать управление цепочечному загрузчику;
  • kfreebsd — несколько команд, позволяющих загрузить ядро FreeBSD, его модули;
  • rmmod — позволяет выгрузить указанный модуль ядра;
  • multiboot.

Первым делом нужно отыскать модули, чтобы загрузить их. Для этого введите:

ls

Результатом выполнения команды будет следующее:

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

Из этого можно сделать вывод, что загрузчик не может определить файловые системы дисков, поэтому определяет их как msdos. Теперь необходимо угадать видимые диски. В конкретном примере перед вами два диска: hd0 (с тремя разделами) и hd1 (с двумя разделами). Допустим, вы знаете, что Linux инсталлирован на диск, который имеет три раздела. В таком случае вам нужен диск с индексом «0».

GRUB даёт названия разделам в обратном порядке. В связи с этим, неясно как трактовать запись: «(hd0,msdos3)». Ведь можно посчитать это как первым разделом, так и третьим. К счастью, из этой ситуации можно выйти при помощи такого синтаксиса команды: «(hd0,1)». Обратите внимание, что в программе-загрузчике GRUB отсчёт дисков идёт с 0, а разделов с 1.

Допустим, что Линукс хранится в первом разделе, тогда он будет обозначаться (hd0,1). В этом случае команда, которую необходимо прописать, будет иметь вид:

set prefix=(hd0,1)/boot/grub
set root=(hd0,1)

Теперь модули могут быть загружены. Использовать их можно только после загрузки.

После того как вы выбрали нужный диск, проверьте содержится ли там то, что нужно. Для этого пропишите:

ls /boot/grub

В результате выполнения на экране появится список md файлов.

Далее, пропишите:

insmod ext2
insmod normal
normal

После этого загрузчик будет переведён в режим полной функциональности. Затем автоматически будут найдены разделы с операционной системой, и откроется меню программы.

Теперь остаётся загрузить Linux. Делается это при помощи команды:

grub-install /dev/sda

Ноутбук с ОС Linux

Способ 2

Всё сильно упрощается, если использовать Live CD – загрузочный диск с системой Linux. Он может быть записан на флешке, на внешнем винчестере или на обычном диске – это неважно, главное, чтобы с него можно было загрузить компьютер.

После загрузки Linux стандартным способом устанавливается бесплатная утилита Boot Repair. Она предназначена именно для устранения ошибок загрузки с помощью загрузчика Grub и очень проста в использовании – достаточно кликнуть по кнопке.

Заметим, что иметь Live CD для линуксоида всегда полезно и даже необходимо. Это зачастую избавляет от множества проблем, так как позволяет загрузить полноценную систему с внешнего носителя и использовать весь её инструментарий. Скачать такой диск с любой версией Linux не представляет сложностей, в комплекте обычно идёт инструкция по записи его на флешку.

После выполнения всех этих действий ошибка будет устранена. Пишите в комментариях была ли полезна для вас эта статья и задавайте любые интересующие вопросы по рассмотренной теме.

Любите экспериментировать? Наверняка вы когда-либо пытались произвести какие-то действия со своей Linux-системой, причем не так важно какие были цели: изучение и познание новых возможностей или же какая-то более конкретная цель, в виде исправления той или иной ошибки. В любом случае, при работе с дистрибутивами Linux, для загрузки которых, в большинстве случаев, и используется Grub, с последним могут возникать неприятные проблемы, ввиду которых дальнейшая эксплуатация системы просто-напросто невозможна. В этой статье вы узнаете, что делать, если не загружается Linux. Как вести себя в подобной ситуации и какие действия производить, чтобы починить загрузчик Grub. Пожалуй, начнем.

GRUB_screenshot

Grub (или GRand Unified Bootloader) — загрузчик операционных систем с открытым исходным кодом. Распространяется он под лицензией GNU GPL, в полностью свободном виде. С помощью этого замечательного лоадера можно сделать много всего — основная же функция не ограничивается загрузкой лишь одной операционной системы. Вы можете иметь куда больше операционных систем на своем ПК, загружая любую из них с помощью Grub. На скриншоте выше вы можете видеть как примерно Grub выглядит. Кстати говоря, если вы захотите установить Ubuntu 18.04 рядом с Windows, вам определенно понадобится помощь Grub.

Grub используется в большинстве дистрибутивов Linux в качестве загрузчика по-умолчанию. Разумеется и с ним иногда возникают проблемы. Этим самые проблемы чреваты полным отказом операционной системы. Поэтому для починки Grub нам понадобятся дополнительные инструменты. Какие именно — узнаете далее.

От чего могут возникнуть проблемы

Одна из самых распространенных причин — это неправильный порядок установки двух операционных систем (Linux и Windows). Допустим, если вы захотите установить две этих операционных системы на свой ПК — вам непременно стоит знать правильную последовательность:

  • Сначала устанавливаем Windows
  • И только потом уже Linux

Если, например, сделать наоборот, то как раз-таки Grub будет поврежден; система будет грузиться напрямую в Windows, а дистрибутив Linux останется недоступным.

Grub может сломаться и по другим причинам. Например, из-за попыток ручного изменения параметров запуска (при недостатке опыта), в таком случае нужно будет либо вручную убирать лишнее, либо полностью переустанавливать Grub.

Восстановление Grub с помощью LiveCD/USB

Для этого способа нам понадобится флешка с дистрибутивом Linux на борту. Подойдет любой: от Ubuntu, Arch или даже Linux Mint. Здесь нужен только терминал, поэтому подойдет даже версия без графической оболочки.

Как создать LiveCD/USB

Само собой, нам понадобится носитель, на который мы временно (а может и нет) запишем систему. Сохраните все важные файлы, которые были на этом носителе, после чего (имеется ввиду на другом ПК, желательно под управлением Windows) запишите загруженный образ дистрибутива на носитель. В качестве примера мы будем использовать дистрибутив Ubuntu.

Идем на официальную страницу загрузки. Загружаем любую понравившуюся версию (лучше взять новейшую для десктопа), после чего записываем ее на USB/CD.

С помощью Rufus:

Последняя версия приложения доступна на официальном сайте. Сразу после загрузки и запуска/установки мы увидим такое окно:

Rufus

Вставляем носитель, выбираем его в соответствующем меню. Далее выбираем нужную схему раздела и тип системного интерфейса, и после уже открываем файловый менеджер с помощью этой кнопки:

Rufus obraz

Находим загруженный образ через менеджер, после чего жмем «Старт».

С помощью Etcher:

Опять же, идем на официальный сайт, где скачиваем последнюю версию утилиты. Далее делаем все так, как показано на этой гифке:

Etcher

Ну а теперь, собственно, можно переходить к восстановлению Grub. Вставляем флешку в наш ПК (где сломан загрузчик), после чего перезагружаем его с этой самой флешки. Как только мы войдем в лайв-систему, сразу открываем терминал, после чего проделываем следующие действия:

Открываем таблицу разделов с помощью команды:

sudo fdisk -l

Примерно такая таблица будет выведена на экран:

/dev/sda1 27 7683 66999082+ 83 Linux
/dev/sda2 * 8450 13995 45430855 7 HPFS/NTFS
/dev/sda3 11885 16574 6503497 5 Extended

По этой таблице мы видим, что Linux, в нашем случае, расположен на разделе /dev/sda1.

С помощью следующей команды мы смонтируем этот раздел в /mnt:

sudo mount /dev/sda1 /mnt

Теперь, для записи grub в MBR, нужно ввести следующую команду:

sudo grub-install --root-directory=/mnt /dev/sda

Если нужно только восстановить MBR диска (после переустановки Windows, к примеру), то этих действий будет вполне достаточно.

Если же необходимо обновить и меню grub (после установки Windows), то нужно выполнить еще и эту команду:

sudo update-grub --output=/mnt/boot/grub/grub.cfg

Вот и все, восстановление закончено!

Восстановление с помощью chroot

Помимо вышеописанного способа, при восстановлении Grub с помощью LiveCD можно использовать и этот. Тут мы будем использовать утилиту chroot.

Здесь нам, опять же, понадобится таблица разделов. Вводим уже известную команду:

sudo fdisk -l

В выводе снова будет эта таблица. Теперь нам надо присмотреться к ней еще внимательнее.

/dev/sda1 27 7683 66999082+ 83 Linux
/dev/sda2 * 8450 13995 45430855 7 HPFS/NTFS
/dev/sda3 11885 16574 6503497 5 Extended

В этом способе нам необходимо примонтировать системный, а также нескольких других важных разделов. Для этого вводим эти команды:

sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys  /mnt/sys

Обратите внимание, что если если разделы /boot или /var находятся отдельно, то Вам нужно будет примонтировать их в /mnt/boot и /mnt/var.

Далее мы переходим в окружающую среду chroot с помощью команды:

sudo chroot /mnt

И теперь, наконец-таки переустанавливаем Grub с помощью следующей команды:

grub-install /dev/sda

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

grub-install --recheck /dev/sda

или:

grub-install --recheck --no-floppy /dev/sda

Если все прошло успешно, выходим из chroot, используя команду:

exit

Далее нужно отмонтировать все разделы. Для этого вводим в терминал:

sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt

В случае, если вы монтировали раздел /boot введите команду:

sudo umount /mnt/boot

Теперь перезагружаем систему с помощью:

sudo reboot

Можно также обновить меню Grub, используя команду:

sudo update-grub

Восстановление Grub в rescue mode

Если по каким-то причинам у вас нет доступа к LiveCD/USB-носителю, а также к компьютеру, с помощью которого этот самый носитель можно было бы сделать, то этот способ для вас.

Само восстановление проходит таким образом: сначала мы подгружаем все модули, чтобы открыть доступ ко всей функциональной части Grub, после чего запуститься с нужного раздела. Надо понимать, что Grub состоит из двух частей:

Одна из этих частей (первая) записана в MBR диска. В ней присутствует базовый функционал и ничего больше (консоль в rescue mode).

Стало быть, нам нужно определить, в каком разделе находится вторая часть Grub (находится в каталоге /boot/grub), и после чего подгрузить все недостающие модули. А вот уже после этого мы сможем запустить загрузчик с нужного раздела. В rescue mode есть всего четыре команды:

 ls
set
unset
insmod

Для начала вводим следующую команду:

 ls

В выводе будет что-то подобное:

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

В некоторых случаях Grub неправильно опеределяет файловые системы находящиеся на разделах дисков. В данном примере загрузчик показывает их как msdos. Мы должны попытаться угадать диски, которые видим. В примере доступно два диска. Диск с индексом 0 содержащий три раздела, и диск с индексом 1 содержащий два раздела. Если вы знаете структуру своих дисков, определить нужный труда не составит.

В загрузчике Grub разделы нумеруются в обратном исчислении. Не очень ясно какой именно из разделов назван, к примеру (hd0,msdos3). Чтобы было более понятно, можно использовать вид (hd0,1). Если в грабе отсчет дисков идет с 0, а разделов с 1, то можно определить, что операционная система установлена в первый раздел первого раздела — (hd0,1). Используем следующую команду:

set prefix=(hd0,1)/boot/grub 
set root=(hd0,1)

С помощью этих команд мы приказываем системе использовать какой-то конкретный диск, для выполнения всех остальных операций (в нашем случае, это диск (hd0,1)). Чтобы проверить есть ли на данном диске загрузчик, введем эту команду:

ls /boot/grub

Если в выводе будет список файлов и папок, значит мы все сделали правильно. Теперь можно загрузить все необходимые модули. Для этого выполним команды:

insmod ext2
insmod normal
normal

После выполнения команд Grub загрузится в полнофункциональном режиме. Будут найдены все операционные системы, которые установлены на компьютере, после чего будет показано стандартное меню загрузки.

Чтобы закрепить результат (и не проделывать все то же самое после перезапуска ПК), нужно зайти в терминал своего дистрибутива Linux, где с root правами выполнить следующую команду:

grub-install /dev/sdX

sdX — диск, на который должен быть установлен Grub.

Если операционная система расположена на разделе с файловой системой btrfs, то нам необходимо выполнить следующие команды:

set prefix=(hd0,1)/@/boot/grub
set root=(hd0,1)

И подгрузить модули:

insmod btrfs
insmod normal

Ну и теперь запустить GRUB:

normal

Восстановление Grub с помощью утилиты Boot repair

1335260967

С помощью этой замечательной утилиты вы сможете восстановить загрузчик всего в пару кликов. Как видно из скриншота, утилита имеет собственный GUI, ее использование не вызовет трудностей.

Чтобы установить boot repair, вы можете воспользоваться одним из приведенных способов:

  • Запись и установка специального образа диска Boot Repair (и дальнейшая загрузка с него)
  • Установка Boot repair из PPA-репозитория в LiveCD/USB дистрибутиве.

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

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update && sudo apt-get install -y boot-repair

В утилите будет доступно два варианта на выбор:

Recommended repair исправляет большую часть известных ошибок, которые могли бы возникнуть при запуске. С его помощью вы сможете пофиксить и загрузчик Grub.

Create a BootInfo summary создает Boot-Info-Script – скрипт, который позволяет диагностировать большинство проблем при загрузке.

Здесь же есть и Advanced options. Он включает в себя варианты для восстановления и настройки загрузчика Grub2 (загрузка по-умолчанию, опции загрузки ядра, отображение или скрытие GRUB при загрузке, удаление GRUB). С помощью этих же инструментов, вы можете восстановить MBR и т.д.

Вам обязательно стоит заглянуть на официальный сайт Boot Repair. Там вы сможете найти более подробную информацию обо всех возможностях и особенностях программы. Там же будет доступна информация о выходе новых версий: фиксах и улучшениях самой утилиты, а также многом и многом другом.

Выводы

Вот мы и рассмотрели несколько вариантов исправления загрузчика Grub. Стоит сказать, что некоторые из них могут показаться сложными или даже невыполнимыми. Это не так, каждый из рассмотренных способов нашел подтверждение в виде сотен и тысяч актов исправления загрузчика Grub в опенсорсном сообществе. Кстати говоря, какой из способов выбрать — решать только вам, любой из них достаточно эффективен, чтобы попасть в этот материал.

Возможно вас заинтересуют и другие похожие материалы про починку загрузчика Grub2. Например, в этом материале вы узнаете, как починить GRUB2 если Ubuntu не хочет загружаться. Там более подробно рассказывается, как фиксить груб с помощью утилиты Boot Repair, возможно вам стоит заглянуть туда, если вы не поняли что-то из этого материала. Что же, ну а на сегодня это все. Надеюсь, что данный материал помог вам разобраться в ошибках. Что, в свою очередь, поможет вам их решить.

Grub — это универсальный загрузчик, который используется для загрузки операционной системы Linux и других ОС, в случае, если на компьютере установлен Linux. Но когда вы выполняете какие-либо действия с разделами на диске, например, восстанавливаете их с помощью Clonezilla, изменяете размер или что-то другое, что Grub может быть поврежден.

Часто такие повреждения приводят к ошибке grub rescue unknown filesystem. Тогда перед вами не появляется меню, а только сообщение про ошибку и консоль восстановления для ввода команд. В этой небольшой статье мы рассмотрим как исправить эту ошибку.

Ошибка grub rescue unknown filesystem может возникать по разным причинам вот самые распространенные причины:

  • Вы восстанавливали диск из Clonezilla и были изменены метрики раздела /boot;
  • Раздел /boot был отформатирован и больше не существует;

Дело в том, что Grub устанавливается в два места. Первое — место в таблице разделов MBR. Там очень мало места, около 512 байт, а следовательно, весь загрузчик туда поместиться не может. Поэтому Grub имеет модульную структуру и все основные модули, конфигурационные файлы и ресурсы располагаются на обычном разделе, который монтируется после загрузки в /boot. Причем программа в MBR помнит где находится раздел /boot, но если с этим разделом что-то произойдет и программа не сможет загрузить привычные модули, то выдаст ошибку uncnown filesystem. Если раздела больше нет, то вам останется только брать LiveCD диск и переустанавливать загрузчик, если же раздел просто немного изменен, то еще можно все исправить.

Как исправить Grub unknown error

У вас есть простейший терминал с самой простой командной оболочкой. Чтобы знать какие команды можно там вводить наберите:

help

Дальше нам нужно посмотреть список доступных разделов, для этого используется команда ls, как в bash:

ls

Без модулей grub поддерживает только ту файловую систему, которая была на /boot. Вы можете попытаться просмотреть содержимое каждого раздела чтобы определить где находятся файлы модулей. Например:

ls (hd0,1)/

Если вы увидели папку boot, значит это наш раздел. Дальше устанавливаем этот раздел значением переменной root с помощью команды set:

set root=(hd0,1)
set prefix=(hd0,1)/boot/grub

Загружаем и запускаем модуль normal, который должен загрузить все, что нам необходимо:

insmod normal
normal

Если раздел /boot не был поврежден, то загрузчик нормально определит все файлы, а потом запустит привычное для вас меню. Конечно, после того, как система загрузится, вам будет необходимо восстановить загрузчик Grub чтобы не вводить эти команды при каждой загрузке системы.

Выводы

В этой статье мы рассмотрели почему возникает ошибка error unknown filesystem grub rescue и что делать grub rescue, когда вы видите это сообщение. Да, во многих случаях у вас уже не получится загрузить систему без LiveCD диска. Но иногда все можно спасти. Надеюсь, эта информация была полезной для вас.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Написал на C файл который выводит на экран «Boot…»
Через GRUB сделал iso образ этого чуда
grub.cfg:

set timeout=0
set default=0
GRUB_TIMEOUT=0 # Do not show the GRUB menu at all
GRUB_CMDLINE_LINUX_DEFAULT=quiet
GRUB_CMDLINE_LINUX="console=tty12" # Redirect the kernel output to another tty

menuentry "OS" {
  multiboot /boot/mykernel.bin
  boot
}

Но при запуске появилась еще и ненужная надпись:
at8uNHL.jpg
Подскажите как это убрать пожалуйста.
Была мисля очистить видео память

//Вывод на экран
void printf(char* str)
{
    unsigned short* vMem = (unsigned short*)0xb8000;
    
    for(int i = 0; str[i] != ''; ++i)
    {
        vMem[i] = (vMem[i] & 0xFF00) | str[i];
    }
}

Вот только облом…
GRUB сначала выводит мой текст а потом уже эту табличку.
В исходниках GRUB нашел «grub_printf («Welcome to GRUB!nn»);»
Только вот как эти исходники скомпилировать или через них сделать билд (grub-mkrescue —output=mykernel.iso isp) я не знаю.
Помогите

I’m in the middle of a similar issue (incidentally also on arch)

Grub is failing to find this file and run because it is using an incorrect «prefix» in my case.

Here is what you do. You boot into grub rescue mode, then you simply figure out how to make it boot.

First you run set this will list variables, for example mine is

cmdpath=(hd0)
prefix=(hd1,msdos3)/boot/grub
root=hd1,msdos3

Now, the prefix is the variable where grub looks for the normal.mod file. In my case hd1,msdos3 is the same as /dev/sdb3 (similarly, hd0,msdos1 would be /dev/sda1) what you may want to do to see a list of valid partitions is type in ls

Now, in my case, again, grub was installed on /dev/sdb1 which was mounted as /boot in my arch partition, so the correct prefix would be (hd1,msdos1)/grub

So for me to boot, I need to do this:

set prefix=(hd1,msdos1)/grub
insmod normal
normal

In your case you will have to either remember or guess which partition you installed grub on. You can guess wrong, it won’t do any harm, the insmod command will simply fail and you can try again with another partition.

After this, grub loads as it normally should, and I can pick out of the list what I want to boot. Normally when a mess like this occurs, reinstalling grub to your mbr (using grub-install) should fix it permanently so you don’t have to do this every time you boot. I however am having a lot of difficulty finding out what to do if fixing it isn’t this easy (or I’d share what you should do).

Only if this fails (e.g. if the prefix is correct but you still can’t boot) should you resort to live or rescue cds to work around the problem (it is best to avoid that)

Понравилась статья? Поделить с друзьями:
  • Weissgauff посудомоечная машина ошибка e4 как устранить
  • Webkitblobresource ошибка 1 что это
  • Webio dll ошибка
  • Webgl ошибка фигма
  • Webexception базовое соединение закрыто непредвиденная ошибка при