Как убрать grub при загрузке ubuntu

Обновлено: 04.07.2024

Для инициализации ядра и запуска операционной системы Linux используется загрузчик. Это программа, которая запускается после завершения проверки оборудования BIOS, подготавливает оборудование к работе, задает нужные параметры ядра и позволяет выбрать операционную систему. Основная задача загрузчика дать пользователю выбрать операционную систему для загрузки.

Раньше для загрузки Linux использовалось несколько загрузчиков, это isolinux, lilo, grub. Но сейчас чаще всего применяется Grub или полное его название GRand Unified Bootloader. В этой статье будет рассмотрена установка загрузчика Grub через терминал. Также мы поговорим как установить grub на компьютер с UEFI, тоже вручную.

Немного теории

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

Загрузчик может быть установлен в различные таблицы разделов диска. Сейчас самые используемые это GPT и MBR. Установка загрузчика Grub немного отличается для каждой из этих таблиц, учитывая их особенности. Подробнее об отличиях MBR vs GPT можно почитать в отдельной статье. Тут же я скажу, что GPT - более новая и функциональная таблица разделов, MBR - уже устаревшая, но до сих пор часто используемая.

В MBR вариантов немного, Grub записывается в область MBR на диске. Размер сектора MBR занимает первых 512 байт и этого вполне достаточно для того, чтобы установить туда загрузчик.

GPT предоставляет более широкие возможности. Во-первых, для совместимости в GPT эмулируется сектор MBR, и мы можем установить GRUB туда, но такой вариант очень ненадежный и не рекомендуемый. Во-вторых, теперь появилась возможность устанавливать Grub на раздел диска. Мы просто создаем раздел на диске размером 1 Мб и записываем туда то, что раньше записывалось в MBR, это делает установку загрузчика более надежной и защищенной от сбоев.

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

Для установки Grub будет использоваться команда grub-install, во всех случаях. Давайте кратко рассмотрим ее синтаксис и параметры. Синтаксис:

$ grub-install опции диск

Параметров здесь достаточно много, но нам будут нужны только некоторые:

  • --compress - сжать файлы загрузчика;
  • --install-modules=модули - установить только эти модули;
  • --modules - записать эти модули в MBR;
  • --boot-directory - использовать другой каталог для файлов Grub;
  • --bootloader-id - имя загрузчика в меню EFI;
  • --core-compress - сжимать образ, загружаемый в MBR;
  • --efi-directory - использовать системный раздел EFI;
  • --force - установить несмотря на ошибки;
  • --recheck - удалить существующую карту устройств, помогает если возникают ошибки;
  • --removable - установка grub на флешку (только EFI);

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

Установка загрузчика Grub в MBR для BIOS

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

sudo grub-install /dev/sda

sudo grub2-install /dev/sda

Утилиты grub в разных дистрибутивах могут включать двойку, а могут и не включать. Здесь /dev/sda - ваш жесткий диск. Теперь генерируем конфигурационный файл, чтобы автоматически определились установленные операционные системы:

sudo grub-mkconfig -o /boot/grub/grub.cfg

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Готово. По поводу двойки здесь такое же замечание. Если вы хотите установить Grub на флешку в MBR, то тут тоже нет проблем просто примонтируйте флешку и выполните такую команду:

sudo grub-install --root-directory=/mnt/USB/ /dev/sdb

Здесь /mnt/USB - папка, куда была смотирована ваша флешка, а /seb/sdb - сама флешка. Только здесь есть одна проблема, конфигурационный файл придется делать вручную.

Установка загрузчика Grub в GPT для BIOS

Во-первых, мы можем ничего не менять и установить Grub так, как описано в предыдущем способе. Но тогда он будет установлен в область совместимости с MBR, а это не надежно. Поэтому рекомендуется установить grub так, как описано ниже, на отдельный раздел.

Нужный нам раздел можно создать в установщике любого дистрибутива, если вы выполняете установку в графическом интерфейсе или с помощью gparted. Нам нужен раздел размером 1 Мегабайт без файловой системы и с меткой grub_bios:

grub

