Установка GRUB на ноутбук с GPT UEFI
Уже 3 дня путешествую в гугле и совсем отчаялся( Я устанавливал Kali linux второй ОС рядом с Win10 на ноут asus x751m x64. Разбивал диск средствами винды. Грузился с DVD-R диска, на который записал ISO образ кали. Во время граф. установки кали, на этапе разбивки диска, я уже и выбирал автоматическую разметку и руками делал /boot, /, /swap. Далее, на этапе установки граба, тоже пробовал все варианты. Граб так и не появлялся, но кали, судя по всему, ставилась. На последней попытке переустановить кали, я выбрал авто разбивку и установку граба в «пустую строку». После много раз грузился в kali live, монтировал /dev/sda7 («/» раздел кали) и ставил граб в /dev/sda, и пытался поставить в EFI раздел — /dev/sda1, но выходит ошибка «File system ‘fat’ doesn’t support embending. » и ещё несколько строк ошибки. В общем, как я понял, надо поставить граб в /dev/sda1, но как?
В общем, как я понял, надо поставить граб в /dev/sda1, но как?
Установка GRUB на ноутбук с GPT UEFI
*фейспалм* вот как такой крутой кулхацкер не может знать как машина грузится в режиме UEFI?
ФС должна быть fat32, желательно раздел должен иметь метку «EFI». Загрузиться нужно через UEFI, иначе не будет доступа для записи в efivars и придётся грузить efi файл ручками. В случае с grub для установки хватает grub-install /dev/sda. В особо упоротых случаях нужно дописать «—efi-directory» и соответственно путь (смотри справку). Иногда жалуется что не хватает места для записи, такое часто бывает у HP с insydeH20. Тогда надо ручками ковыряться в efivars. Опасно, но потом начинает работать. И рекомендую переименовать папку с виндовым EFI файлом. Многие биосы несмотря на настройки находя по дефолтному пути винду грузят её, хоть усрись.
Да лан тебе, я вон тоже не разбирался. Понастрогают, а ты потом разбирайся.
всё гораздо проще. Я вот прямо ща раскрою ВЕЛИКУЮ ТАЙНУ. 111 В uefi есть default загрузка, в которую венда себя пишет, а линукс — нет. Прошивка матери грузит default, если он есть. А он есть. Вендовый. Но помни, это ВЕЛИКАЯ ТАЙНА. 11 Никому не говори, короче.
Не, он грузил у меня винду даже после того как я выкорчёвывал запись через efibootmgr. Ну или я тебя не понял. Ноуты разные. Сейчас у меня dell, он например сам вообще ничего не делает. Вчера обнаружил что в списке дл сих пор есть загрузчик от стоковой убунты.
на разделе efi установщиком создаётся директория, куда установщик кладёт свои файлы. У меня сейчас под рукой нет моего ноута с дуалбутом, не могу конкретику показать. Так вот, у убунты, например, своя директория, у венды своя директория. А еще бывает директория, которая суть default. Её прошивка компа смотрит в первую очередь. Так вот, венда эту директорию создаёт и подкладывает туда свои файлы. Линукс этого не делает. Надо руками или удалить эту директорию или заменить в ней файл на другой. Он там вроде bootx64.efi или типа того называется. Берёшь тупо efi файл граба переименовываешь и перезаписываешь. Или удаляешь эту дефолтную директорию и тогда прошивка должна спросить что загрузить.
Даже в этом случае, в биосе должны появляться новые варианты загрузки. А так там всегда виндовс бут менеджер и дисковод. При попытке добавить вариант загрузки ручками, в разделе efi нет ничего кроме папок Майкрософт и папки бут, в которой bootх64.efi
в разделе efi нет ничего кроме папок Майкрософт и папки бут, в которой bootх64.efi
чем смотрел? с live образа грузился? BOOT — это и есть дефолт.
Судя по слову embedding груб пытался поставиться в режиме легаси биос. Из-за того, что программа установки забутилась с dvd в режиме легаси. Надо бутить установщик в режиме уефи, тогда и груб будет ставиться в режиме уефи — файлами на фатовский efi system partition. Чтобы установщик забутить в режиме уефи, надо чтобы dvd содержал el torito uefi boot image.
Смотрел, собственно, биосом, когда он предлагал ввести путь к новому варианту загрузки. С live грузился, через него и пытался руками граб поставить из чрута. Ещё смотрел efi через /boot/efi в live, который был примонтирован к efi разделу
вот, кстати, да, хороший камент. Установщик устанавливает ОСь в том же режиме, в котором загрузили его самого. Если загрузили в legacy — он будет ставить в legacy. Хочешь поставить ОСь в uefi — грузи установщик в uefi. Изменить в процессе установки это нельзя.
кстати, а чего у тебя там в прошивке с secure boot?
Спеки, которые тебе нужно знать, есть по ссылке у меня в профиле. Там для тебя будет много лишнего, но основы там изложены, чтобы можно было понять, как всё устроено.
Secure Boot — disabled Launch CSM — enabled Где-то говорили, что надо отключить в биосе уефи вообще и грузиться в легаси, но ничего про это в моём биосе нет. Про коммент выше, сейчас переустановлю кали, загрузившись с usb в фат32 и uefi режиме. Только куда граб в конце ставить? На /dev/sda?
ставить в раздел efi, что там за установщик-то такой.
csm — это вроде как раз и есть поддержка legacy
ты, кстати, в следующий раз не признавайся, что речь про kali. Здесь мамкиных кулхацкеров не любят. Ща вот тред снесут.
Я думал про то, чтобы сказать дебиан, но не думал, что тут так всё с этим обстоит
я не помню, что там с дебианом, но что-то вроде там не хватало для uefi. Вроде точно не было signed ядер в репах. Лучше или fedora или ubuntu.
Ну так и я о чём. Только я не заменял, а просто переименовывал виндовую папку, а потом chainload из grub. Виндового загрузчика в записях материнки не было вообще.
Нет, а все-таки объясни, нахрена именно кали? За исключением софта для хакинга, она _ничем_ не отличается от дебиана. Причем многий софт опасен и для _самого_ хакера, и не только привлечением лишнего внимания.
Приведу пример: Ни один нормальный человек не будет идти в супермаркет с пистолетом, связкой гранат и ножом, если он не живет в зоне боевых действий. Хотя бы потому, что гранаты и для него опасны.
Нуу, не знаю на самом деле. Да и какая разница? Я выбрал дистриб, проблема с ним всё равно не связана. И не собираюсь я этим софтом себе по ногам стрелять и взламывать одноклассники
Вообще-то связана. Так как кали в основном ставят или в виртмашины, или на отдельные компы, её создатели не парились с полноценной поддержкой EFI и дуалбута. В других дистрах с этим лучше.
И твой ответ из серии: «Мне нахрен не нужен этот автомат, что я надеваю при выходе на улицу, мне просто он нравится.» Человек, что надевает на себя оружие без причины, вызывает сомнения в своей адекватности.
В биосе в бут меню при выборе варианта загрузки: UEFI: *моя флешка* грузится винда. В варианте без уефи грузится то, что надо. Это имеет значение?
Прямое. Кали по умолчанию _вообще_ не работает в режиме UEFI, если тебе не нужен её софт, как ты сам сказал, то ставь Debian. Только имей в виду, что его live-cd тоже не умеет в UEFI, используй netinstall.
Тогда уж проще убунту поставить, так?
Да, проще. Но ты же хотел «крутой» линукс? Вот и ставь Debian. По местным меркам он относительно крут. Ещё есть Arch, Slakware, Gentoo, Void и другие.
Граб так и не поставился, ос установилась. Видимо, дело в том, что я не загрузил фрешку из режима уефи, но при таком раскладе она не загружает вообще ничего.
А вот если я поставлю убунту, убунту поставит граб, затем поставлю кали, то, по идее, в уже поставленном грабе должна появиться кали, верно?
Нет. Почитай про отличия BIOS и UEFI подробнее.
Я оказался прав. Граб убунты видит все 3 ОС. Всем спасибо
Что такое загрузчик GRUB? Установка/восстановление/редактирование/удаление. Как поменять порядок загрузки ОС?
Как добавить в GRUB графический интерфейс читайте тут.
Что такое загрузчик GRUB?
Если вы хоть раз в жизни устанавливали из любопытства любой дистрибутив linux, значит сталкивались с загрузчиком GRUB. Что такое загрузчик GRUB? Это специальная программа, которая загружается после проверки BIOS вашего оборудования, и производит загрузку ядра и запуск операционной системы на базе linux. Так же данный загрузчик позволяет пользователю выбрать ОС во время запуска компьютера. Далее мы рассмотрим установку, восстановление, редактирование и удаление данного загрузчика.
Внимание! Если вы хотите использовать две ОС на своем компьютере, для правильной работы загрузчика сначала рекомендуется установить Windows а только потом Linux.
Установка
Обычно загрузчик GRUB устанавливается самостоятельно в процессе установки большинства linux дистрибутивов. GRUB может быть установлен в GPT и MBR разделы. Установка в каждый из них отличается. Подробнее про отличие разделов можно узнать тут .
Скорее всего для описанных ниже действий вам потребуется загрузится с внешнего носителя, на который установлен один из дистрибутивов Linux.
Тут ничего сложного. Установка выполняется командой:
Далее создаем конфигурационный файл:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Рекомендуется использовать именно этот тип разметки диска. Для установки загрузчика потребуется создать отдельный раздел размером 1 мегабайт и пометкой раздела grub_bios. Для этого воспользуемся программой GParted.
Далее нажимаем на наш новый раздел правой кнопкой, выбираем manage flags и ставим галочку на grub_bios.
После этого устанавливаем загрузчик командами:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Восстановление
Если по какой то причине загрузчик GRUB у вас поврежден, поможет программа Boot repair . Воспользоваться ею можно двумя способами:
- Скачать образ диска и установить на ваш USB накопитель
- Установить непосредственно в уже имеющийся linux дистрибутив командами:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update && sudo apt-get install -y boot-repair
Нажимаем на » Рекомендуемый способ восстановления » и программа сама ищет и исправляет известные ошибки.
Редактирование
Как редактировать параметры загрузчика? Как поменять порядок загрузки ОС? Для этого отлично подходит программа GRUB Customizer.
А в этой статье мы будем использовать программу которую мы рассмотрели выше — Boot repair . Запускаем её и кликаем на «Расширенные настройки».
В основных настройках мы можем например переустановить GRUB оставив соответствующую галочку или изменить таймаут загрузки. Переходим в следующую вкладку «Месторасположение GRUB».
Именно здесь мы можем изменить порядок загрузки ОС.
В вкладке «параметры GRUB» мы может открыть конфигурационный файл (Кликнув на «Редактировать файл конфигурации GRUB») который выглядит следующим образом:
Не рекомендуется вносить какие либо изменения в этот файл!
В вкладке «другие параметры» мы можем восстановить загрузчик Windows.
Удаление
В Windows для удаления загрузчика GRUB мы будем использовать программу BOOTICE. Запускаем её и нажимаем Process MBR .
Далее жмем Install / Config
Далее выбираем Windows NT 6.x MBR
После этого остается удалить лишь очередь загрузки. Переходим во вкладку UEFI и кликаем на Edit boot entries
Выбираем ненужные пункты и нажимаем Del
Как мы видим, выполнять манипуляции с загрузчиком достаточно просто.
Если статья была полезна, ставьте палец вверх и подписывайтесь на канал!
Установка загрузчика Grub
Для инициализации ядра и запуска операционной системы 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:
Дальше примените изменения, нажмите на разделе правой кнопкой, выберите manage flags и добавьте флаг grub_bios:
Готово. Если у вас нет под рукой доступа к графическому интерфейсу, вы можете создать такой раздел через терминал. Утилита fdisk не поддерживает работу с gpt, поэтому будем использовать gfdisk. Сначала запустите утилиту:
Чтобы создать новый раздел нажмите n и выберите номер раздела:
Соглашаемся с начальным сектором, будет использован первый же свободный:
Выбираем конечный сектор раздела. По умолчанию будет использоваться максимальный. Нам нужен раздел размером 1 Мб. Размер одного сектора GPT — 512 байт, поэтому нам нужен раздел размеров 2048 секторов. Таким образом, конечный сектор будет 24000 с чем-то.
HEX Code — это тот код, который скажет системе, что этот раздел нужно использовать для Grub, нужно установить ef02:
Готово, осталось нажать w для записи изменений на диск:
Установка 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. Вот так он будет выглядеть:
Если же такого раздела нет, мы можем его создать с помощью gparted. Для этого создаем раздел с такими параметрами:
Размер 100 Мегабайт, имя раздела ESP, файловая система fat32. Дальше примените изменения и установите для раздела флаг ESP:
То же самое вы можете сделать в 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. Так вы будете лучше понимать что происходит во время восстановления. А настройку параметров и ручное создание конфигурационного файла мы рассмотрим в одной из следующих статей.