Як створити завантажувальний USB-медіа тільки для UEFI?


107

Наявність живих носіїв, які можуть завантажуватись обома способами, може бути проблемою при встановленні Ubuntu на наявні в даний час комп'ютери Windows 8.

Іншими словами, ключовою перевагою у створенні завантажувального USB-носія, що підтримує лише UEFI, є: Ви знаєте, що він безумовно завантажується та встановлюється через UEFI.

Оскільки Valve вже робив завантажувачі USB лише для UEFI, використовуючи їх на базі Debian Steam OS та UNetbootin - найкращу проголосовану альтернативу Ubuntu Creator Startup Disk Creator - не сумісний з UEFI і тому вводить в оману, я думаю, у нас повинна бути окрема тема для створення завантажувального USB-носія, що підтримується лише UEFI.

Відповіді:


133

Огляд

Створення живих носіїв USB лише для UEFI є досить прямим. Просто скопіюйте файли на USB-накопичувач у форматі FAT32 . Це воно!

Пам'ятайте, що для встановлення або завантаження носія:

Зміст

  • Скопіюйте файли методом ISO
    1. Приклад через термінал
    2. Приклад через GUI
    3. Приклад у Windows
  • Метод зворотного зв'язку ISO (розширений)
    1. Створення двійкового
    2. Створення файла конфігурації
    3. Додавання стійкості
    4. Перевірка цілісності
    5. Захищене завантаження UEFI

1. Скопіюйте файли методом ISO

Цей метод також працює для інших установочних носіїв, що містять завантажувачі EFI, наприклад Windows.

1.1. Приклад через термінал

Ви можете зробити щось на зразок наступного, якщо 604A-00EAце ваш USB-накопичувач і ви вже p7zipвстановили:

$ 7z x ubuntu-12.04-desktop-amd64.iso -o/media/$USER/604A-00EA/

Ви закінчили, якщо у вас на цьому USB-диску є лише один розділ, інакше вам потрібно позначити розділ як завантажувальний, наприклад, через parted:

# parted /dev/sdX set 1 boot on

Де /dev/sdXбуде ваш USB-накопичувач та 1номер розділу, який слід використовувати для завантаження.

1.2. Приклад через GUI

  1. Встановіть .iso-файл і скопіюйте вміст на свій USB-накопичувач. Натисніть Ctrl+ Hу Nautilus, щоб також відображати та копіювати приховані файли.

    nautilus, що показує програму Image Disk Planter у контекстному меню, коли вибрано .iso-файл

  2. Додайте прапор завантаження через GParted .

    GParted показує, як керувати прапорами розділів

1.3. Приклад у Windows

  1. Те саме, що вище, просто скопіюйте файли.
  2. Натисніть Windows/Super+ X, перейдіть до Управління дисками і перевірте, чи розділ позначений як активний. У версіях Windows до Windows 8 ви натискаєте Windows/Super+, Rщоб відкрити меню запуску та відкрити diskmgmt.msc, що б відкрило управління дисками.

2. Метод зворотного зв'язку ISO (розширений)

Замість того, щоб витягувати вміст із зображення ISO, GRUB та GRUB2 змогли завантажуватись із ISO-зображень безпосередньо через пристрій петлі. Враховуючи, що ISO-зображення завантажуються UEFI, ми можемо налаштувати USB-накопичувач, що містить декілька ISO з різними операційними системами, не створюючи безлад на USB-накопичувачі.

Якщо ви також хочете завантажувати Windows, ви можете подивитися на SARDU . Я пам’ятаю, що використовував його з Windows PE близько 2005 року, і, здається, він був оновлений для підтримки USB-накопичувачів та UEFI, але пам’ятаю, що цей інструмент також підтримує застаріле завантаження.

Що нам потрібно?

  • Дуже базові знання файлів конфігурації GRUB.
  • Дуже основні знання про завантаження UEFI та GRUB, оскільки ми збираємось генерувати власне зображення завантажувача GRUB з великою кількістю модулів.
  • Завантажувальне зображення ISO UEFI, USB-накопичувач у форматі FAT та машина, яка працює під управлінням Linux.
    • Ні, нам не потрібна установка UEFI Linux (що може бути ситуацією з курячими яйцями), традиційна Linux VM, як у VirtualBox, чудово.

2.1. Створення двійкового

