Установка linux на gpt диск с 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 будет два раздела.
Шаг 1 (альтернатива). Запись Linux на флешку UEFI в Windows
Если вы решили записать Linux в Windows, то лучше использовать утилиту Rufus. В ней необходимо выставить такие параметры:
- Схема раздела и тип системного интерфейса: GPT для компьютеров с UEFI;
- Файловая система: FAT32.
Все остальные параметры - по умолчанию. После завершения записи ваша флешка готова к использованию.
Шаг 5. Вариант разметки дисков
Когда система предложит выбрать способ разметки можно позволить системе все разметить автоматически. Но это только в том случае, если вы у вас уже не установлена какая-либо операционная система. Иначе выбираем "Свой вариант":
Завершение установки
Многих новых пользователей интересует: "Как же загрузить потом мою Windows?" Не беспокойтесь, загрузчик Grub автоматически найдет загрузчик Windows и перед запуском компьютера предложит вам меню, где вы сможете выбрать операционную систему:
Таким образом, двойная загрузка Windows 10 и Linux будет настроена автоматически.
Если что-то пойдет не по плану, хотя такое вряд ли случиться, все очень легко настроить. Так что, если все сделано правильно, вы обязательно получите доступ к своей Windows после установки Linux.
Подготовка 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-образ можно считать готовым.
Установка Linux на Legasy BIOS
Это вариант для владельцев плат UEFI, которые не хотят разбираться в тонкостях использования этой технологии и согласны использовать свое устройство как раньше с BIOS. Большинство материнских плат позволяют эмулировать режим BIOS. В этом режиме вы можете установить Linux безо всяких проблем и дополнительных разделов, так как это делалось в BIOS.
Чтобы включить режим Legasy BIOS надо войти в настройки BIOS/UEFI с помощью кнопки F2, Del или Shift+F2 и найти там соответствующий пункт. Например, у меня этот пункт находится на вкладке Boot. Здесь нужно выбрать режим загрузки UEFI или Legasy.
После сохранения настроек вы можете устанавливать свою операционную систему как обычно. Если же вас такой вариант не устраивает, дальше мы рассмотрим как установить Linux именно на UEFI.
Установка Linux рядом с Windows 10
Я не буду здесь подробно рассматривать, как установить Linux, все это уже подробно рассмотрено в моих статьях отдельно для разных дистрибутивов. Рассмотрим только несколько аспектов разметки диска. Возьмем Ubuntu, как самую популярную ОС для новичков, но в других дистрибутивах все почти так же.
На этапе выбора способа разметки я советую брать ручной вариант. Поскольку так вы лучше разберетесь, как устанавливать систему:
Здесь вы из освобожденного ранее места создаете те разделы, о которых мы говорили в самом начале статьи. Для корневого раздела точку монтирования нужно выбрать /, для домашнего - /home, а для раздела подкачки точка монтирования не указывается.
Дальше действуем все как обычно - по инструкции для определенного дистрибутива, и установка Linux рядом с Windows 10 будет выполнена успешно.
Управление загрузчиком UEFI с помощью eifbootmgr
Когда система загрузится вы можете отобразить настройки UEFI по умолчанию выполнив команду:
Рассмотрим подробнее что означает каждый из параметров:
- BootCurrent - загрузчик, который был использован для запуска этой операционной системы;
- BootOrder - порядок загрузчиков, в котором менеджер загрузки будет их перебирать во время старта системы. Если первый загрузчик не сработал, то будет использован второй и так далее;
- BootNext - загрузчик, который будет запущен при следующей загрузке;
- Timeout - таймаут на протяжении которого будет показываться меню выбора загрузчика, перед тем, как он будет выбран автоматически;
- Пункты 0000 - 0004 - загрузчики которые можно использовать.
Вы можете изменить порядок загрузки с помощью опции -o, например, сделаем так чтобы первым загружалась ОС из оптического диска:
sudo efibootmgr -o 0,1,2,3
И вернем обратно на первое место Ubuntu:
sudo efibootmgr -o 3,0,1,2
Можно изменить таймаут, чтобы отображалось меню выбора системы:
sudo efibootmgr -t 20
Здесь мы установили таймаут в 20 секунд.
Шаг 3. Разметка диска для UEFI
У UEFI в этом плане есть несколько отличий от BIOS. Во первых, это использование таблицы разделов диска GPT. Это новая технология, которая имеет массу преимуществ над MBR, среди которых очень большое количество первичных разделов (в MBR только четыре), восстановление при повреждениях, и многое другое. Подробнее о том чем GPT отличается от MBR читайте в отдельной статье. Второе отличие в том, что файлы загрузчика операционной системы больше не хранятся в первых 512 байтах жесткого диска. Все они хранятся на отдельном разделе, который называется ESP.
Перед тем, как нажать "Install Ubuntu" желательно подготовить диск с помощью Gparted. Откройте утилиту из главного меню образа. Затем выберите Device -> Create Partition Table:
В списке выберите таблицу разделов GPT:
Дальше переходим к созданию разделов.
Оцените статью:
Об авторе
38 комментариев
Убунту устанавливает по умолчанию 512 Мб boot/esp. Из каких соображений вы рекомендуете 100 мб?
100 мб по умолчанию ставит window 10, и этого вполне достаточно что бы вписать в это пространство убунту при двойной установке. На русскоязычнорм форуме убунту тоже рекомендуют 100 мб. Хотя если не выходит то и 200 мб и 300 мб. В моём случае, если раздел esp создаёт установщик убунту, то никакие размеры никакого влияния не оказывают - убунту на мой ноут упорно не желает устанавливаться с uefi. Просто наотрез 🙂
Здравствуйте! Могу ли установить Ubuntu c UEFI без создания сист.раздела как вы описываете на сайте с помощью Gparted, а сразу начну с разметки разделов, где будет выделено место для этого раздела EFI в начале диска. - ?
Размер более 100 мб нужен на случай,если вы планируете ставить несколько систем рядом,возможно с несколькими ядрами . при обновлении системы (какой-либо) может элементарно не хватить места для еще одного ядра.
Какого такого ядра? Ядро лежит в /boot а не в /boot/efi
Точно,попутал малость. это для boot желательно более 100 МБ
Виндоус ставит исключительно для себя 100 Мб, а убунту приспосабливается- вынуждена. Если делать инсталляцию вручную, то желательно 200- 300 Мб, причем новый минт и убунту 18.04 берут по умолчанию 512 Мб. Некоторые линуксы (OpenSuse, например) всегда требовали для себя 512. У меня ZorinOS (на Ubuntu 16.04) стоит, я ему 300 Мб выделил- столько же, кстати, берет по умолчанию сегодняшний Manjaro. Я контролировал заполнение с gparted- 100 Мб- однозначно мало и мера вынужденная. Или постоянно чистить.
1. Как раз для Ubuntu отключить UEFI Secure Boot не обязательно. Они раньше всех подружили свою ОС с Windows. То же самое относится к продуктам от Red Hat.
2. ESP раздел /boot/efi желательно создавать больше 100 мб, чтобы потом не пришлось его чистить от старых установок и переустановок Linux
Согласен, никто уже дефолтными 100Иб не ограничивается, если даже флещки по 16Гб - норма. Я ставлю 256Мб (нравится цифра) или 256000Кб (тоже цифрка нравится, да еще поддерживается производителями накопителей, ну не любят они 1024Кб а лишь 1000Кб, и все тут, так накопителькажутся жирнее!)
Сначала немного теории. Extensible Firmware Interface (EFI) — интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику операционной системы. EFI предназначен для замены BIOS — интерфейса, который традиционно используется всеми IBM PC-совместимыми персональными компьютерами
Что это значит? Значит что способ описанный в Установка Ubuntu может не сработать. Кроме того, большие диски требуют использования GPT (вместо старой версии таблицы разделов в MBR, которая имеет ограничение адресуемого на диске пространства в 2,2 ТБ = 2,2 × 10¹² байт)
Не возможно гарантировать универсальность приведенной ниже инструкции, но автор этой статьи прочитал несколько русско- и англоязычных тем форумов и на вторые сутки смог установить ubuntu 12.04.1 на Lenovo B570. Есть надежда, что эта статья поможет и вам.
Поскольку EFI представляет собой специфический загрузчик, то он должен где то храниться, в нашем случае для него выделено отдельное место на жёстком диске с GPT таблицей разделов. Когда компьютер проходит процедуру POST, BIOS обнаруживает на подключённом носителе EFI раздел с установленным загрузчиком. Как следствие в самом BIOS в меню BOOT(У вас может называться по другому, там находиться порядок загрузки устройств) на ровне с устройствами появятся и дистрибутивы.
Настройка grub.cfg
В GRUB2 можно получить UUID раздела с помощью модуля probe, поэтому он должен быть в сборке. За основу была взята сборка GRUB2 с установочного диска Debian, для загрузки нам понадобятся следующие файлы:
Их необходимо скопировать на EFI-раздел USB-диска:
Далее необходимо создать конфигурационный файл \EFI\debian\grub.cfg.
В cfg-файле всё достаточно очевидно, только обращу внимание, что VHD-файл имеет название debefi.vhd, и система будет искать его в корне всех найденных разделов. Для исключения ошибок название файла необходимо сделать уникальным для загружаемой системы. Ну и "gpt2" используется потому, что Linux установлен на втором разделе внутри VHD.
Удаляем запись Linux
Теперь удаляем запись Linux
После перезагрузки получим вот такую красоту:
Шаг 2. Выбор порядка загрузки
Для того чтобы ваша система смогла загрузиться с только что записанной флешки нужно отключить UEFI Secure Boot. Этот режим позволяет загружаться только подписанным операционным системам, а подписанными являются только ОС от Microsoft. Поэтому для Linux этот режим надо отключать. У меня эта настройка тоже есть на вкладке Boot:
Кроме того, надо установить на первое место флешку:
После этого можно перезагружать компьютер и приступать к установке. Если у вас появилось вот такое окно, значит все хорошо. Здесь надо выбрать "Try Ubuntu without installing", это обязательное условие:
Я не буду описывать все шаги установки, которые надо выполнить, они ничем не отличаются от установки обычной ОС, отличие только в установке загрузчика и разметке диска. На нем и остановимся далее.
how to install
A. В начале нам понадобиться LiveCD(почему именно LiveCD? Смотри ниже) установочный образ , how to написано тут получение_ubuntu. Если у вас уже есть установочный диск/флешка, вам ниже.
B. Загружаемся, всё как при обычной установке → загрузка_с_livecd. Затем, если у кого то всё нормально и графический режим с выбором языка работает, то хорошо, у некоторых может появиться незнамо что (экран в пикселях, видно как ленточка выбора перемещается для выбора варианта загрузки)
Порядок надписей следующий:
Как следствие выбираем первую и загружаемся в графическом режиме.
C. Открываем центр приложений, ищем grub-pc удаляем, ищем grub-efi под нужную разрядность (64 или 32) ставим его.
UPD. можно оставить только grub-common остальные грабы он сам во время установки догрузит (у меня на всех работало (12.04-12.10 альфа 3),12.10 бета 1 «невозможно установить загрузчик….»)\\ Вариант не нужен и может даже навредить установке на 12.04.1 и 12.10 бета 2 и старше.
E. запускаем саму установку, выбираем «другой вариант» и вручную размечаем диск «разметка_диска». Так всё по плану:
Отлично, фарс почти закончился, в самом низу выбирается путь установки загрузчика (там должно быть что то вроде /dev/sda/
Устанавливаем, по окончанию перезагружаем, заходим в BIOS, там boot menu. Должны были появиться новые пункты «Linux» «Ubuntu», первым можно поставить Ubuntu
Установка Linux рядом с Windows 10 UEFI
На всех современных ноутбуках, выпускаемых с Windows 8, 8.1, 10 используется технология UEFI. Это новая прогрессивная технология, которая пришла на смену устаревшей BIOS. Первое важное и самое заметное изменение - использование таблицы разделов GPT, вместо устаревшей MBR, а также создание отдельного раздела диска для загрузчиков операционных систем. Многие пользователи боятся, что UEFI усложнит установку Linux с Windows 10 на их ноутбук. И зря - в большинстве случаев нет ничего сложного. Если у вас уже установлена Windows, то, скорее всего, раздел efi уже был создан, и во время разметки диска нужно просто выбрать его для установки загрузчика. Раздел efi, как правило, создается с файловой системой fat32 и занимает около 30 Мегабайт памяти:
Если же у вас чистый винчестер, нужно создать таблицу разделов GPT. Это можно сделать с помощью той же Gparted, открыв меню Devices -> Create Partition Table:
Дальше необходимо создать efi раздел, делаем тоже с помощью Gparted, создаем обычный раздел, с файловой системой fat32 и меткой EFI:
Потом указываем этот раздел во время установки Linux вместе с windows 10, для него нужно указать точку монтирования /boot/EFI. Вот и все сложности с установкой в UEFI. Вообще, установку в UEFI поддерживают все дистрибутивы, работающие в Grub2.
Подготовка диска в Linux
Это не следующий пункт установки Linux вместе с Windows 10. Это альтернативный вариант разметки диска без использования Windows. Если вы по каким-либо причинам не хотите использовать стандартную утилиту Windows для выделения нужного пространства, это также можно сделать с помощью любого LiveCD дистрибутива Linux с предустановленной программой для управления дисками Gparted. Например, того же Ubuntu.
Загрузитесь с диска Ubuntu, в поиске Dash наберите Gparted:
Откроется вот такое окно программы для управления дисками в Linux:
Здесь важно заметить, что разделы диска в Linux называются иначе чем в Windows. Здесь диски - это просто адреса файлов в виртуальной файловой системе dev. Позже вы поймете, что это такое, а сейчас важно только, что имя каждого раздела начинается с /dev/sd. Дальше идет буква, означающая физический диск (sda, sdb, sdc, sdd и так далее). За ней цифра, что обозначает номер раздела на диске, например: sda1, sda2.
В окне утилиты, кроме имени раздела диска, мы можем видеть файловую систему, размер и свободное место на диске. Теперь по размеру и файловой системе мы можем понять на каком диске у нас расположена система.
В моем примере /dev/sdb1 - это диск С в Windows, а /dev/sdb2 - D. Мы будем делать то же, что и в предыдущем примере. Давайте уменьшим размер раздела /dev/sdb2 (D) до 10 Гигабайт чтобы на освободившимся пространстве выполнить установку Linux на Windows 10. Для этого кликните по разделу правой кнопкой и выберите пункт Resize/Move:
В открывшемся окне можно ввести нужный размер вручную в поле New size или воспользоваться ползунком:
Затем нажмите кнопку Resize/Move.
Как видите, появилось свободное пространство, но реальных изменений на диске еще нет. Для того чтобы записать все на диск, нажмите зеленую галочку, или в меню Edit выберите пункт Apply All Operations:
Процесс изменения размера файловой системы может занять немного времени:
Теперь вы можете видеть, что раздел /dev/sdb2 уменьшился, и появилось свободное место:
Для системного раздела операции те же, только есть одно замечание: не трогайте начало раздела. Вы можете спокойно уменьшать размер раздела, добавляя свободное пространство после него, но не пытайтесь это сделать до него, вот так:
Так делать не нужно, иначе будет поврежден загрузчик Windows, его очень легко восстановить, но решать эти проблемы в самом начале знакомства с Linux вам, думаю, незачем.
Создавать разделы для Linux здесь мы тоже не будем, лучше все это сделать во время установки, специально предназначенной для этого утилитой.
Выводы
В этой статье мы рассмотрели как установить Linux на UEFI, а также как управлять порядком загрузки в установленной системе. Теперь, если у вас возникнет желание установить эту операционную систему на свой новый ноутбук с EFI, то вы уже знаете как это сделать. Если у вас остались вопросы, спрашивайте в комментариях!
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Особенности настройки параллельно с 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) необходимо попытаться вводить команды вручную и смотреть, какие ошибки выдает система, как и куда монтируются разделы, доступны ли все необходимые файлы и т.п.
Перед тем, как начинает загружаться операционная система, специализированное программное обеспечение компьютера инициализирует все компоненты, проверяет их готовность к работе и только потом передает управление загрузчику ОС.
Раньше для этих целей использовался набор программ BIOS, но этот стандарт сейчас считается устаревшим, а ему на замену пришла технология UEFI, которая поддерживает защищенную загрузку, имеет приятный графический интерфейс настройки и много других преимуществ. Большинство современных материнских плат и ноутбуков выпускаются уже с UEFI. В этой статье мы рассмотрим как выполняется установка Linux на UEFI и с какими проблемами вы можете столкнуться.
Шаг 1. Запись Linux на флешку UEFI в Linux
Для записи образа на флешку в Linux лучше использовать утилиту Etcher. Программа запишет носитель, который можно загружать как в UEFI, так и в обычной системе. После запуска программы надо выбрать образ системы:
Затем карту памяти и дождаться завершения записи:
Также можно записать образ на флешку вручную. Это проще чем для обычного BIOS, хотя и потребует больше действий. Сначала отформатируйте ваш носитель в FAT32. Это можно сделать в стандартной утилите управления дисками Gnome:
Затем распакуйте содержимое установочного образа в корень флешки:
sudo mount /путь/к/образу.iso /mnt
sudo mount /dev/sdb1 /media/flash/
sudo cp -r /mnt/* /media/flash
Здесь /dev/sdb1 - имя раздела вашей флешки. Вы можете выполнить все эти действия в файловой менеджере. Не обязательно использовать команды. Далее нужно установить на раздел флешки, куда вы распаковали свои файлы два флага - boot и lba. Это можно сделать с помощью Gparted. Просто запустите программу, выберите в списке дисков свою флешку:
Нажмите правой кнопкой по разделу, выберите Управление флагами и установите галочки на против флагов boot и lba.
Каким бы способом вы не пользовались, ваша флешка готова и вы можете с нее загружаться. Большинство образов Linux уже содержат загрузчик EFI и прошивка компьютера его найдет при следующей перезагрузке.
Выводы
Сегодня мы рассмотрели, как установить Linux на Windows 10. Разобрались, как выполнить разметку, как выбрать разделы и что делать, если на вашем ноутбуке используется UEFI. Об установке какого-либо определенного дистрибутива Linux вместе Windows 10, говорить бессмысленно, так как, во-первых, все действия похожи, и, во-вторых, вы можете найти подробные инструкции в соответствующих статьях. Еще хотелось бы заметить: для комфортной работы Windows 10 с Linux на одном компьютере нужно отключить Windows FastBoot, иначе вы не сможете подключить системный раздел Windows в Linux. Если остались вопросы, спрашивайте в комментариях!
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Помните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? На смену уже давно пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).
Предыстория: Понадобилось мне недавно на свой домашний десктоп поставить 2 системы, чтобы разграничить окружение. Kubuntu для разработки на Ruby on Rails (ибо работаю удаленно), и Windows для всяких игрушек в свободное время. Хочу заметить, что несколько лет назад это было достаточно просто: один раздел для винды и один раздел для линукса, загрузчик записывался в MBR. Однако, технологии не стоят на месте, и оказалось, что настройка dual boot'а теперь несколько изменилась.
Итак, начнем.
Терминология
UEFI (Unified Extensible Firmware Interface, Единый расширяемый интерфейс прошивки) разрабатывался компанией Intel как замена BIOS (Basic Input Output System). В отличие от 16-битного BIOS'а UEFI работает в 32- или 64-битном режиме, что позволяет использовать намного больше памяти для сложных процессов. Кроме того, UEFI приятно выглядит и там есть поддержка мышки.
- Количество разделов: MBR поддерживает только 4 раздела. Можно и больше, но только через extended partition, что является просто хаком ограничений. GPT поддерживает до 128 разделов.
- Размер диска: MBR поддерживает диски до 2Тб, в то время как GPT — до 9.4 Зеттабайт (=9.4 × 10^21 байт, или условно 1000 Тб)
- Порядок загрузки: раньше BIOS загружал MBR, и в нем содержались адреса загрузчиков для каждого раздела диска. Теперь UEFI считывает GPT, находит в таблице все разделы типа efi (на них содержатся загрузчики), и подгружает их в память. Разберем это на примере немного позже.
Что делаем:
- Windows 8.1 x64. Windows поддерживает загрузку с GPT начиная с Windows 8 для 32 битной архитектуры и с Windows Server 2003 и Windows Vista для 64 бит (Источник).
- Kubuntu 15.04. По идее подойдет любой дистрибутив, который поддерживает Grub2, лично я предпочитаю Kubuntu.
Разбивка диска
Сначала устанавливаем Windows 8, т.к. она автоматически будет использовать GPT.
Разбивка будет выглядеть так (пардон за кривой снимок):
- Recovery (300Мб). Очевидно, что он используется для восстановления системы. Оставим как есть.
- EFI partition (100Мб). Помечается как system type (не любят в Майкрософте называть вещи своими техническими именами). Собственно сюда и пишутся загрузчики.
- MSR (128Мб, Microsoft Reserved Partition). Для меня остается загадкой, зачем он нужен. Данных там никаких нет, просто пустое место, зарезервированное для каких-то непонятных целей в будущем.
- Основной раздел. Мы его поделим на 3: 200 гигов под винду, 500 гигов для раздела под данные и остальное пространство пока оставим неразмеченным (отформатируем потом при установке Kubuntu).
Пропустим саму установку Windows, т.к. в ней все стандартно и понятно.
Теперь загрузимся с USB в Kubuntu Live.
Проверим EFI раздел:
Boot0000 — виндовый загрузчик
Boot0001 — дефолтный загрузчик
Boot0003 — флешка с Kubuntu Live
Обратите внимание, что список загрузчиков не привязан к одному физическому диску как в MBR. Он хранится в NVRAM.
Можем также сразу посмотреть, что же в этом разделе, подмонтировав его:
Там окажутся следующие файлы:
Убедились, что все хорошо. Теперь продолжаем разбивку диска (через KDE Partition Manager).
- sda2 определился как FAT32. Это практически верно, т.к. файловая система типа EFI основана на FAT, только с жесткими спецификациями.
- sda3 (MSR) не определился, т.к. файловой системы там так таковой нет.
Нам осталось только отформатировать раздел для Kubuntu в ext4, и выделить раздел под swap.
Несколько слов про swap. Рекомендуют на swap выделять от SQRT(RAM) до 2xRAM. Т.к. у меня 16 Гб RAM, то по минимуму мне надо 4 Гб свопа. Хотя я с трудом могу представить ситуации, при которых он будет использоваться: десктоп в hibernate я не перевожу, и сильно тяжелых программ, которые жрут больше 16 гигов, не использую.
P.S. При форматировании раздела в swap Partition Manager может выдать ошибки, которые связаны с тем, что Kubuntu автоматически монтирует в себя любой swap раздел, однако на результат эти ошибки не влияют.
Итак, финальная разбивка:
Теперь самое главное для правильного dual boot'а. При установке Kubuntu важно выбрать, куда установить загрузчик:
Указываем, конечно же на раздел EFI.
После завершения установки Kubuntu, заходим в систему и проверяем, какие файлы появились на efi разделе (монтировать уже не нужно):
Смотрим, как теперь выглядит список загрузчиков:
Вот как это выглядит при загрузке:
А еще эти загрузчики доступны сразу из UEFI (в старом BIOS'е такое было бы невозможно — там был выбор только диска, он просто не знал, что такое загрузчики):
Ну и напоследок: чтобы dual boot правильно работал, в Windows надо обязательно отключить fast boot. Это такая нехорошая фича, которая может привести к потере данных.
При выключении компьютера Windows сохраняет файловую структуру NTFS разделов в файл (видимо, потому что один файл прочитать быстрее, чем сканировать много разных файлов). Если записать файл на NTFS раздел через линукс, и потом загрузиться в Windows, то Windows просто не увидит файл. Источник
Если выключить комп через Windows, и потом попытаться загрузить Linux, то он просто не запустится из-за «ошибки» NTFS. Источник
Установка Linux на платы с UEFI
Я буду рассматривать установку на примере Ubuntu, но все действия аналогичны и для других дистрибутивов. Сначала необходимо записать образ диска на флешку. Большинство дистрибутивов уже поддерживают загрузку в UEFI.
Шаг 6. Назначение разделов
Если вы выбрали другой вариант разметки, то перед вами откроется меню со списком всех разделов. Найдите внизу окна "Устройство для установки загрузчика" и выберите в списке раздел для EFI.
Затем кликните по разделу для EFI в списке и выберите "Системный раздел EFI":
Далее можно продолжить установку как обычно. Вам надо создать корневой раздел, и по желанию вы можете создать раздел для загрузчика, подкачки и домашний раздел. Подробнее про установку Ubuntu 18.04 вы можете прочитать по ссылке.
Подготовка диска в Windows
Чтобы установить Linux рядом с уже использующейся Windows 10, нужно будет "отрезать" пространство от системного диска. Поэтому перед решительными действиями важно создать резервную копию системы или хотя бы важных файлов. Если все пройдет хорошо, ничего страшного не случится ни с файлами, ни с системой, но из-за какого-либо сбоя, например, отключения электричества, файловая система может быть повреждена. Вы и сами по невнимательности можете сделать что-то не так и удалить не то, что нужно.
Поэтому, если будете работать с системным диском, скопируйте важные файлы на внешний носитель, и, если есть возможность, создайте резервную копию операционной системы с помощью соответствующего пункта панели управления:
При работе с не системным разделом, например, D, E, F и т д, достаточно просто скопировать файлы оттуда.
Теперь переходим непосредственно к подготовке диска для установки Windows 10 и Linux. Проще всего это сделать с помощью стандартной утилиты управления дисками в Windows. Кликните правой кнопкой по значку "Этот компьютер" на рабочем столе и откройте пункт "Управление":
Дальше нам нужна утилита Управление дисками:
Здесь внизу окна мы видим два диска: C (системный) и D (обычный). Я приведу пример, как изменить размер диска D. Для диска C все действия аналогичны.
Кликните по нужному диску правой кнопкой и выберите опцию Сжать том:
Откроется вот такое окно, в котором нужно ввести размер создаваемого тома в поле размер сжимаемого пространства:
Обратите внимание, вы не можете указать размер больше, чем количество свободного места на диске. Поэтому сначала освободите место, если еще этого не сделали. Кликаем на кнопку сжать. После этого появится неразмеченное пространство, из которого можно создать нужные разделы:
Вот и все. Теперь у вас есть место для установки Linux рядом с Windows 10. Выполнять дальнейшую разметку диска в утилите Windows не вижу смысла, поскольку все опасные операции, которые могли повредить систему, мы уже сделали, а разделы для Linux лучше всего и настраивать средствами Linux.
Удаляем запись Windows Boot Manager
Где xxxx Это hex номер загрузочной записи, его можно сокращать, вот например в моём случае для удаления Windows нужно ввести:
Сразу после этого консоль отрапортует результат:
Немного теории
Для установки операционной системы Linux рядом с Windows 10 вам понадобится создать несколько дополнительных разделов диска. Минимальное количество - три раздела. Linux не принято устанавливать на один раздел как Windows, хотя такой вариант возможен. Linux настолько гибок, что позволяет разместить систему, файлы пользователя и настройки на разных разделах. Это очень выгодно во время переустановки. Вы переустанавливаете систему в системном разделе, а все ваши файлы на рабочем столе и настройки рабочего окружения останутся на месте.
Вот эти три раздела:
- Системный;
- Домашний;
- Раздел подкачки.
Минимальные требования объема под системный раздел в различных дистрибутивах варьируются от семи до двадцати Гигабайт. Но этого хватит для установки самой системы и нескольких дополнительных программ. Если же вы собираетесь использовать много программ и игр, особенно если они занимают много места, необходимо взять еще пару десятков Гигабайт про запас. Я рекомендую использовать под системный раздел Linux так же, как и для диска C Windows, 30-40 Гигабайт.
Раздел подкачки используется, когда системе не хватает оперативной памяти. При определенном проценте заполнения Linux понемногу начинает скидывать неиспользуемые данные в этот файл. Поэтому для данного раздела подойдет объем в два раза меньше, чем размер вашей ОЗУ. Но если вы планируете использовать спящий режим или гибернацию, то под раздел подкачки нужно выделить объем дискового пространства, равный размеру ОЗУ, потому что в этих режимах все содержимое оперативной памяти компьютера переносится на диск. Домашний раздел - это раздел с вашими файлами, фильмами, музыкой, загрузками. Прикиньте, сколько вам нужно.
Редактируем паузу
Если необходимо отредактировать паузу то делаем следующее:
Эта статья не окончена. Пожалуйста, если вы располагаете соответствующими знаниями и небольшим количеством свободного времени, попробуйте улучшить эту статью. * grub-efi должен инсталлироваться автоматически но с ним могут быть глюки и 12.10 бету 1, я вообще не смог установить (она не могла поставить загрузчик), потому вообще лучше его устанавливать через центр приложений ручками *
Допустим, вы прочитали в интернете несколько статей и заинтересовались свободной операционной системой Linux. Возможно, даже поставили ее себе на виртуальную машину или загрузились в Live-режиме и попробовали, как все выглядит и работает. Вам понравилось, и теперь вы хотите установить ее себе на компьютер и начать пользоваться. Но при этом терять уже установленную Windows не желаете, чтобы в случае непредвиденной ситуации можно было вернуться в полностью рабочую систему, да и любимые игры и нужные программы всегда будут под рукой. Есть возможность установить Linux и Windows 10 на одном компьютере. В свое время для меня, как и для многих других пользователей, это было идеальным вариантом.
В этой инструкции мы рассмотрим, как установить Linux рядом с Windows 10. Я говорю Windows 10 потому, что это самая новая операционная система от Microsoft, но эти инструкции также подойдут для более ранних версий, таких как Windwos 7, 8 и 8.1.
Я предполагаю, что у вас уже есть установленная Windows, вы нашли и определились, от какого диска отделить немного места для Linux, только не знаете, как правильно это сделать. Здесь вы получите подробный ответ на этот вопрос. Затронем еще одну важную тему - UEFI. Эта технология используется на всех новых ноутбуках с Windows, и многих пользователей интересует, как установить Linux на UEFI и какие при этом могут возникнуть проблемы.
Управление списком загрузки
Способ подходит как для редактирования из установленной системы, так и с LiveCD Нам понадобиться следующая консольная утилита bootmgr.
bootmgr - это пользовательское приложение для редактирования Intel Extensible Firmware Interface (EFI) Boot Manager. Оно позволяет добавлять, изменять и удалять опции загрузки.
После установки открываем терминал и вбиваем туда:
Вот что оно вам выдаст.(С моими комментариями)
Как видно из этого у меня 2 ненужных записи(Windows, Linux), заглянем в официальную инструкцию.
хм.. я ничего не понял , но поковырявшись ещё немного вот что получилось: Чтобы удалить какую-либо запись нужно ввести команду вида:
Шаг 4. Создание раздела ESP
В Gparted нам необходимо создать только раздел ESP для UEFI. Для этого выберите "Незамеченно", а затем нажмите по нему правой кнопкой и выберите "New":
В качестве файловой системы для раздела надо выбрать FAT32, размер - 100 мегабайт. Далее нажмите кнопку "Apply" для применения изменений.
Затем нажмите "Manage Flags" и установите галочки напротив флагов "boot" и "efi".
Далее переходим к установщику Ubuntu.
Шаг 7. Завершение установки
После того как все файлы распакуются и установится загрузчик установка Linux на UEFI будет завершена, вы можете перезагрузить комьпютер и пользоваться своей системой как обычно.
Но давайте еще рассмотрим управление пунктами меню и загрузчиками EFI.
Читайте также: