- Как загрузить и установить Linux на компьютер с UEFI и Secure Boot
- Как работает режим Secure Boot
- Варианты установки Linux
- Как отключить режим Secure Boot
- Загрузка со сменного носителя
- [Решено] Установка Linux второй системой с Windows 8/8.1/10 на ноутбук с UEFI
- Выделяем место на жестком диске для Linux
- Создание загрузочной флешки Linux с UEFI
- Установка Linux Mint второй системой на ноутбук c Windows 8 в режиме UEFI
- Загрузка Linux с VHD на компьютере с UEFI
- Установка Linux на VHD
- Подготовка Linux к загрузке с VHD
- Настройка grub.cfg
- Особенности настройки параллельно с Windows bootloader
Как загрузить и установить Linux на компьютер с UEFI и Secure Boot
Новые компьютеры с системой Windows поставляются с прошивкой UEFI и с включенной загрузкой Secure Boot. Режим Secure Boot предотвращает загрузку операционных систем, если они не подписаны ключом, загруженным в UEFI; сразу «из коробки» можно загрузить только программное обеспечение, подписанное фирмой Microsoft.
Фирма Microsoft требует, чтобы производители компьютеров позволяли пользователям отключить режим Secure Boot, поэтому вы можете отключить режим Secure Boot или добавить свой собственный ключ для того, чтобы обойти это ограничение. Режим Secure Boot нельзя отключить на устройствах ARM под управлением Windows RT.
Как работает режим Secure Boot
Компьютеры, которые поставляются с системами Windows 8 и Windows 8.1 имеют прошивку UEFI вместо традиционного BIOS. По умолчанию прошивка UEFI машины будет загружать только загрузчики, подписанные ключом, встроенным в прошивку UEFI. Эта особенность известна как «Secure Boot» (безопасная загрузка) или «Trusted Boot» (проверенная загрузка). На традиционных компьютерах без этой функции безопасности, руткит может установить себя и стать загрузчиком boot loader. После этого BIOS компьютера будет загружать руткит в процессе загрузки, во время которой происходит загрузка самого загрузчика и загрузка Windows, скрывая себя от операционной системы и внедряя себя глубоко в систему.
Режим Secure Boot блокирует это — компьютер будет загружать только проверенное программное обеспечение, поэтому вредоносные начальные загрузчики не смогут заразить систему.
На компьютерах Intel x86 (а не на компьютерах ARM) у вас есть возможность управлять режимом Secure Boot. Вы можете выбрать вариант отключения этого режима или даже добавить ключ со своей собственной подписью. Организации могут использовать свои собственные ключи для того, чтобы обеспечить, чтобы могли загружаться только одобренные операционные системы Linux, например
Варианты установки Linux
У вас есть несколько вариантов установки Linux на компьютер с режимом Secure Boot:
- Выберите дистрибутив, в котором поддерживается режим Secure Boot: современные версии Ubuntu, начиная с Ubuntu 12.04.2 LTS и 12.10, будет загружаться и нормально устанавливаться на большинстве ПК с включенным режимом Secure Boot. Это объясняется тем, что загрузчик EFI первоначального этапа загрузки в Ubuntu подписан фирмой Microsoft. Впрочем, один из разработчиков Ubuntu отмечает , что загрузчик в Ubuntu не подписан ключом, который необходим согласно процессу сертификации Microsoft, а просто одним из ключей, о которых говорят, что он «рекомендован» фирмой Microsoft. Это означает, что Ubuntu не обязана загружаться на всех компьютерах с UEFI. Для того, чтобы использовать Ubuntu на некоторых компьютерах, пользователям, возможно, придется отключить режим Secure Boot.
- Отключение режима Secure Boot: Режим Secure Boot можно отключить, что позволит позволить превратить преимущество безопасной загрузки в возможность иметь что-нибудь свое для загрузки компьютера точно также, как это делается на старых компьютерах с традиционным BIOS. Это также потребуется сделать, если вы хотите установить старую версию Windows, которая не разрабатывалась с врозможностью использовать режим Secure Boot, например, Windows 7.
- Добавить в прошивку UEFI подписанный ключ: Некоторые дистрибутивы Linux позволяют подписывать свои загрузчики с помощью их собственного ключа, который вы можете добавить в свою прошивку UEFI. На данный момент, это, кажется, не является обычной практикой.
Вы должны проверить, какой из этих вариантов рекомендуется использовать для вашего дистрибутива Linux. Если вам нужно загрузить старый дистрибутив Linux, в котором нет никакой информации об этом, вы нужно будет просто отключить режим Secure Boot.
На большинстве новых компьютеров у вас должна иметься возможность устанавливать без каких-либо проблем текущие версии Ubuntu — либо релиз LTS, либо последний релиз. Инструкции о том, как загружаться со сменного носителя, смотрите в последнем разделе.
Как отключить режим Secure Boot
Вы можете управлять режимом Secure Boot из вашего экрана настройки прошивки UEFI — UEFI Firmware Settings. Для доступа к этому экрану, вам нужно будет в Windows 8 получить доступ к меню параметров загрузки. Чтобы сделать это, откройте страницу Settings (Настройки) — чтобы попасть на эту страницу, нажмите клавишу Windows Key + I, затем нажмите кнопку питания, а затем нажмите и удерживайте клавишу Shift и одновременно щелкните мышкой по кнопке Restart (Перезагрузка).
Ваш компьютер будет перезагружен в экран расширенных параметров загрузки. Выберите вариант Troubleshoot (Диагностика), выберите вариант Advanced options (Дополнительные параметры), а затем выберите пункт UEFI Settings (Настройки UEFI). На некоторых компьютерах с системой Windows 8 вы можете не увидеть пункт UEFI Settings, даже если эти компьютеры поставляются с UEFI — в этом случае для того, чтобы получить информацию о том, как добраться до его экрана настроек UEFI, обратитесь к документации разработчика.
Вы попадете на экран настроек UEFI, где вы можете выбрать отключение режима Secure Boot или добавление своего собственного ключа.
Загрузка со сменного носителя
Вы можете загрузиться со сменного носителя при помощи точно такого же доступа к меню параметров загрузки — удерживайте нажатой клавишу Shift и щелкните мышкой по кнопке Restart (Перезагрузка). Подключите загрузочное устройство, выберите вариант Use a device (Использовать устройство), и выберите устройство, с которого необходимо загрузиться.
После загрузки со сменного носителя вы можете установить Linux точно также, как и обычно, или просто можете использовать живую среду сменного носителя (устройство live), не устанавливая его.
Имейте в виду, что режим Secure Boot является полезной функцией безопасности. Вы должны оставить эту возможность включенной в случае, если вам не требуется запускать операционные системы, которые не будут загружаться с включенным режимом Secure Boot.
Источник
[Решено] Установка Linux второй системой с Windows 8/8.1/10 на ноутбук с UEFI
Сегодня расскажу про установку Linux второй системой к уже имеющейся Windows 8/8.1 или 10 на ноутбук с UEFI с помощью загрузочной USB-флешки. На данный момент это будет, наверное, уникальное руководство, так как ничего вразумительного на просторах рунета по данной теме мне отыскать не удалось. Несмотря на бурное развитие интернета, различных сообществ и форумов по Linux, реально полезную информацию в куче «псевдоумных» комментариев найти сейчас крайне сложно.
Для экспериментов у меня был ноутбук Asus X555LD с UEFI, предустановленной лицензионной Windows 8.1 и соответственно разделом восстановления. Всё это хозяйство в обязательном порядке должно было остаться и работать как и раньше. А второй системой должен был стать, последний на данный момент, Linux Mint 17.3 «Rosa» MATE (64-bit) с возможностью выбора нужной ОС при включении ноутбука. Устанавливать дистрибутив будем с загрузочной флешки.
В статье постараюсь обойтись без специальных терминов и команд, так что справиться с установкой сможет даже начинающий пользователь Linux. На самом деле установка современных дистрибутивов Linux, в большинстве случаев не вызывает никаких вопросов и танцев с бубном как раньше, но только до тех пор пока вы не сталкиваетесь с новыми BIOS UEFI.
Многие просто забивают на проблему, если ноутбуки позволяют выставить режим legacy BIOS (т.е. устаревшую базовую система ввода/вывода) — собственно к этому и сводится большинство советов на форумах. Но такой подход иногда приводит к не очень корректной работе ноутбука, чаще всего это выражается в управлении функциями регулировки яркости экрана, звука, wi-fi.
А уж по части установки Linux второй системой к Windows, то тут вообще единодушие в решение проблемы — сносите ненавистный Windows 8/10 и устанавливаете в обычном режиме семёрку вместе с вожделенным Линуксом. Ребята, ну это вообще не путь юниксоидов. Надо искать решение проблемы, а не тупо делать что проще. К тому же новые ноутбуки режим legacy BIOS уже не предоставляют, как тут быть спрашивается? Да и терять лицензию не каждому захочется, плюс продавая ноутбук желательно возвратить его в исходное состояние.
От лирики перейдем к главному, ради чего всё затевалось — непосредственно к установке. Напомню что мы хотим получить в итоге — предустановленную Windows 8 с заводским разделом восстановления, которая бы мирно жила рядом с Linux Mint (ну это в моем случае, у вас может быть и другая) в UEFI режиме, ну и соответственно с помощью Grub загружать обе системы.
Выделяем место на жестком диске для Linux
На всякий случай, если что-то вдруг пойдет не так и вы не уверены в прямоте своих рук, желательно всё-таки сделать загрузочную флешку или диски восстановления Windows (программы для этого обычно предустановлены на ноутбуках).
Освободить место на жестком диске можно как штатными средствами Windows, так и воспользовавшись какой-нибудь бесплатной или платной программой для работы с разделами, полагаю это не проблема. Тут главное не навредить и не трогать раздел загрузки efi, восстановления RECOVERY и иные вспомогательные разделы (зависит от выдумки производителя).
Для Linux я отщипнул кусочек в 200Гб от диска D, у меня получилась неразмеченная область — туда и будем ставить наш дистрибутив. Кому удобнее, может сразу разметить освободившееся место под Linux, чуть ниже напишу какие именно разделы нам понадобятся.
Создание загрузочной флешки Linux с UEFI
Скачиваем с сайта 64-битный iso-образ диска Linux Mint. Где-то читал что у 32-х битных систем есть проблемы с режимом UEFI, сам не проверял, так что у кого есть интерес, может поэкспериментировать и поделиться результатами если не жалко.
Свою флешку я сделал просто из терминала на Mac по аналогии как описывал ранее создание загрузочной флешки с FreeBSD:
Аналогично командой dd создается загрузочная флешка и на Linuх. Под Windows корректно создать загрузочную флешку в режиме UEFI можно утилитой Rufus, о которой тоже уже писал в блоге.
Пожалуй, практически все приготовления завершены, но прежде чем перейти непосредственно к установке Linux, осталось в BIOS-UEFI ноутбука (на Asus заходим в него по F2) отключить Secure Boot. В противном случае включенный режим проверки подписи ключей UEFI не даст разрешение Grub запустить Windows.
Установка Linux Mint второй системой на ноутбук c Windows 8 в режиме UEFI
Включаем ноутбук с вызовом меню выбора загрузочных устройств (у меня это ESC, у вас скорее всего по другому) и выбираем загрузку с флешки. Самое интересное начинается в момент разбивки диска о чем так мало информации в сети. Делать будем в ручном режиме, иначе установщик предлагает тупо затереть весь жесткий диск и оставить один Linux, нам такой радикальный подход даром не нужен. Процесс разбивки диска и установки я постарался максимально наглядно показать на картинке:
Как и обещал ранее, чуть подробнее расскажу про разметку диска и куда нам следует установить загрузчик именно для режима UEFI.
- /dev/sda1 — загрузочный раздел UEFI где установлен Windows-загрузчик и куда мы подсунем дополнительно свой. Не трогаем и не форматируем
- /dev/sda2 и /dev/sda3 — эти два раздела нужны Windows и нам не интересны, не трогаем
- /dev/sda4 — тут установлена Windows 8, я его тоже не трогал, но в дальнейшем за счет свободного места на нем можно с помощью программ разметки дисков увеличить или уменьшить размер диску D
- /dev/sda5 — в Windows представлен как диск D. Именно из него я и выделил 200 Гб для Linux
- /dev/sda7 — создаем раздел размером 150-250 Мб и сопоставляем ему точку монтирования /boot
- /dev/sda8 — для этого раздела я выделил почти всё свободное место, оставив чуть более 1500 Мб под swap (/dev/sda9)
- /dev/sda6 — раздел RECOVERY Windows. Тут само собой ничего не трогаем
Как видите, нет ничего сложного, осталось только указать место куда система должна будет устанавливать загрузчик — /dev/sda1. Дальнейшая установка 100500 раз описана в интернете, нет смысла повторяться. Наслаждайтесь.
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Источник
Загрузка Linux с VHD на компьютере с UEFI
В статье о возможности загружать Linux с VHD был предложен способ загружать Linux на машине с Windows без необходимости разбивать диск на разделы. Но было одно существенное ограничение: рассматривался только вариант загрузки BIOS, т.е. legacy-загрузки. Сейчас появляется всё больше устройств без поддержки режима legacy (например, многие ноутбуки, выпущенные в 2020 году). Поэтому в этой статье будет рассмотрена загрузка Linux с VHD на компьютерах с UEFI.
В чём отличия UEFI от BIOS, в интернете описано достаточно подробно, можно посмотреть, например, в этой статье. Для нас наиболее важным будет необходимость использовать разметку GPT для загрузочного диска и при создании разделов на VHD. Эксперименты проводились при отключенном Secure Boot. Не буду подробно останавливаться на моментах, описанных в предыдущей части. Как и ранее, предполагается, что читатель имеет представление о работе с консолью в Windows и Linux, умеет работать со стандартными системными утилитами, с ПО для виртуализации и т.п.
Предварительно отмечу еще ряд моментов. Можно было бы рассмотреть загрузку системы с внутреннего жесткого диска компьютера, но мы немного усложним задачу и будем загружать систему со съемного USB-диска, на котором будет располагаться VHD-файл. Все действия применимы и для внутреннего жесткого диска, а некоторые особенности будут отмечены в отдельном разделе.
Разработчики grub4dos недавно выпустили версию своего загрузчика для UEFI. При использовании версии grub4dos-for_UEFI-2021-02-10.7z на виртуальной машине у меня не возникло особых проблем при загрузке Linux с VHD, но на реальном железе при работе с тем же самым образом VHD была получена ошибка: Error 24: Attempt to access block outside of partition. С учетом простоты, с которой UEFI позволяет заменить загрузчик (простая замена файла), было решено воспользоваться загрузчиком grub2 из дистрибутива Debian debian-10.8.0-amd64-netinst.iso.
Установка Linux на VHD
Есть два ключевых отличия от варианта для BIOS:
1) в настройках VirtualBox необходимо установить опцию «Enable EFI»;
2) при установке Debian диск был разбит на два раздела: ESP (EFI system partition) размером
100 Мб, отформатированный в FAT32, и EXT4, занимающий всё оставшееся место.
Возможны и другие варианты разбиения. Раздел ESP при желании можно вынести за пределы VHD (он нам нужен только для загрузки на виртуальной машине), но все дальнейшие настройки сделаны исходя из того, что на VHD будет два раздела.
Подготовка Linux к загрузке с VHD
Скрипт из предыдущей статьи нам подходит для загрузки на локальном компьютере, где состав дисков меняется редко и заранее известно, на каком диске хранится VHD-файл. Но мы себе поставили новую цель: иметь возможность загружаться с USB-носителя на любом компьютере с любой конфигурацией жестких дисков. Загрузчики grub4dos и grub2 умеют искать файлы на доступных разделах и работать с UUID разделов. Мы этим воспользуемся при создании конфигурационного файла загрузчика, а пока добавим обработку UUID в скрипт loop_boot_vhd.
В скрипт добавлено считывание нового параметра loop_dev_uuid . В нём ожидается UUID раздела, на котором находится VHD-файл (путь к нему передается, как и раньше, в параметре loop_file_path ). Если задан loop_dev_uuid , то значение, переданное в loop_dev_path , игнорируется и заменяется на найденный по UUID путь к устройству. Кроме того, если диск подключен по USB, то он может определяться в системе с задержкой. Поэтому добавлено ожидание (до 10 секунд), во время которого выполняется ежесекундная проверка, появилось нужное устройство или нет. Мы ищем раздел по UUID с помощью утилиты findfs. Она не входит в образ initramfs, для её добавления необходимо создать скрипт /etc/initramfs-tools/hooks/copyfindfs (не забывайте делать скрипты исполняемыми).
Скрипт loop_boot_vhd необходимо расположить, как и ранее, в /etc/initramfs-tools/scripts/local-top/. После чего пересобрать initramfs, и VHD-образ можно считать готовым.
Настройка grub.cfg
В GRUB2 можно получить UUID раздела с помощью модуля probe, поэтому он должен быть в сборке. За основу была взята сборка GRUB2 с установочного диска Debian, для загрузки нам понадобятся следующие файлы:
Их необходимо скопировать на EFI-раздел USB-диска:
Далее необходимо создать конфигурационный файл \EFI\debian\grub.cfg.
В cfg-файле всё достаточно очевидно, только обращу внимание, что VHD-файл имеет название debefi.vhd, и система будет искать его в корне всех найденных разделов. Для исключения ошибок название файла необходимо сделать уникальным для загружаемой системы. Ну и «gpt2» используется потому, что Linux установлен на втором разделе внутри VHD.
Особенности настройки параллельно с Windows bootloader
Disclaimer: дальнейшие действия могут привести к невозможности загрузить компьютер штатными средствами, все действия вы выполняете на свой страх и риск. Перед экспериментом проверьте, контролирует ли установленное антивирусное ПО целостность загрузчика. И не забывайте о возможных побочных эффектах.
Я опишу один из вариантов реализации выбора между загрузкой Windows и Linux: с помощью замены загрузчика на GRUB2. Загрузка EFI-систем по умолчанию начинается с файла \EFI\Boot\BOOTX64.EFI, в Windows 10 используется \EFI\Microsoft\Boot\bootmgfw.efi. Заменить загрузчик Microsoft на GRUB2 можно просто заменив файл. Необходимо быть внимательным, если сомневаетесь в получении результата с первого раза, то лучше сначала поэкспериментируйте на виртуальной машине. С помощью diskpart.exe надо подключить EFI-раздел Windows, на котором необходимо:
переименовать/перенести файл \EFI\Microsoft\Boot\bootmgfw.efi в \EFI\boot\ms.efi;
файл bootx64.efi из ISO-образа Debian переименовать в \EFI\Microsoft\Boot\bootmgfw.efi;
grubx64.efi разместить в \EFI\Microsoft\Boot\grubx64.efi;
probe.mod разместить в \EFI\debian\x86_64-efi\probe.mod;
ранее созданный grub.cfg скопировать в \EFI\debian\grub.cfg и добавить пункт для передачи управления загрузчику Microsoft:
Теперь при загрузке сначала будет появляться меню GRUB2 с выбором загрузки Windows («ms») или Linux («vhdUUID»).
Если на каком-то из этапов загрузки возникают ошибки, то (как и с grub4dos) необходимо попытаться вводить команды вручную и смотреть, какие ошибки выдает система, как и куда монтируются разделы, доступны ли все необходимые файлы и т.п.
Источник