На вашій машині Ubuntu або VM переконайтеся, що встановлено пакет grub-efi-amd64-bin (grub-efi-ia32-bin також доступний для 32-бітних архітектур Intel в нових версіях). Пакет може мати іншу назву в іншому дистрибутиві, ви можете порівняти список файлів пакета, щоб знайти потрібний пакет для вашого розповсюдження.

Наступна команда генерує зображення GRUB, у цьому випадку двійковий файл EFI, який повинен мати змогу запускати кожен комп'ютер із програмним забезпеченням UEFI:

grub-mkimage -o bootx64.efi -p /efi/boot -O x86_64-efi \
 fat iso9660 part_gpt part_msdos \
 normal boot linux configfile loopback chain \
 efifwsetup efi_gop efi_uga \
 ls search search_label search_fs_uuid search_fs_file \
 gfxterm gfxterm_background gfxterm_menu test all_video loadenv \
 exfat ext2 ntfs btrfs hfsplus udf

Кожна стандартна прошивка UEFI повинна шукати \EFI\BOOT\файл з назвою boot{arch}.efi, тому створіть папки на USB-накопичувачі та скопіюйте зображення, яке ми тільки що створили, на це місце. Можливі й інші архітектури замість x64, але давайте будемо просто використовувати x64 / amd64.

2.2. Створення файла конфігурації

Дуже базовий приклад grub.cfgфайлу конфігурації, який повинен бути розміщений у тому самому каталозі, як bootx64.efiі такий:

set timeout=3
set color_highlight=black/light-magenta

menuentry 'Boot Ubuntu 14.04.2 LTS from ISO' {
        set isofile="/efi/boot/ubuntu-14.04.2-desktop-amd64.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject quiet splash persistent --
        initrd (loop)/casper/initrd.lz
}
submenu 'Useful snippets' {
    menuentry 'Ubuntu' {
            chainloader /efi/ubuntu/grubx64.efi
    }
    menuentry 'Windows' {
            chainloader /efi/Microsoft/Boot/bootmgfw.efi
    }
    menuentry 'Firmware Setup' {
            fwsetup
    }
}

Важливим є блок конфігурації з заголовком Boot Ubuntu 14.04.2 LTS from ISO. Ви можете змінити колір та час очікування на ваш уподобання. Я вибрав, black/light-magentaяк це все ще виглядає трохи Ubuntu-ish, але його легко відрізнити, коли завантажуються інші конфігурації. Ви можете знайти більше прикладів для інших дистрибутивів у Arch Wiki і читання інструкції GRUB дійсно варте вашого часу, якщо ви хочете вийти за рамки цього.

Повертаючись до блоку конфігурації, повинно бути очевидним, що на ISO посилається так /efi/boot/ubuntu-14.04.2-desktop-amd64.iso, тому скопіюйте свій ISO \EFI\BOOT\та замініть ubuntu-14.04.2-desktop-amd64.isoв конфігурації фактичне ім'я файлу вашої ISO.

loopback loop $isofileце рядок, який завантажить наш файл ISO на пристрій циклу, з якого ми можемо безпосередньо завантажувати ядро ​​Linux. Це можливо, оскільки наше зображення EFI GRUB включає модуль зворотного зв'язку. (Трохи проб і помилок було залучено до з'ясування, які модулі доцільно включати. ​​Ви не повинні бачити жодних повідомлень про помилки, хоча все ще не ідеально.) Якщо говорити про ядро, ви можете додати параметри ядра, наприклад toram, параметри для різних мов (приклад locale=de_DE bootkbd=de) і як у прикладі:persistent

2.3. Додавання стійкості

Ви можете додати розділ, як описано в: Як отримати живий USB, щоб використовувати розділ для збереження? Або ви можете створити casper-rwфайл і розмістити його в корені вашого USB-накопичувача.

dd if=/dev/zero of=casper-rw bs=1M count=4094
mkfs.ext4 -m 0 casper-rw

Я не перевіряв, що таке абсолютний максимум, він повинен бути десь між 4094 і 4096 Мб. Використовуйте розділ, якщо ви плануєте використовувати більше місця. Зауважте, що кожна зміна (root) - це модифікація файлової системи накладання, навіть видалення файлів.

2.4. Перевірка цілісності

Слід переглянути відповіді на наступні запитання, щоб переконатися, що вміст ISO Live на USB-накопичувачі знаходиться в незайманому стані:

2.5. Захищене завантаження UEFI

Безпечна завантаження стане обов'язковою на машинах Windows 10, я пропоную вам ознайомитись з PreLoader Linux Foundation, щоб додати в цю програму функціональність Secure Boot. Ось мистецтво ASCII, що ілюструє меню супровідного HashTool .


