Меню Рубрики

Установка ubuntu без загрузчика

Загрузка ОС Linux без загрузчика

Введение

Здесь по возможности я постараюсь как можно проще и детальнее ответить на вопрос:
«Как можно загрузить Linux (на примере ubuntu) без использования загрузчика такого как GRUB 2, iELILO»
Здесь не будет разбираться как запустить/установить Ubuntu в режиме [UEFI only]. Для этого обратитесь сюда help.ubuntu.ru/wiki/установка_дистрибутива_на_компьютер_с_efi
и сюда help.ubuntu.ru/wiki/lubuntu-osinstallation
Все действия будут производиться на уже работающей системе.

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

Требования

1. UEFI вместо BIOS (выставить режим [UEFI only]);
2. OS 64-bit;
3. Linux (Kernel >= 3.3);

Входные данные

Установленный дистрибутив lubuntu-13.04-desktop-amd64 с выставленным режимом [UEFI only]. Отключил Fast Boot (После завершения можно включить).

Полученная таблица разделов

Необходимо обратить внимание на 1 раздел, с него и будет осуществляться прямая загрузка ядра без участия отдельного загрузчика (например GRUB 2), предъявляемые к нему требования:

  1. Выставленный флаг boot;
  2. Рекомендуемый размер до 512 МБ (встречал разные рекомендации каким он должен быть размером, в основном это 200-300 МБ, от себя замечу, что на деле он будет занят на 5.3 МБ);
  3. Файловая система fat32/fat16/fat12 (UEFI имеет поддержку);

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

Подготовительные этапы выполнены, мы имеем работающую 64 битную операционную систему с выставленным режимом UEFI only и разделом для ядра (в данный момент там расположен GRUB, рядом мы положим ядро).

Получаем и настраиваем своё ядро

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

у меня ОС установлена на диске sda2.
Обычно эту строку передаёт загрузчик GRUB вместе со многими другими параметрами

Замечание
На сайте разработчика Ubuntu написано, что если вы используется не оригинальное ядро, а собрали его сами, то им будет трудно вам оказать поддержку и отчёты об ошибках не присылайте. (https://help.ubuntu.com/community/Kernel/Compile)

Получим необходимые инструменты (может занять продолжительное время)

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

Получить исходники последней версии ядра и подготовить окружение

Перейдём в папку linux-3.8.0

Теперь приступим к модификации конфигурации ядра

После выполнения последней команды вначале будет выведено уведомление:

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

теперь открываем поиск (клавиша ‘/’), вводим cmdline и жмём ввод и видим то, что на скриншоте

затем жмём цифру 2 и переходим к правке параметра ‘Built-in kernel command line’, жмём ‘y’ и в данном поле выставляется звёздочка, символизирующая, что данный режим включен, теперь переходим на поле которое ниже, жмём ввод и вводим в него заветное

Эта и есть та самая опция, ради которой всё затевалось (Вместо sda2 подставьте свой диск).
Мы получили данный конфиг:

На этом этапе я остановился, собрал ядро, порадовался, что всё так просто и при загрузке свежесобранного ядра получил ошибку, что ядро не может найти корневой раздел (собственно это, ради чего весь процесс сборки ядра и затевался). Я долго недоумевал что же к чему и даже попробовал указать диск в формате UUID, но стабильно получал ошибку:

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

Теперь необходимо установить ещё некоторые опции ядра.
Водим в консоль (запустите ещё одну)

и полученный вывод вставляем в окно ввода на сайте
Debian GNU/Linux device driver check page
жмём check, получаем:

из этого списка нам нужно включить драйвер дискового контроллера, в моём случае это ahci (Строка ‘Sata Controller’, Столбец ‘Driver’).
Снова жмём ‘/’ для поиска и вводим ‘ahci’. Для верности отмечаем все три найденных варианта для встраивания SATA_AHCI_PLATFORM, SATA_ACARD_AHCI и SATA_AHCI.

Теперь выбираем везде ‘exit’, в конце соглашаемся, сохраняем настройки выбором Yes. После чего в консоле отказываемся от редактирования конфигураций для других платформ, ибо они нам не нужны.

Сборка ядра

Теперь остаётся только подождать пока ядро будет собрано. В зависимости от мощности вашего компьютера зависит время сборки ядра, на моей машине процесс сборки занял чуть менее часа.

После сборки копируем полученное ядро на загрузочный раздел в папку ‘EFI/boot’, т.к раздел примонтирован к папке /boot/efi, в результате имеем путь /boot/efi/EFI/boot/

Теперь необходимо скопировать ядро в эту папку дав ему название bootx64.efi

Стоит отметить, что загрузка с использованием загрузчика GRUB всё равно будет доступна, стоит только переключить в UEFI (нажать del или F12 при загрузке). Это может пригодиться, если ядро по каким либо причинам не загрузилось.

Читайте также:  Установка ксенона для mazda 6

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

Убедимся, что у Вас есть доступ к UEFI переменным

Если отработало без ошибок, делаем последний штрих. Добавим наше ядро в UEFI с приоритетом на загрузку №1, название в кавычках после —label можете ввести своё. Регистр в пути к загрузчику не имеет значения, т.к он не регистро-зависимый.

Теперь в меню загрузки UEFI добавлена новая строчка с названием ‘Linux’, которая осуществляет прямую загрузку ядра. На этом всё. Можно перезагрузить компьютер и убедиться, что ядро загружается минуя загрузчик.

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

Вы увидете список параметров, передаваемых ядру при загрузке (мы их сами указали ранее):

Цель достигнута! Спасибо за внимание!

UPD:
Спасибо пользователю ValdikSS за ценное замечание. Достичь поставленную цель можно гораздо проще. Пересобирать ядро в данном случае нет необходимости. Его можно скопировать на FAT раздел вместе с initrd (из дириктории /boot) и указать загрузчику правильные параметры:

источник

Не загружается Linux, чиним загрузчик GRUB

Alexander Wayne

Alexander Wayne

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

Что такое Grub

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:

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

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

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

С помощью Etcher:

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

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

Читайте также:  Установка курсовой устойчивости на гранд старекс

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Установка колодок на ниссан патфайндер

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

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

источник

Установка Linux: как пропустить установку загрузчика?

Установка linux на vhd без загрузчика
Здравствуйте, имеется такой вопрос: на ноутбуке стоит win10 на vhd (под uefi). Есть ли возможность.

Установка загрузчика
Доброго времени суток, кратко опишу свою проблему : у меня стоит две ОС на одном HDD «Windows 10» и.

Установка загрузчика GRUB 2
Всем доброго времени суток, прошу помочь мне восстановить загрузчик Linux, при переустановки.

[решено]Восстановление загрузчика. windows 7 linux grub
в общем ситуация такая. был линукс. удал его. вместе с ним, конечно, удалился grub сейчас при.

Запустить установку c ключом

Загружаетесь c установочного носителя, открываете терминал и вводите команду предложенную выше. Начнётся установка системы без установки загрузчика В окне подготовки разделов, не будет выбора, куда устанавливать загрузчик.

P.S. Владельцам Aser можно только посочувствовать (в плане установки Linux на эти ноуты).

Вот и я хотел Вас спросить, как собираетесь потом загружать систему. Но Вы так уверенно пишите, что хотите не устанавливать загрузчик, что я подумал, возможно у Вас есть другая установленная система и загружать будете через её загрузчик.
Если другой системы нет, то какой-то загрузчик всё-равно нужен. Если GRUB не устанавливается, то вместо его можно попробовать использовать rEFInd например. Ссылок дать не могу , не успеваю. В интернете почитать про rEFInd не проблема.
Secure Boot можно отключить хуже не будет, а дополнительных трудностей она добавить может.

Если ещё появятся мысли, как загружать систему, то опишусь, но уже точно не сегодня.

valeron_76,
Вариантов разных много, но все не описАть и каждый нужно пробовать на «живом» железе. Предлагаю два варианта наиболее простых и требующих меньше писанины.
1. Пришла в голову такая идея:
а) В UEFI-BIOS Вашего ноута должна быть такая строка (или примерно такая) Select an UEFI file as trusted for executing. Если она есть, то можно пробовать этот вариант
б) Перед установкой Linux ноут НЕ подключать к интернету.
в) Загрузиться c установочной флешки и любым удобным способом удалить пакет efibootmgr. Можно через менеджер программ, можно через Synaptic или через терминал

Затем делаете обычную установку системы. Вариантов развития событий два: установка зависнет при установке GRUB или система полностью установится. Если система полностью установится, то в UEFI-BIOS не будет создана запись Linux. Нам это и нужно.
г) После перезагрузки зайти в UEFI-BIOS и через Select an UEFI file as trusted for executing добавить Linux в загрузку.
https://www.youtube.com/watch?v=JIDuKjavNQU

2. Второй вариант.
а) Нужна флешка или карта памяти с ФС FAT32 (лучше флешка). Они могут быть с информацией, размер от 100 МБ. На эту флешку скопировать папку из вложения к сообщению.
б) Установить Linux без установки загрузчика (пост №2).
в) После установки загрузиться с этой флешки (загружаться нужно в UEFI режиме). Должен будет появиться rEFInd и в нём должен быть установленный Linux. Пробовать загрузить его. Если получится, то напишу, что делать дальше.

источник

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

Adblock
detector