Дальше примените изменения, нажмите на разделе правой кнопкой, выберите manage flags и добавьте флаг grub_bios:

grub1

Готово. Если у вас нет под рукой доступа к графическому интерфейсу, вы можете создать такой раздел через терминал. Утилита fdisk не поддерживает работу с gpt, поэтому будем использовать gfdisk. Сначала запустите утилиту:

sudo gdisk /dev/sda

grub2

Чтобы создать новый раздел нажмите n и выберите номер раздела:

grub3

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

grub4

Выбираем конечный сектор раздела. По умолчанию будет использоваться максимальный. Нам нужен раздел размером 1 Мб. Размер одного сектора GPT - 512 байт, поэтому нам нужен раздел размеров 2048 секторов. Таким образом, конечный сектор будет 24000 с чем-то.

grub5

HEX Code - это тот код, который скажет системе, что этот раздел нужно использовать для Grub, нужно установить ef02:

grub6

Готово, осталось нажать w для записи изменений на диск:

grub7

Установка grub на жесткий диск дальше выполняется точно так же, как и в предыдущем способе:

sudo grub-install /dev/sda

Осталось создать конфигурационный файл grub:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Теперь переходим к самому сложному, как установить grub efi.

Установка GRUB UEFI GPT

Установка Grub UEFI чем-то похожа на установку в GPT, тут у нас тоже будет отдельный раздел, только на этот раз не для загрузчика, а раздел EFI. Если у вас уже установлена Windows, то, скорее всего, он уже существует. Этот раздел обычно занимает 100 Мб, имеет файловую систему fat32 и флаг ESP. Вот так он будет выглядеть:

grub11

Если же такого раздела нет, мы можем его создать с помощью gparted. Для этого создаем раздел с такими параметрами:

grub9

Размер 100 Мегабайт, имя раздела ESP, файловая система fat32. Дальше примените изменения и установите для раздела флаг ESP:

grub10

То же самое вы можете сделать в Gdisk, только на этот раз нужно устанавливать HEX Code раздела ef00. После того как раздел был создан, подключаем его к нашей файловой системе:

sudo mkdir /boot/efi
$ sudo mount /dev/sda2 /boot/efi

Здесь /dev/sda2 - это наш EFI раздел. Далее необходимо установить нужные пакеты, если они еще не установлены. В Ubuntu это будет выглядеть вот так:

sudo apt install grub-efi efibootmgr

Дальше останется только установка grub efi. Система сама определит нужный раздел и скопирует туда все файлы:

Установка Grub efi на MBR все выглядит точно так же, только тут есть несколько ограничений. Раздел ESP нужно создавать только в начале диска. В режиме EFI тоже можно установить GRUB на флешку, и это не очень сложно. Для этого используется команда:

grub-install --boot-directory=/mnt/sdb2/boot --efi-directory=/mnt/sdb1 --target=x86_64-efi --removable

Рассмотрим опции: --boot-directory - задает папку с файлами загрузчика на флешке, --efi-directory - папка куда смонтирован раздел efi, --target - архитектура целевой системы и --removable говорит, что это установка на съемный носитель. С UEFI все. После перезагрузки и выбора в меню EFI пункта связанного с Grub, вы получите доступ к привычному меню grub и сможете выбрать нужный параметр.

Выводы

Теперь установка Grub не вызовет у вас проблем. Мы разобрали не только как установить Grub2 в MBR но и в EFI. Кроме того, всю приведенную здесь информацию вы можете использовать для восстановления Grub. Так вы будете лучше понимать что происходит во время восстановления. А настройку параметров и ручное создание конфигурационного файла мы рассмотрим в одной из следующих статей.

Загрузчик Grub - это загрузчик, который используется по умолчанию в большинстве дистрибутивов Linux. Grub расшифровывается как GRand Unified Bootloader, он поддерживает загрузку не только Linux, но и Widnows, и DOS.

Если вы устанавливали Linux, а потом по каким-либо причинам решили его удалить и вернуть Windows или создали загрузочную флешку Linux, но теперь она вам больше не нужна, нужно удалить загрузчик Grub. В этой инструкции мы рассмотрим, как удалить загрузчик Grub из MBR или из UEFI, также поговорим о том, как удалить Grub с флешки.

Как удалить загрузчик Grub и восстановить Windows

Если на вашем компьютере установлено две операционные системы, Windows и Linux, и вы хотите стереть Linux и его загрузчик, восстановив загрузчик Widows, и у вас используется таблица MBR, то это сделать очень просто.

В сети часто советуют способ: взять установочный диск Windows, загрузиться с него в режиме восстановления и выполнить команды:

Это действительно ответ на вопрос "как удалить Grub и восстановить загрузчик Windows?", и он работает. Но есть способ намного проще. Вам даже не придётся перезагружать компьютер. Утилита Bootice позволяет восстановить загрузчик Windows и удалить Grub с жёсткого диска в несколько кликов.

bootice1

Затем Windows NT 5.x / 6.x MBR:

bootice2

И нажмите кнопку Config / Install:

bootice3

Дальше остаётся только выбрать нужную версию MBR, в нашем случае Windows 7,8,10 - Windows NT 6.x:

bootice4

И готово: вы смогли успешно полностью удалить загрузчик Grub. Можете перезагружаться и проверять.

Как удалить загрузчик Grub в UEFI

Эта проблема тоже решается с помощью утилиты Bootice. Только на это раз вам нужна именно 64-битная версия программы.

Одно из преимуществ UEFI на MBR в том, что здесь можно устанавливать сразу несколько загрузчиков на специальный раздел. Для удаления загрузчика Grub и восстановления функциональности Windows достаточно переместить Grub чуть ниже в очереди загрузки UEFI.


Откройте программу, перейдите на вкладку UEFI и нажмите Edit Boot Enteries. Откроется такое окно:


Здесь у вас есть два варианта действий. Либо опустить Grub ниже загрузчика Widnows кнопкой Down, либо полностью удалить запись о загрузчике кнопкой Del. Но в обоих случаях файлы загрузчика останутся на диске. Полностью удалить загрузчик Grub со всеми его файлами нужно из командной строки. Это немного сложный процесс, но всё же мы его разберём.

Кликните в левом нижнем углу экрана правой кнопкой мыши, в открывшемся контекстном меню выберите Командная строка от имени администратора.

Далее нам понадобится утилита diskpart, все действия мы выполним с помощью неё. Запустите её командой:

Затем смотрим доступные диски:

И выбираем наш единственный диск, на котором сейчас установлена Windows, а раньше была установлена Ubuntu:


После того, как был выбран диск, мы можем посмотреть список разделов на нём:

Среди этих разделов есть и раздел с файлами EFI, для обычной системы он скрыт, но не для этой утилиты. В нашем случае это Volume 2. Как правило, это небольшой раздел с файловой системой FAT32 и отмеченный как системный.

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

Затем назначим ему букву, чтобы можно было с ним работать:

Утилиту можно закрывать. Дальше продолжаем выполнять действия в консоли. Сделать всё с помощью проводника вы не сможете, потому что нужны права администратора. Переходим на диск E:

Переходим в папку EFI:

Удаляем папку с файлами загрузчика Ubuntu:


Готово: удаление загрузчика Grub завершено, и теперь его файлов больше нет в системе.

Как удалить Grub с флешки

На флешках, как правило, используется таблица разделов MBR. Чтобы удалить загрузчик Grub с флешки недостаточно просто её отформатировать. Загрузчик записывается в таблицу MBR, а поэтому нам придётся её пересоздать. Очень не рекомендую использовать этот способ для удаления загрузчика Grub с жёсткого диска, потому что вы потеряете все данные.

Работать будем в системе Linux. Сначала посмотрите, какое имя устройства у вашей флешки, например, с помощью программы Gparted или в терминале командой:

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

dd if=/dev/zero of=/dev/sdc count=512

Теперь, с помощью той же Gparted создаём новую таблицу разделов:

gparted2

Создаём раздел на флешке и форматируем в файловую систему FAT32:

gparted3

Теперь вы знаете, как удалить MBR с флешки, только не сотрите его с жёсткого диска, потому что потом будет сложно восстанавливать.

Выводы

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



Оцените статью:

(23 оценок, среднее: 4,74 из 5)

Об авторе

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

А что за красота на обложке и как её добиться?

Это Burg с темой DasrkShine

А можешь рассказать про создание каркаса для мультизагрузочной флешки на низком уровне, средствами системы, без использования дополнительных прог, особенно виндовых?

Возможно в следующих статьях напишу об этом.

Я новый пользователь линукс и часто его ломаю, а потом переустанавливаю. Поэтому придумал себе - установить 2 одинаковых линукса и в случае чего просто скопировать нужный файл из "проблемной" ОС в действующую. Но установив 2 опенсузе (42.1х64) вторая затерла загрузочную запись первой. Не знаю важно ли это, но компьютер с BIOS и GPT-разметкой HDD.
Поэтому 3 вопроса:
1. Как восстановить груб, чтобы грузилось 2 опенсузе?
2. Как с рабочего линукса (без лайв-диска) перезаписать системный файл в проблемной ОС?
3. Как то же самое сделать с лайв-диска?

Я тоже за то, чтобы она сама определяла. Тем более, что там установлена она же. Прочитал статью о мультизагрузочной флешке, но после ее прочтения осталось столько вопросов, что задавая их получилась целая статья)) Их задавал там же.
kdesudo - это для KDE? A для Gnome, XFCE и LXDE - это gksu? Это не то же самое, что через sudo? Я сначала зашел в режим суперпользователя: sudo -s, открыл файл soursсes.lst в mousepad (это было в ubuntu 16.04) и отредактировал его, а когда хотел сохранить, то не получилось. Что не так?

Да правильно, kdesu - для KDE, gksu - для GNOME. Это утилиты для запуска графических программ. Через sudo, скорее всего, запустить графическую программу не получится, потому что у root пользователя установлены не все необходимые для этого переменные окружения.

Отличная статья. Большое спасибо за помощь. На 10 винде все починил!))))

Согласен и присоединяюсь).

cd \d D: и rmdir \S ubuntu

Слеши в другую сторону, не?

Также после assign letter=D: было бы неплохо написать про remove letter, ибо маячит диск в проводнике.

При удалении всех ОС установленных у меня на диске я удаляю все разделы и efi в том числе,разве Grub не должен удалится при этом?

Если он был установлен в UEFI, то да, должен.

К сожалению, не помогло .
P.S. Ось Win7x64 максимальная

Здравствуйте! У меня внешний диск терабайтник. Один раздел, dev/sdb1 200 ГБ ntfs, отдан под резервные копии Windows 7 и Windows 10. Второй раздел dev/sdb2, 250 ГБ ntfs отдан под программы Portable и разные вещицы, которые хотелось бы сохранить. На остальном пространстве внешнего диска были установлены Linux Mint cinnamon 32-bit и MX-15 32-bit. Все разделы для них были логические, в формате ext4. Загрузчик GRUB 2 ставился в dev/sdb при установке первой системы Linux Mint cinnamon. Во второй системе загрузчик не ставила, cinnamon её подхватил через "sudo update-grub". В Linux Mint cinnamon был так-же установлен Burg, хотелось и с внешнего диска загружаться красивенько. На основном диске терабайтнике, я имею Linux Mint mate 17.3 64-bit, Kubuntu 14.04 64-bit и Windows 10. Мне нравится ставить в Virtualbox и в VMware разные Linux, чтобы изучать их. Но в системах не очень много места. Поэтому я удалила разделы Linux с внешнего диска и создала раздел dev/sdb3 520 ГБ в формате ext4. Там у меня архивчик Линукса и папки "VMware" и "VirtualBox VMs". При установке систем, я указываю VMware и Virtualbox помещать все файлы систем в те папки. Довольно часто, отключая ноутбук или перезагружаясь в другую систему, я забываю отсоединить внешний диск и чертыхаюсь, когда упираюсь в чёрный экран GRUB. Он мне говорит, что ему нечего загружать, нет разделов. Приходится отключаться кнопкой, вытаскивать внешний диск и опять загружаться. У меня в Биосе, для моего удобства, выставлен приоритет загрузки сначала с USB-HDD, затем с CD-ROM и уже потом с HDD. Возможно ли удалить GRUB 2 с dev/sdb не повредив важные данные, которые не хотелось бы потерять или не рисковать?

Загрузчик системы выполняет очень важную функцию. Он позволяет выбрать какую операционную систему стоит загружать, также инициализирует параметры ядра Linux и подготавливает его к загрузке. В большинстве дистрибутивов Linux используется загрузчик Grub. Он поддерживает все необходимые функции, в том числе и UEFI, а также очень настраиваемый.

В одной из предыдущих статей мы рассматривали установку загрузчика Grub в Linux. В этой же будет будет продолжена тема и более детально рассмотрена настройка загрузчика Grub. Мы рассмотрим как графическую настройку с помощью Grub Customizer, так и более сложный, но более гибкий вариант с помощью ручного редактирования конфигурационных файлов.

Настройка Grub с помощью Grub Customizer

Это самый легкий путь конфигурации загрузчика. Графическая программа настройки Grub Customizer позволяет настроить все основные параметры загрузчика, например, фоновое изображение, шрифт, порядок пунктов загрузки, параметры ядра и многое другое. Все это делается в пару кликов.

Программа доступна в официальных репозиториях большинства дистрибутивов, и вы можете ее оттуда легко установить. Для установки в Ubuntu выполните:

sudo apt install grub-customizer

В Fedora, Red Hat и CentOS команда будет немного отличаться:

sudo yum install grub-customizer

После завершения установки вы можете запустить программу из главного меню или в терминале:

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

grub

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

grub1

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

grub2

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

grub3

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

grub4

grub5

Кроме того, нажав кнопку дополнительные параметры, вы можете настроить значения переменных /etc/default/grub, которые мы рассмотрим подробнее ниже.

grub7

Когда настройка Grub Customizer будет завершена просто нажмите кнопку Сохранить, чтобы применить все изменения.

grub8

Видео, где показана настройка GNU Grub в Linux с помощью Grub Customizer:

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

Настройка Grub через конфигурационные файлы

Сразу нужно сказать, что существует два способа настройки Grub Ubuntu, через конфигурационные файлы. Первый - через конфигурационный файл утилиты grub-mkconfig, который позволяет задать общие параметры для загрузчика и ручное редактирование /boot/grub/grub.cfg.

Первый - рекомендованный, и с помощью него можно настроить большинство параметров, в этом случае настройки не собьются, когда вы обновите ядро или загрузчик. Второй вариант еще более гибкий, но после любого обновления вы потеряете свои настройки. Так что то что можно настроить через /etc/default/grub настраиваем через него, все остальное - через /boot/grub/grub.cfg. Сначала рассмотрим первый вариант.

Настройка Grub через /etc/default/grub

Как я уже сказал, настройка загрузчика через файл /etc/default/grub, на основе которого будет автоматически создан /boot/grub/grub.cfg более желательна. Давайте рассмотрим параметры, которые вы можете здесь настроить.

  • GRUB_DEFAULT - указывает какой пункт нужно загружать по умолчанию. Может быть указан номер, или полное название или же строка saved, которая значит, что нужно загрузить пункт, указанный с помощью grub-reboot;
  • GRUB_SAVEDEFAULT - загружать последнюю использованную запись по умолчанию;
  • GRUB_HIDDEN_TIMEOUT - сколько секунд ждать перед тем, как вывести меню;
  • GRUB_HIDDEN_TIMEOUT_QUIET - если установлено true, то меню не будет показано;
  • GRUB_TIMEOUT - сколько секунд будет показано меню;
  • GRUB_CMDLINE_LINUX - добавить опции ядра для всех ядер, как обычных, так и режима восстановления;
  • GRUB_CMDLINE_LINUX_DEFAULT - добавить опции ядра только для обычных ядер;
  • GRUB_CMDLINE_LINUX_RECOVERY - опции ядра, только для режима восстановления;
  • GRUB_BADRAM - указать адреса оперативной памяти, которые не нужно использовать;
  • GRUB_TERMINAL - модуль терминала для Grub. Можно использовать console, только для текстового режима или gfxterm с поддержкой графики;
  • GRUB_GFXMODE - разрешение экрана в Grub, лучшие использовать auto, чтобы система выбрала сама то что ей нужно.
  • GRUB_DISABLE_RECOVERY - не включать в меню пункты восстановления;
  • GRUB_DISABLE_OS_PROBER - не искать другие операционные системы;
  • GRUB_BACKGROUND - адрес картинки для фона, должна находиться в той же папке что и файлы grub;
  • GRUB_THEME - устанавливает тему Grub.