Вітаю, я б сказав, що ви зараз освоїли завантаження UEFI і більше не повинні боятися.


1
дозвольте мені зазначити (a) що всі ПК, що постачаються протягом останніх 5 років, мають таку можливість; (b) що коріння встановлення .iso потім може використовувати повну USB-накопичувач як звичайне стійке сховище. (використовуйте параметри кріплення ro для захисту від випадкового видалення.) Для сучасних ПК та загальних моделей використання це здається кращим рішенням, ніж рішення за замовчуванням у режимі live-usb-creator.
користувач1539216

3
Під час використання методу GUI я зіткнувся з деякими символічними помилками посилань . Це актуально? Чи можете ви, будь ласка, докладно?
VRR

1
Привіт, LiveWireBT! Дякую за таку цікаву відповідь !! Я дотримувався 2. Метод циклу ISO (розширений) і мені вдалося завантажити UEFI з флешки. Але, наприкінці завантаження я отримав повідомлення про помилку: Не можу встановити / dev / loop2 на / корову і після натискання клавіші enter я побачив підказку (initramfs). Чи можете ви мені в цьому допомогти?
зуба

Хочу також подякувати вам за чудовий путівник, це було зрозуміло і стисло. Я ніколи навіть не думав розділити накопичувач великого пальця і ​​мати на ньому кілька ОС. Знову дякую!
Хатем Джабер

2
Принаймні, 16.04, "копіювати всі файли" не може завантажуватися через аргумент рядка ядра grub.cfg "file = / cdrom / preseed / ubuntu.seed". Немає такого файлу, ймовірно, пов’язаного із згаданим раніше відсутнім символьним посиланням (ubuntu to.). Відредагуйте grub.cfg, щоб видалити файл = ... і замініть його на "live-media-path = / casper / ignore_uuid"
ubfan1

3

Витяг з ISO-файлу до FAT32

Витягнення вмісту 64-розрядного файлу ISO на робочому столі Ubuntu до розділу з файловою системою FAT32 та прапором завантаження зробить роботу: створити живий диск, який завантажується лише в режимі UEFI Він називається "Копіювати файли методом ISO" тут (у прийнятій відповіді).

Перевірте, чи працює в режимі UEFI або BIOS

Але це легко перевірити в працюючій системі Ubuntu (жити так само, як встановлено), якщо вона була завантажена в режимі UEFI або BIOS. Запустіть цей командний рядок,

test -d /sys/firmware/efi && echo efi || echo bios

Це дає можливість використовувати живі системи, які можна використовувати в обох режимах завантаження, що також може бути перевагою.

Дивіться також наступні посилання для більш детального пояснення та опису методу,

help.ubuntu.com/community/Installation/iso2usb

help.ubuntu.com/community/Installation/iso2usb/diy


2

Використання ddпрацювало для мене, чомусь версія GUI не працювала. Отже, по-перше, ви, можливо, захочете відстежувати етапи DD , в іншому варіанті використовується опція SIGUSR1, щоб викликати ddперіодичне повідомлення про свій прогрес, але це складніше, ніж pv.

Тоді:

sudo dd if=path/to/image/file | pv | sudo dd of=/dev/device_you_want_to_use

( /dev/device_you_want_to_useяк правило /dev/sdb, але перевіряйте df!)


8
Створення медіа таким чином не призводить до завантажувальних носіїв, що працюють лише у UEFI . Акцентовано увагу на останньому абзаці запитання: "Є також одна перевага у створенні живих носіїв USB лише для UEFI: Ви знаєте, що він безумовно завантажувався через UEFI." Наявність засобів масової інформації, які можуть завантажуватись обома способами, є проблемою при спробі зрозуміти та налаштувати Ubuntu-завантажувальну установку UEFI.
LiveWireBT

1
Я бачу. Дивна річ у тому, що таким чином мені вдалося створити зображення, завантажене в режимі UEFI (я знаю це, оскільки ноутбук був налаштований на завантаження лише уефі, а також через початковий екран). Запропонований відповідь не працював для мене, комп'ютер просто не завантажився із зображенням, створеним просто копіюванням файлів.
суп

5
@ за допомогою цього методу створюються носії, які можуть бути завантажені UEFI. Проблема полягає в тому, що це не лише завантажувальний сервіс UEFI, як вимагається у запитанні: він також може бути завантажений у режимі BIOS.
Дараель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.