Какими бывают процессоры: x86 и ARM
В мобильных устройствах (планшеты, смартфоны) и классических компьютерах (ноутбуки, настольные ПК, серверы) используются разные процессоры. Они по-разному взаимодействуют с операционными системами и программами — взаимной совместимости нет. Именно поэтому вы не сможете запустить привычные Word или Photoshop на своем iPhone или Android-смартфоне. Вам придется скачивать из AppStore или Google Play специальную версию софта для мобильных устройств. И она будет сильно отличаться от версии для настольного ПК: как визуально, так и по функциональности, не говоря уже о программном коде, который пользователь обычно не видит.
Процессоры для классических компьютеров строятся на архитектуре x86. Своим названием она обязана ранним чипам компании Intel c модельными индексами 8086, 80186 и так далее. Первым таким решением с полноценной реализацией x86 стал Intel 80386, выпущенный в 1985 году. Сегодня подавляющее большинство процессоров в мире с архитектурой x86 делают Intel и AMD. При этом у AMD, в отличие от Intel, нет собственного производства: с 2018 года им по заказу компании занимается тайваньская корпорация TSMC.
Процессор Intel 8086, 1978 год
(Фото: wikipedia.org)
Когда Acer, Asus, Dell, HP, Lenovo и любые другие производители классических компьютеров используют процессоры Intel или AMD, то им приходится работать с тем, что есть. Они вынуждены закупать готовые решения без возможности гибко доработать чипы под свой конкретный продукт. А свои собственные процессоры на архитектуре x86 никто из производителей ПК делать не может. Дело не только в том, что это крайне сложно и дорого, но и в том, что лицензия на архитектуру принадлежит Intel, и компания не планирует ее ни с кем делить. AMD же воевала в американских судах за право создавать чипы на архитектуре x86 со своим главным конкурентом более десяти лет в 1980-х и 1990-х годах.
Процессоры для мобильных устройств строятся на базе архитектуры ARM. И это не какая-то быстро и внезапно взлетевшая вверх молодая компания. Корни истории современной британской ARM Limited уходят далеко в 1980-е. Только в отличие от своих доминирующих на рынке «больших» ПК-конкурентов ARM Limited процессоры не делает. Бизнес компании построен на том, что она продает лицензии на производство чипов по своей технологии всем желающим. Причем возможности для доработки у лицензиатов максимально широкие — отсюда популярность и многообразие решений. Именно на основе архитектуры ARM Huawei делает свои мобильные чипы Kirin, у Samsung это Exynos, у Apple — серия Ax. В этот же список входят Qualcomm, MediaTek, NVIDIA и другие компании. А еще свои процессоры на ARM делает Fujitsu. Японцы назвали их A64X, и именно они в количестве 158 976 штук используются в самом мощном на момент выхода этой статьи суперкомпьютере в мире — Fujitsu Fugaku.
Суперкомпьютер Fujitsu Fugaku
(Фото: Riken)
Из открытого подхода ARM вытекает и главный недостаток: архитектура очень фрагментирована. Для x86 достаточно написать программу один раз, и она будет одинаково стабильно работать на всех устройствах. Для ARM приходится адаптировать софт под процессоры каждого производителя, что замедляет и удорожает разработку. Ну, а главный недостаток x86 вытекает из отсутствия конкуренции. В последние годы Intel, например, много упрекали за медленный или порой вовсе едва ощутимый прирост производительности от поколения к поколению. Также есть проблемы с высокими уровнями нагрева и энергопотребления.
Процессор Apple M1: чем он так хорош?
Apple M1 интересен не столько тем, что построен на базе технологий ARM, сколько своей архитектурой. Здесь на одной подложке собраны сам процессор, в котором по 4 производительных и энергоэффективных ядра, восьмиядерная графическая подсистема, нейромодуль для машинного обучения, огромные (по меркам процессоров) объемы кэш-памяти плюс тут же распаяна оперативная память. Такое решение занимает совсем мало места в корпусе компьютера, потребляет мало энергии (аккумулятор ноутбука дольше не разрядится) и может работать без активного охлаждения (ноутбук будет тихим или вовсе бесшумным) при хорошем уровне производительности.
Чип Apple M1 в Macbook Air Late 2020
(Фото: iFixit)
И совсем не просто так первым компьютером Apple с процессором M1 стал MacBook Air. С одной стороны, это лэптоп, главными преимуществами которого как раз и должно быть все, что дает новый процессор: компактность, автономность, тишина. С другой стороны, это компьютер для наименее требовательных пользователей, которым практически не нужен никакой специфический софт — достаточно того, что сама Apple предлагает «из коробки»: браузера, проигрывателя, офисного пакета. А для софта, который под ARM адаптировать пока не успели, Apple использует встроенный эмулятор Rosetta 2.
Следующими ПК Apple с M1 после MacBook Air стали 13-дюймовый MacBook Pro и Mac Mini. Также недавно был анонсирован новый iMac. Такие машины уже ориентированы на задачи посерьезнее, но все равно это еще далеко не профессиональный сегмент — на него в Купертино пока лишь намекают. И именно здесь к решению Apple на базе технологий ARM возникает основной вопрос: получится ли «отмасштабировать» M1 до уровня профессиональных решений, где компактность и энергоэффективность не так важны, а на первый план выходит именно производительность? Как реализовать связку М1 с мощными дискретными видеокартами, без которых о монтаже, рендеринге и других сложных вычислениях говорить не приходится? Или может быть Apple вообще готовится к выпуску собственной дискретной графики? Вопросов пока куда больше, чем ответов на них.
Новая линейка тонких (11,5 мм) iMac 2021 на базе M1
(Фото: Apple)
Уже готовые компактные устройства Apple с чипами M1 выглядят действительно интересно, правда выигрыш в производительности в них явно ощущается в основном только в уже адаптированных под ARM программах, но зато он очень заметный. Так что если Intel и AMD не смогут дать достойный ответ конкуренту в нише энергоэффективных ПК, то рост популярности решений Apple не заставит себя ждать даже несмотря на то, что еще какое-то время софта будет не хватать. Массовому пользователю ведь много не нужно.
Сравнение производительности отдельных ядер на чипах M1 и Intel, больше — лучше
(Фото: GeekBench)
Сравнение производительности всех ядер на чипах M1 и Intel, больше — лучше
(Фото: GeekBench)
Поддержка программ и оборудования
Рядовому пользователю важно понимать следующее:
64-битная система совместима и с 64-битными, и с 32-битными версиями как операционной системы, так и сторонних приложений. После установки Windows x64 на системном диске будут созданы отдельные каталоги Program Files для 64- и 32-разрядных программ. Соответственно, вы сможете устанавливать любые приложения, а при необходимости система будет обращаться к файлам из каталога x64 или x32.
Аналогичным образом, 32-разрядная система может поддерживать 16-битные приложения, которые актуальны, например, для Windows 3.1 1992 года выпуска. Если вы не работник музея IT, то на 32-битной Windows будете запускать исключительно 32-битные приложения, а 64-разрядное ПО поддерживаться не будет.
Что касается сторонних приложений, то абсолютно все адекватные современные разработчики выпускают 64-разрядное ПО, некоторые девелоперы также проявляют заботу о владельцах устаревших систем и добавляют 32-битную версию отдельно.
Кроме того, некоторые производители оборудования (зачастую офисного: принтеров, копиров, сканеров и т.д.) намеренно не обновляют драйвера устаревших устройств и подписывают их 32-разрядные версии, как бы подталкивая пользователей к приобретению более новых моделей, но из предыдущих абзацев нам известно, что 64-версия операционной системы всегда имеет обратную совместимость с 32-битными программами.
ПО ТЕМЕ: iPhone или iPad, в качестве второго дисплея для компьютера Windows. Как это сделать бесплатно?
Установка нового ядра
Каждый раз после установки нового ядра, необходимо переконфигурировать GRUB2, чтобы он увидел его. Это можно сделать с помощью команды grub-mkconfig, как это было показано выше, или это можно .
ЗаметкаПеред выполнением следующей команды убедитесь, что раздел /boot смонтирован.
Generating grub.cfg ... Found linux image: /boot/kernel-3.3.8-gentoo Found initrd image: /boot/initramfs-genkernel-x86_64-3.3.8-gentoo Found linux image: /boot/kernel-3.2.12-gentoo Found initrd image: /boot/initramfs-genkernel-x86_64-3.2.12-gentoo done
Обратите внимание, что GRUB2 необходимо только переконфигурировать, а не переустановливать в Master Boot Record (MBR) загрузочного диска. С другой стороны, когда обновляется сам GRUB2, его необходимо переустановить на загрузочный диск, но, как правило, его не нужно переконфигурировать.
Какую разрядность Windows выбрать и почему
Поехали. Все «за» и «против» перехода на разрядность Windows x64:
- 64-битная версия Windows, формально выглядит и ощущается точно так же, как и обычная 32-битная, т.е. никаких особенных новшеств и бонусов в ней нет, однако, люди с многоядерными процессорами могут ощутить прирост производительности при использовании такой системы и 64-битных приложений в ней (что, впрочем, актуально далеко не для всех и не всегда);
- x64 способна видеть и работать с оперативной памятью 4 и более Гбайт. А вот x32 видит только 3 Гбайта, даже если физически планок оперативной памяти стоит больше. Т.е, люди, которые имеют в компьютере большой запас памяти получат больше производительности на 64-битной системе и меньше проблем с недостатком оперативной памяти;
- Не для всех компьютеров и железа в нем, производители выпустили 64-разрядные версии драйверов, что может стать проблемой при переходе на такую систему. Проверяйте наличие драйверов на сайте производителей мат.платы, видеокарты и тп, возможно, что Вы просто не сможете мигрировать с 32-разрядной системы;
- Большинство x32 приложений прекрасно работают в x64 системах, но не наоборот;
- Формально смысл перехода, в основном, заключается в количестве памяти на борту компьютера. Если меньше 4 Гбайт, то переходить смысла почти нет. Если больше (или хочется поставить больше), то стоит. Естественно, что для большинства систем, приложений и игр актуально правило «Чем больше памяти — тем лучше». Почему? Читайте в моей статье «Практика использования 8 гб оперативной памяти + WD VelociRaptor в RAID 0»
- Моё мнение — однозначно x64, ибо большое количество памяти и, бывает, улучшенная производительность для многоядерников, определенно рулит.
Кратенько как-то так.
Конфигурация
EFI vars
Для того, чтобы успешно использовать efibootmgr, должна быть доступна файловая система переменных EFI. Следовательно система должна быть уже загружена в режиме EFI (а не через BIOS в режиме MBR), так как иначе переменные EFI сами по себе не будут доступны. Если система загружена в режиме MBR, перезагрузитесь и настройте все необходимое для загрузки EFI режиме. Обычно, для этого нужно, либо настроить встроенное ПО (BIOS), либо выбор в меню загрузки запись содержащую EFI.
Когда система загружена в EFI режиме запустите следующую команду, чтобы проверить доступность :
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
Если данная файловая система не смонтирована (она должна быть смонтирована через скрипт инициализации sysfs), можно смонтировать ее вручную следующей командой:
Вводная про разрядность Windows
Начну, пожалуй, с того, что разрядностей у Windows на сегодняшний день пока две: 32-бит и 64-бит, т.е. дистрибутивы делятся на x32 и x64 соответственно. Что же до x86 — это не более чем обозначение 32-х битной версии (т.е. если Вы увидите x86, то знайте что речь идет о x32). Зачем два названия решительно не понятно, но знайте, что если Вы не устанавливали специально 64-битную операционную систему, то Ваша Windows имеет 32-х битную разрядность.
Однако, на всякий случай, посмотреть разрядность в системе можно простейшим способом: находим ярлык»Мой компьютер», жмем по нему правой кнопкой мышки и выбираем пункт свойства (скриншот ниже актуален для Windows 7, в случае с Windows XP окно будет немного другим, но смысл тот же):
Давайте разберемся, чем же отличаются дистрибутивы и разрядность Windows x32 от Windows x64 и стоит ли вообще переходить на 64-бита.
Примечание: не только система, но и программы (и драйвера) имеют разрядность, т.е, бывают 32-битные и 64-битные, а посему, следуя тексту ниже, могут видеть и использовать либо ограниченное количество памяти, либо всю.
Устранение проблем
Чтобы получить больше информации по устранению ошибок в GRUB2, пожалуйста, проверьте статью Troubleshooting.
Большую часть проблем можно устранить, проверив правильность таблицы разделов. Убедитесь, что перед первым разделом диска достаточно свободного места или убедитесь, что загрузочный раздел BIOS доступен. Также убедитесь в том, что файл /boot/grub/grub.cfg был правильно сгенерирован командой grub-mkconfig, или сгенерируйте его с индивидуальным пунктом меню.
os-prober not running
When running the grub-mkconfig command, os-prober is not running as expected, even though it is installed:
Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.11.14-gentoo-x86_64 Found initrd image: /boot/amd-uc.img /boot/initramfs-5.11.14-gentoo-x86_64.img Warning: os-prober will not be executed to detect other bootable partitions. Systems on them will not be added to the GRUB boot configuration. Check GRUB_DISABLE_OS_PROBER documentation entry. Adding boot menu entry for UEFI Firmware Settings ... done
This can be corrected by setting the GRUB_DISABLE_OS_PROBER variable to in /etc/default/grub file.
Файл
GRUB_DISABLE_OS_PROBER=false
Upon the next run, grub-mkconfig should find additional bootable partitions:
Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.11.14-gentoo-x86_64 Found initrd image: /boot/amd-uc.img /boot/initramfs-5.11.14-gentoo-x86_64.img Warning: os-prober will be executed to detect other bootable partitions. It's output will be used to detect bootable binaries on them and create new boot entries. Found Windows Boot Manager on /dev/nvme0n1p2@/efi/Microsoft/Boot/bootmgfw.efi Adding boot menu entry for UEFI Firmware Settings ... done
Прошивка материнской платы не находит файл .EFI
Некоторые производители материнских плат поддерживают только одно расположение файла .EFI, в системном разделе EFI (ESP). Если это ваш случай, просто переместите файл GRUB по умолчанию в /efi/boot/. Сначала убедитесь, что ESP примонтирован. Предполагая, что ESP примонтирован в /boot/efi (как предлагается в Handbook), запустите:
You can also use the removable parameter with grub-install command to generate this file automatically:
Installation finished. No error reported.
Это должно помочь прошивке материнской платы загрузить исполняемые файлы GRUB. Перезагрузите систему чтобы убедиться, что прошивка запускает GRUB корректно.
os-prober и UEFI в chroot
Запустите эти команды в окружении реального хоста, чтобы предоставить необходимые файлы (пример подразумевает, что Gentoo смонтирована в /mnt/gentoo как это было в Handbook):
Установка
It is recommended all systems should upgrade to GRUB2, since it supports all the same features sets as Legacy. Legacy was removed from the Gentoo ebuild repository.
Предварительные требования
Чтобы контролировать на какие платформы будет установлен установите переменную GRUB_PLATFORMS в файле make.conf. Архитектура amd64 включает в себя профиль по умолчанию, который подходит для большинства систем.
Файл Пример настройки GRUB_PLATFORMS для платформ EMU, EFI и PC
GRUB_PLATFORMS="emu efi-32 efi-64 pc"
Следующие платформы поддерживаются, в зависимости от целевого CPU:
Target | |||||||
---|---|---|---|---|---|---|---|
Platform | i386 | ia64 | mips | mipsel | powerpc | sparc64 | x86_64 |
ARC | No | No | No | Yes | No | No | No |
Coreboot | Yes | No | No | No | No | No | 32-bit |
EFI | Yes | Yes | No | No | No | No | Yes |
EMU | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
IEEE 1275 (Open Firmware) | Yes | No | No | No | Yes | Yes | 32-bit |
Loongson | No | No | No | Yes | No | No | No |
Multiboot | Yes | No | No | No | No | No | 32-bit |
QEMU | Yes | No | No | No | No | No | 32-bit |
QEMU-MIPS | No | No | Yes | No | No | No | No |
PC | Yes | No | No | No | No | No | 32-bit |
ЗаметкаКаждый раз когда значение в переменной GRUB_PLATFORMS корректируется GRUB2 необходимо будет перекомпилировать для перекомпиляции измененных двоичных файлов. Убедитесь, что это делается с опцией , как это показано в ниже.
Профили amd64 по умолчанию включают поддержку (U)EFI-функциональности. В случае использования систем на базе BIOS, установите в переменной GRUB_PLATFORMS значение , чтобы избежать ненужных зависимостей.
USE flags for
sys-boot/grub
GNU GRUB boot loader
Enable support for device-mapper from sys-fs/lvm2 | |
Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally | |
Build and install the efiemu runtimes | |
Build and install fonts for the gfxterm module | |
Enable support for sys-fs/zfs | |
Build and install the grub-mount utility | |
Add Native Language Support (using gettextGNU locale utilities) | |
Add support for Simple Direct Layer (media library) | |
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) | |
Build and install GRUB themes (starfield) | |
Build and install grub-mkfont conversion utility |
Выбор загрузчика
Когда ядро Linux настроено, системные утилиты установлены и конфигурационные файлы отредактированы, настало время для установки последней важной части системы Linux: загрузчика.
Загрузчик отвечает за запуск ядра Linux во время загрузки — без него система не будет знать, как действовать после нажатия кнопки питания.
Для amd64, мы описали настройку либо , либо для систем на базе BIOS, и или для UEFI-систем.
В этом разделе Руководства было сделано разделение между установкой пакета (emerge) загрузчика и установкой загрузчика на системный диск. Термин установка пакета (emerge) будет использоваться для установки пакета в систему с помощью пакетного менеджера Portage. Термин установка загрузчика на системный диск будет означать копирование файлов загрузчика или физическое изменение соответствующих разделов диска для того, чтобы активировать и подготовить к работе загрузчик для следующей перезагрузки.
Установка
Загрузка в режиме EFI
- Убедитесь, что вы загружены в режиме UEFI.
- Проверьте .
- Корректно примонтируйте Системный Раздел EFI (ESP). В этой статье используется для обозначения точки монтирования.
Примечание: systemd-boot EFI не может загружать бинарные файлы из других разделов. По этой причине, рекомендуется монтировать ваш ESP в . В случае, если вы хотите разделить с ESP, обратитесь к для большей информации. - Если ESP не примонтирован к , копируйте ваше ядро и initramfs в ESP.
Примечание: Чтобы сохранить автоматическое обновление ядра в ESP, взгляните на для адаптации некоторых юнитов systemd. Если ваш Системный Раздел EFI монтируется автоматически, вам, вероятно, потребуется добавить в файл внутри . Тогда в текущем запущенном ядре во время загрузки будет установлен модуль , до того, как произойдет обновление ядра, которое может заменить модуль для текущей версии, что сделает невозможным монтирование до перезагрузки. - Введите следующую команду для установки systemd-boot:
# bootctl --path=esp install
Она скопирует двоичный файл systemd-boot на Системный Раздел EFI ( и — оба идентичны на x86-64 системах) и добавит systemd-boot как EFI приложение по умолчанию (загрузочная запись по умолчанию), загружаемое с помощью EFI Boot Manager.
- Наконец, для правильного функционирования вы должны загрузчик.
Загрузка в режиме BIOS
Важно: Это нерекомендованный процесс
Вы с таким же успехом можете установить systemd-boot, если загружаетесь в режиме BIOS. Тем не менее, от вас всё равно требуется сообщить прошивке запускать EFI файл systemd-boot при загрузке:
- у вас есть работающий EFI shell где-нибудь.
- ваш интерфейс прошивки предоставляет вам соответствующий способ настройки EFI файла, который будет загружен во время загрузки.
Если вы имеете такую возможность, процесс установки будет проще: перейдите в ваш EFI shell или интерфейс настройки вашей прошивки и измените EFI файл по умолчанию вашей машины на ( или если у вас 32 битная системная прошивка).
Примечание: интерфейс прошивки в Dell Latitude сериях предоставляет все необходимое, чтобы установить EFI загрузку, но EFI Shell не сможет осуществить запись в ПЗУ компьютера.
Обновлениe
В отличие от предыдущего отдельного пакета gummiboot, который автоматически обновляется с помощью скрипта, обновления systemd-boot теперь должны производиться пользователем вручную. Однако, эта процедура может быть автоматизирована с использованием pacman hooks.
Вручную
systemd-boot (bootctl(1)) предполагает, что ваш Системный Раздел EFI примонтирован в .
# bootctl update
Если ESP не примонтирован в , опцией можно явно указать точку монтирования, например:
# bootctl --path=esp update
Примечание: Также эту команду следует использовать при переходе с gummiboot, перед удалением этого пакета. Однако, если этот пакет уже был удален, выполните .
Автоматически
AUR (Русский) пакет AUR предоставляет для автоматизации процесса обновления. Установка этого пакета добавит hook, который будет выполняться при каждом обновлении пакета .
В качестве альтернативы, вы можете разместить следующий pacman hook в каталоге /etc/pacman.d/hooks/:
/etc/pacman.d/hooks/systemd-boot.hook
Type = Package Operation = Upgrade Target = systemd Description = Updating systemd-boot... When = PostTransaction Exec = /usr/bin/bootctl update
Стоит ли менять шило на мыло и наоборот?
Основное и едва ли не единственное отличие x64 от x32 в том, что версия x64 может работать с памятью вплоть до 32 Гбайт и запускать одновременно и 64-битные, и 32-битные приложения, тогда как традиционная x32 способна адресовать лишь до 4 Гбайт памяти, запускать только 32-битные программы для которых доступно только 3 Гбайт (говоря проще, даже если в компьютере 4 Гбайт (и более) памяти, то 32-битная система будет отображать и работать лишь с 3-мя, а остальная память будет попросту простаивать, ибо ни система, ни программы, попросту её не увидят).
У версии x64 ситуация иная: для 32-битных приложений доступны все 4 (и более) Гбайт , а для 64-битных приложений вообще вся оперативная память, которая физически установлена в компьютере. Повторюсь, что 64-битная система может запускать и те и другие приложения, но не наоборот.
В общих чертах вот так. Остальное — куча технических и не очень подробностей, которые в общем-то не очень то нужно знать, а посему я попросту приведу некоторые итоги, которые объяснят почему стоит\не стоит (решать всё равно Вам) переходить на x64.
Придут ли процессоры ARM на смену x86?
Точного ответа на этот вопрос пока не знает никто. Но уже сейчас очевидно, что в ближайшие годы основная борьба x86 в лице Intel и ARM в лице Apple развернется на рынке компактных ноутбуков. Они, в отличие от неттопов (Mac Mini) и моноблоков (iMac), значительно более востребованы. Также очевидно и то, что пользователи от такого противостояния только выиграют.
Конечно, техника (особенно у Apple) от этого не подешевеет, но зато мы прямо сейчас получили ультрапортативные лэптопы без активного охлаждения с долгожданным ощутимым приростом мощности и времени работы от батареи. Здорово и то, что разработчики Intel наконец-то взбодрятся. Из-за отсутствия конкуренции они слишком долго почивали на лаврах: самое время доставать из рукавов все припрятанные козыри. Собственно, именно так технологии и развиваются. Новый виток эволюции процессоров происходит прямо у нас на глазах, и ситуация выглядит так, что все вполне может обернуться революцией, которая полностью изменит как рынок процессоров, так и рынок компьютеров.
По умолчанию: GRUB2
Emerge
Если используется старая материнская плата, BIOS которой поддерживает только таблицу разделов MBR, для установки GRUB не нужно никаких дополнительных настроек:
Заметка для пользователей UEFI: запущенная команда выведет включенные значения в переменной GRUB_PLATFORMS, перед компиляцией. Если используется более новая UEFI-совместимая материнская плата, пользователям сперва нужно убедиться, что включено (обычно это уже сделано по умолчанию). Если это не так, добавьте в файл /etc/portage/make.conf до компиляции GRUB2, что позволит собрать пакет с поддержкой EFI:
- Если GRUB2 был каким-то образом был установлен до включения , то добавьте строку (из примера выше) в make.conf, после чего повторно переопределите зависимости для для набора пакетов world с помощью emerge :
GRUB2 теперь установлен в системе, но еще не активирован.
Установка GRUB2 на диск
Далее установим необходимые для GRUB2 файлы в каталог /boot/grub/ с помощью команды grub-install. Если предположить, что первый диском (тот, с которого будет загружаться система) является /dev/sda, то одна из следующих команд сделает это:
Когда используется BIOS:
Когда используется UEFI:
ВажноУбедитесь, что системный раздел EFI был смонтирован перед запуском grub-install. grub-install может установить файл GRUB EFI (grubx64.efi) в неправильном каталоге без каких-либо сообщений, о том, что использовался неправильный каталог
- ЗаметкаИзмените параметр на корневой каталог системного раздела EFI. Это необходимо, если раздел /boot не был отформатирован как FAT.
ВажноЕсли grub_install вернёт ошибку , необходимо перемонтировать специальную точку монтирования efivars в режим чтения-записи:
Некоторые производители материнских плат поддерживают только каталог /efi/boot/ для расположения файла .EFI в системном разделе EFI (ESP). Установщик GRUB может выполнить эту операцию автоматически, если использовать параметр . Убедитесь, что ESP смонтирован до запуска следующих команд. Предполагая, что ESP смонтирован в /boot (как было предложено ранее), выполните:
Это создает каталог по умолчанию, определенный спецификацией UEFI, а затем скопирует файл grubx64.efi в каталог EFI «по умолчанию», определенный той же спецификацией.
Настройка
Далее, нужно сгенерировать конфигурационный файл GRUB2 на основе настроек пользователя, указанных в файле /etc/default/grub и сценариях /etc/grub.d. В большинстве случаев ничего не нужно настраивать, так как GRUB2 автоматически определяет, какое ядро есть для загрузки (самый высокий приоритет у /boot/) и какая файловая система у rootfs. Здесь также можно добавить параметры ядра в /etc/default/grub, используя переменную GRUB_CMDLINE_LINUX.
Для создания окончательной конфигурации GRUB2, запустите команду grub-mkconfig:
Generating grub.cfg ... Found linux image: /boot/vmlinuz-4.9.16-gentoo Found initrd image: /boot/initramfs-genkernel-amd64-4.9.16-gentoo done
Вывод команды должен содержать по крайней мере один образ Linux, так как он необходим для загрузки системы. Если используется initramfs или ядро создавалось с помощью genkernel, также должен быть указан правильный образ initrd. Если это не так, перейдите в /boot/ и проверьте содержимое, используя команду ls. Если файлы действительно отсутствуют, вернитесь к инструкции по настройке и установке ядра.