Например, можно использовать такую конфигурацию:

GRUB_DISTRIBUTOR=""
GRUB_DEFAULT="saved"
GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="8"
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sda7 splash=silent quiet"

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

Настройка Grub через /boot/grub/grub.cfg

Файл /etc/boot/grub/grub.cfg управляет непосредственно работой загрузчика, здесь указаны все его параметры и настройки, а также сформировано меню. Поэтому, изменяя этот файл, мы можем настроить Grub как угодно. Сначала попытаемся разобраться с синтаксисом файла. Он очень напоминает синтаксис bash и состоит из нескольких команд, которые что-то делают, загружают и настраивают.

Команды могут быть объединены в функции или блоки с помощью инструкций if else, синтаксис которых аналогичен bash. Рассмотрим основные из этих команд:

  • load_env - загрузить переменные окружения из файла;
  • set - установить значение переменной окружения. Используется как set имя_переменной=значение;
  • insmod - загрузить модуль из папки с модулями Grub;
  • linux - загружает ядро Linux;
  • initrd - подготавливает образ initrd для загрузки ядра;
  • boot - пытается загрузить систему;
  • chainloader - запускает загрузчик из другого раздела;
  • search - установить значение переменной выполнив поиск по заданным параметрам, например, может найти диск по его UUID или метке;
  • menuentry - позволяет создать пункт меню;

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

Команда search используется для поиска дисков и имеет такой синтаксис:

$ search опции_поиска --set=имя_переменной --hint приметы_устройства основной_параметр

  • Опции поиска задают по какому критерию нужно искать, например, --fs-uuid - искать по UUID, --label - по метке, --no-floppy - не искать в схемных носителях.
  • Приметы устройства дают программе дополнительные подсказки для более быстрого поиска;
  • Основной параметр - значение, по которому будем выполнять поиск.

Например, команда может выглядеть вот так:

search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint='hd0,msdos5' c52ca066-e48f-4df2-bc7e-4d885a354090

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

menuentry имя_пункта <
команды установки переменных окружения
загрузка модулей
linux файл_ядра параметры_ядра
initrd файл_initrd
>

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

menuentry "Ubuntu" set root=(hd0,1)
linux /casper/vmlinuz boot=casper noeject noprompt splash
initrd /casper/initrd.lz
>

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

set gfxmode="1280x800"
set gfxpayload=keep

insmod vbe
insmod gfxterm
terminal_output gfxterm

font "/boot/grub2/fonts/unicode.pf2"
loadfont unicode

insmod jpeg
background_image "/boot/fon.jpg"

set menu_color_normal=red/black
set menu_color_highlight=yellow/black
set color_normal=yellow/black

menuentry "Ubuntu" root=(hd0,1)
linux /casper/vmlinuz boot=casper noeject noprompt splash
initrd /casper/initrd.lz
>

menuentry "OpenSUSE" insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
linux /boot/vmlinuz-4.1.31-30-default root=UUID=c52ca066-e48f-4df2-bc7e-4d885a354090 resume=/dev/sda7 splash=silent quiet showopts
initrd /boot/initrd-4.1.31-30-default
>

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

Выводы

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

Я прекратил двойную загрузку и больше не хочу выбирать ОС. Я хочу загрузить Ubuntu 12.04 напрямую, не видя меню GRUB.

Как я могу этого достичь?

Вы можете просто изменить настройки grub.

введите в терминале

вам нужно изменить это

+ Изменить GRUB_HIDDEN_TIMEOUT_QUIET=false в

Сохраните файл и выйдите

Тип sudo update-grub

Если вы не получили желаемый результат, посмотрите эту ошибку.

Я решил эту проблему, отключив ОС Prober. Я сделал это, потому что в /boot/grub/grub.cfg в части, сгенерированной шаблоном /etc/grub.d/30_os-prober , было переопределение "тайм-аута" на 10 и "стиля" в меню.

редактировать /etc/default/grub и добавьте эту строку:

Надеюсь, вы найдете это полезным!

Кстати, мой полный /etc/default/grub:

Я испробовал все эти советы, которые они не сработали, и в итоге сократил время ожидания до нуля следующим образом:

Вам нужно отредактировать файл на /etc/default/grub чтобы не показывать меню grub.

По умолчанию записи в этих файлах выглядят так.

После внесения изменений необходимая часть файла будет выглядеть так

  • Тогда беги sudo update-grub введите команду в терминал и перезагрузите компьютер, чтобы увидеть результат.

У меня была такая же проблема, и ни один из советов здесь не сработал! Единственным способом было изменить /boot/grub/grub.cfg вручную. В какой-то момент этого файла он делает тайм-аут до 10! Так что, просто прокомментируйте эти строки

Но вы никогда не сможете снова выполнить update-grub, иначе он вернется к тому же файлу, а время ожидания снова станет равным 10! Сохраните файл (в vi вам нужно будет принудительно запустить его, даже если вы su!). Перезагрузите компьютер, и он будет работать нормально!

Я нашел простое решение проблемы.

И обновить Grub. Он перезапишет настройки времени ожидания в grub.cfg, поэтому не имеет значения, что у вас в /etc/default/grub. Таким образом, у меня есть скрытое меню, которое может быть вызвано смещением на 2 секунды.

Если вы хотите удалить загрузочную запись, просто введите:

Если это не сработает, установите менеджер запуска, вот так:

со стартап-менеджером вы можете

  1. выбрать с записью для загрузки,
  2. выберите разрешение и сколько времени ждать перед загрузкой,
  3. Вы также можете выбрать 0 для автоматической загрузки загрузки по умолчанию

Как и Агустин, я обнаружил, что моя проблема связана с ОС Prober. Делая на шаг лучше, чем его решение, я нашел эту суть, которая позволит вам иметь свои ОС, но при этом будет скрывать меню. Вам просто нужно скачать эти два файла, поместить их в /etc/grub.d и предоставьте им те же разрешения, что и другим шаблонам в этом каталоге.

Если вы когда-нибудь захотите получить доступ к вашей ОС не по умолчанию, просто удерживайте нажатой клавишу shift при загрузке. Это покажет меню.

устанавливает загрузку по умолчанию для Windows 8.1 Pro

устанавливает пять секунд, чтобы нажать shift, чтобы я мог загрузиться в Ubuntu

Основное исправление ошибки на всякий случай

устанавливает стиль на скрытый

Ubuntu по умолчанию

Для всех вас, у которых есть слово splash в строке cmd, но жесткое кодирование 0 для тайм-аута не будет работать,

Попробуйте удалить всплеск слова из второй последней строки, обновить и перезагрузить, вуаля, без меню:)

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

Отредактируйте /etc/grub.d/00_header и найдите:

Измените это на.

И запустить update-grub.

Добавьте следующую строку в /etc/default/grub :

В идеале мы могли бы просто поставить

в /etc/default/grub и покончить с этим. К сожалению, по крайней мере, на Манджаро файл /etc/grub.d/30_os-prober отменяет эти настройки. Мы могли бы отключить этот файл, но вот лучшее решение: создать /etc/grub.d/99_quiet с этим содержанием:

(В этом файле нам даже не нужно изменять /etc/default/grub вообще.) Сделайте его исполняемым и запустите sudo update-grub (или sudo grub-mkconfig -o /boot/grub/grub.cfg если на Arch).

Перезагрузка и GRUB не будут отображать меню и не будут вызывать задержки во время загрузки. Но вы все равно можете получить меню, если удерживаете Shift после включения оборудования, но до запуска GRUB.

Читайте также: