Windows uefi usb linux

[Решено] Установка 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 sort сортировка по дате

Установка Linux Mint второй системой на ноутбук c Windows 8 в режиме UEFI

Включаем ноутбук с вызовом меню выбора загрузочных устройств (у меня это ESC, у вас скорее всего по другому) и выбираем загрузку с флешки. Самое интересное начинается в момент разбивки диска о чем так мало информации в сети. Делать будем в ручном режиме, иначе установщик предлагает тупо затереть весь жесткий диск и оставить один Linux, нам такой радикальный подход даром не нужен. Процесс разбивки диска и установки я постарался максимально наглядно показать на картинке:

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

  1. /dev/sda1 — загрузочный раздел UEFI где установлен Windows-загрузчик и куда мы подсунем дополнительно свой. Не трогаем и не форматируем
  2. /dev/sda2 и /dev/sda3 — эти два раздела нужны Windows и нам не интересны, не трогаем
  3. /dev/sda4 — тут установлена Windows 8, я его тоже не трогал, но в дальнейшем за счет свободного места на нем можно с помощью программ разметки дисков увеличить или уменьшить размер диску D
  4. /dev/sda5 — в Windows представлен как диск D. Именно из него я и выделил 200 Гб для Linux
  5. /dev/sda7 — создаем раздел размером 150-250 Мб и сопоставляем ему точку монтирования /boot
  6. /dev/sda8 — для этого раздела я выделил почти всё свободное место, оставив чуть более 1500 Мб под swap (/dev/sda9)
  7. /dev/sda6 — раздел RECOVERY Windows. Тут само собой ничего не трогаем

Как видите, нет ничего сложного, осталось только указать место куда система должна будет устанавливать загрузчик — /dev/sda1. Дальнейшая установка 100500 раз описана в интернете, нет смысла повторяться. Наслаждайтесь.

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Как создать загрузочную флешку в Linux UEFI или GPT

Подробнее читайте в википедии про uefi про gpt . Здесь будет практика. Для работы потребуется: флешка (объем зависит выбранного образа), iso-образ системы. Программа Диски (Gnome Disk Utility). Хотя этот способ подойдет не только для uefi.

Записываем образ системы на флешку

Устанавливаем программу «Диски» (если не установлена). В терминалу указываем команду:

Запускаем. Выделяем флеш-диск левым кликом мышки. Нажимаем на значок «Свойства» ( в виде шестеренки или кнопка с тремя полосами

Из выпадающего меню выбираем — “Восстановить образ диска”.

Кликаем на кнопке “Образ для восстановления”. Выбираем нужный образ и нажимаем кнопку «Начать восстановление». Подтверждаем ещё раз нажав кнопку «Восстановить».

  • Ознакомьтесь с предложением, предоставляет молниеносные скорости и не регистрирует активность пользователей Лучший Сервис VPN
  • Один из лучших сервисов хотя и не дешевый. Множество функций безопасности, поддержка P2P и стримов Сервис NordVPN
  • Я предпочитаю всем сервисам впн создавать свой. Вот инструкция как создать собственный VPN сервер

После завершения процедуры загрузочная флешка для uefi готова.

Запись образа на флешку dd с помощью терминала

Прежде чем нажать кнопку Enter и начать запись. Убедитесь, что все прописали правильно. Не спешите! Иначе есть риск стереть важную информацию!

Рассмотрим еще один простой способ. Создание загрузочной флешки с помощью консольной утилиты dd (dataset definition). Эта программа позволяет делать идеальные образы копируя информацию побайтово. С её помощью можно много чего сделать но цель данной статьи создать загрузочный образ для установки системы.

Синтаксис простой. if= определяет исходный файл или диск (в нашем случае iso образ ) а of= диск на который будет произведена запись (флешка), затем параметры если требуется. Так для ускорения записи можно использовать параметр bs.

Загрузочная флешка Windows в Linux

Бывают случаи, когда вам нужно записать Windows на флешку в Linux, например, когда вы хотите поставить эту систему второй для использования специализированных программ, или вам нужно переустановить операционку своим знакомым. Или же есть пользователи Linux, которые решили вернуться на Windows, но единственную флешку уже перезаписали под Linux LiveUSB.

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

Загрузочная флешка Windows в Linux

Загрузочную флешку можно создать с помощью терминала или специальных графических утилит. Настоятельно рекомендую отформатировать флешку в Fat32 (или Exfat) перед использованием любого из предложенных методов. Форматирование можно выполнить через Gparted, сfdisk+mkfs или через usb stick formatter (форматирование USB флеш накопителя).

Способ 1. Утилита USB Image Write

Для создания флешки можно воспользоваться утилитой Запись образа на USB. В некоторых дистрибутивах она уже предустановленна (Ubuntu, Mint и др.):

Выбрать образ в графе Write image образ и в поле to выбрать флешку. Далее нажимаем Write.

Способ 2. Утилита WoeUSB

Пожалуй, это самый простой способ создания. Установка в Ubuntu выполняется с помощью таких команд:

Читайте также:  Обновление люмия 640 до windows 10 через компьютер

sudo add-apt-repository ppa:nilarimogard/webupd8

sudo apt update

sudo apt install woeusb

Откройте утилиту в меню приложений:


Интерфейс простой. Нажмите на кнопку Обзор со значком папки и выберите образ. Target device это флешка, на которую будет идти запись, если у вас их несколько выберите нужную. Ещё есть поле File system, где нужно выбрать какую файловую систему будете использовать. Рекомендую FAT. Затем нажмите Install и дождитесь окончания.

При появлении ошибки с кодом 256 Source media is currently mounted, размонтируйте образ ISO с Windows, если вы его смонтировали. При ошибке Target device is currently busy, извлеките флешку, затем снова подключите её. Если не сработало, попробуйте отформатировать её.

Способ 3. Терминал и Gparted

Положите образ в домашнюю папку и переименуйте его в windows.iso во избежание проблем с пробелами. Затем перейдите в терминале в домашнюю папку

Запустите терминал через главное меню или с помощью сочетания клавиш Ctrl + Alt + T затем используйте команду dd для записи образа на флешку:

dd if=/windows.iso of=/dev/sdX

Замените X на букву вашей флешки! Узнать её можно через Gparted. В правом верхнем углу есть кнопка переключения дисков:

Тот диск который соответствует размеру вашей флешки и есть ваша флешка. В моем случае флешка на 32 гб это /dev/sdb. Значит команда будет иметь вид:

dd if=/windows.iso of=/dev/sdb

Дождитесь окончания записи и извлеките флешку.

Выводы

Как видите, создание загрузочной флешки Windows в Linux не представляет сложности. Это были все способы, которые я знаю. Если они вам помогли, напишите об этом. Если вы знаете еще способы, обязательно напишите о них в комментариях!

How to create UEFI-only bootable USB live media?

Having live media that can boot both ways can be a problem when installing Ubuntu onto currently available Windows 8 computers.

In other words the key advantage to creating UEFI-only bootable USB live media is: You know that it definitely booted and installed via UEFI.

Since Valve has already been doing UEFI-only booting USB installers with their Debian-based Steam OS and UNetbootin — the top voted alternative to Ubuntu’s Startup Disk Creator — isn’t UEFI compatible and therefore misleading, I think we should have a separate topic for creating UEFI-only bootable USB live media.

3 Answers 3

Overview

Creating UEFI-only booting USB live media is pretty straight forward. Just copy the files to your FAT32-formatted USB drive. That’s it!

Remember that for an installation or booting the media:

  • You may still need to explicitly tell your computer to boot the media via UEFI.
  • A GPT partition table like in preinstallations of Windows 8 and later is recommended.
  • Don’t forget to create a partition after you’ve created the partition table.
  • Use the latest AMD64 (LTS) ISOs, because these definitely contain UEFI bootloaders.

Table of contents

  • Copy files from the ISO method
    1. Example via terminal
    2. Example via GUI
    3. Example on Windows
  • The ISO loopback method (advanced)
    1. Creating the binary
    2. Creating the configuration file
    3. Adding persistency
    4. Checking the integrity
    5. UEFI Secure Boot
  • Review in 2020

1. Copy files from the ISO method

This method also works for other install media that contains EFI loaders, like Windows for example.

1.1. Example via terminal

You can do something like the following if 604A-00EA is your USB drive and you already have p7zip installed:

You’re done if you have only one partition on this USB drive, otherwise you need to flag the partition as bootable e.g. via parted :

Where /dev/sdX would be your USB drive and 1 the partition number that should be used to boot.

1.2. Example via GUI

Mount the .iso-file and copy the contents over to your USB drive. Press Ctrl + H in Nautilus to display and copy hidden files as well.

Add the boot flag via GParted.

1.3. Example on Windows

  1. Same as above, just copy files.
  2. Press Windows/Super + X , go to Disk Management and check if the partition is marked as active. On Windows versions prior to Windows 8, you press Windows/Super + R to open the run menu and open diskmgmt.msc , that would open Disk Management.

2. The ISO loopback method (advanced)

Instead of extracting contents from an ISO image, GRUB and GRUB2 have been able to boot from ISO images directly through a loopback device. Given that the ISO image is UEFI bootable, we can set up a USB drive containing multiple ISOs with different operating systems without creating a mess on the USB drive.

If you want to boot Windows too you might want to look at SARDU. I remember using it with Windows PE around 2005 and it seems to have been updated to support USB drives and UEFI, but remember that this tool also supports legacy booting.

What do we need?

  • Very basic knowledge of GRUB configuration files.
  • Very basic knowledge of UEFI booting and GRUB, as we are going to generate our own GRUB bootloader image with a plenty of modules included.
  • A UEFI bootable ISO image, a FAT formatted USB drive and a machine that runs Linux.
    • No, we don’t need a UEFI installation of Linux (which may be a chicken and egg situation), a traditional Linux VM like in VirtualBox is fine.
Читайте также:  Как удалить windows old права администратора

2.1. Creating the binary

On your Ubuntu machine or VM make sure the package grub-efi-amd64-bin is installed (grub-efi-ia32-bin is also available for 32-bit Intel architectures on newer releases). The package may have a different name on another distribution, you can compare the file listing of the package to find the right package on your distribution.

The following command will generate the GRUB image, in this case an EFI binary that every computer with a UEFI firmware should be able to run:

Every standard UEFI firmware should look into \EFI\BOOT\ for a file named boot.efi , so create the folders on the USB drive and copy the image we just created to this location. Other architectures instead of x64 are possible, but let’s keep it simple with x64/amd64.

2.2. Creating the configuration file

A very basic example for a the grub.cfg configuration file that should be placed in the same directory as bootx64.efi would look like this:

The important thing is the configuration block with the title Boot Ubuntu 14.04.2 LTS from ISO . You can change the color and timeout to your preference. I chose black/light-magenta as it still looks a bit Ubuntu-ish but is easily distinguishable when chainloading other configurations. You can find more examples for other distributions in the Arch Wiki and reading the GRUB manual is really worth your time if you want to go beyond that.

Getting back to the configuration block, it should be obvious that the ISO is referenced as /efi/boot/ubuntu-14.04.2-desktop-amd64.iso , so copy your ISO to \EFI\BOOT\ and replace ubuntu-14.04.2-desktop-amd64.iso in the configuration with the actual filename of your ISO.

loopback loop $isofile is the line, that will load our ISO file to a loopback device from which we can boot the Linux kernel directly. This is possible because our EFI GRUB image includes the loopback module. (A bit of trial and error was involved in figuring out which modules are reasonable to include. You shouldn’t see any error messages, it’s still not perfect though.) Speaking of the kernel you can add kernel parameters like toram , parameters for different languages (example locale=de_DE bootkbd=de ) and as in the example: persistent

2.3. Adding persistency

You can add a partition as described in: How do I get a live-USB to use a partition for persistence? Or you can create a casper-rw file and place it at the root of your USB drive.

I haven’t tested what the absolute maximum is, it should be somewhere between 4094 and 4096 MB. Use a partition if you intend to use more space. Note that every change to the (root) is a modification to the overlay filesystem, even deleting files.

2.4. Checking the integrity

You should look at answers to the following questions to verify that the Live ISO content on the USB drive is in pristine condition:

2.5. UEFI Secure Boot

Secure Boot will become mandatory with Windows 10 machines, I suggest you have a look at the Linux Foundation’s PreLoader to add Secure Boot functionality to this setup. Here is some ASCII art illustrating menus of the accompanying HashTool.

3. Review in 2020

I wrote this answer more than 5 years ago. How well does it still work? It works well for Ubuntu. install.wim from latest Windows 10 images however exceeds the FAT32 maximum file size and bigger images like RHEL 8 also don’t fit. I tried Rufus yesterday and noticed that it uses GRUB too with NTFS EFI modules to read another NTFS partition where it stored the Windows installation files. It failed to load data from this partition though. Also exFAT is now commonplace.

Windows is picky with drives that have no partition tables. Trying to re-purpose older SSDs as chunky USB thumb drives does not work really well on Windows. Maybe I need to read some Microsoft documentation to find out what the rationale was to make it a bit more complicated than on Linux.

ChromeOS is a different topic, I think it’s not possible to create recovery media the way I prefer. Which is cumbersome when you have to use Windows and reformat the entire drive to create media for your Chromebook.

Interesting stuff, let’s hope I find time to fix some of this and learn a few more new things.

Congratulations, I’d say you now mastered UEFI booting and shouldn’t be afraid anymore.

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