При установке Ubuntu на доступные в настоящее время компьютеры с Windows 8 могут возникнуть проблемы с загрузкой мультимедийных файлов в обоих направлениях.
Другими словами, ключевое преимущество создания загрузочного носителя USB только для UEFI : вы знаете, что он определенно загружается и устанавливается через UEFI.
Так как Valve уже делает загрузочные USB-установщики только для UEFI с их основанной на Debian Steam OS и UNetbootin - самой популярной альтернативой Ubuntu Startup Disk Creator - не совместим с UEFI и поэтому вводит в заблуждение, я думаю, у нас должна быть отдельная тема для создания загрузочных носителей USB с поддержкой только UEFI.
Создание UEFI только для загрузки живых USB-носителей довольно просто. Просто скопируйте файлы на ваш FAT32-форматированный USB-накопитель. Вот и все!
Запомните, что для установки или загрузки носителя:
Этот метод также работает для других установочных носителей, содержащих EFI-загрузчики, например, Windows.
Вы можете сделать следующее, если 604A-00EA
является вашим USB-накопителем и у вас уже установлен p7zip
:
$ 7z x ubuntu-12.04-desktop-amd64.iso -o/media/$USER/604A-00EA/
Сделано, если у вас только один раздел на этом USB-накопителе, в противном случае вам нужно пометить раздел как загрузочный e. g. через parted
:
# parted /dev/sdX set 1 boot on
Где /dev/sdX
будет ваш USB диск и 1
номер раздела, который нужно использовать для загрузки.
Mount the .iso-file and copy the content over to your USB drive. Нажмите Ctrl+H в Nautilus, чтобы также отобразить и скопировать скрытые файлы.
Добавьте флаг загрузки через GParted.
diskmgmt.msc
, в результате чего откроется меню "Управление дисками".Вместо извлечения содержимого из ISO-образа, GRUB и GRUB2 могли загружаться с ISO-образов напрямую через устройство обратной связи. Учитывая, что ISO-образ является загрузочным UEFI, мы можем настроить USB-накопитель, содержащий несколько ISO-образов с разными операционными системами без создания путаницы на USB-накопителе.
Если вы хотите загрузить и Windows, посмотрите на SARDU. Я помню, что использовал его с Windows PE примерно в 2005 году, и он, кажется, был обновлен для поддержки USB-носителей и UEFI, но помните, что этот инструмент также поддерживает загрузку по наследству.
Что нам нужно?
На машине Ubuntu или ВМ, убедитесь, что установлен пакет 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.
Очень простой пример для конфигурационного файла 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 из ISO
. Вы можете изменить цвет и таймаут в соответствии с вашими предпочтениями. Я выбрал черный/светло-маджента
, так как он все еще выглядит немного Ubuntu...мешок, но легко различим при загрузке цепочек других конфигураций. Вы можете найти больше примеров для других дистрибутивов в Arch Wiki и чтение руководства GRUB действительно стоит вашего времени, если вы хотите выйти за рамки этого.
Возвращаясь к блоку конфигурации, должно быть очевидно, что на ISO ссылаются как на /efi/boot/ubuntu-14.04.2-desktop-amd64. iso
, поэтому скопируйте ISO на \EFI\BOOT\
и замените ubuntu-14.04.2-desktop-amd64.iso
в конфигурации на фактическое имя файла вашего ISO.
цикл обратной связи по циклу $isofile
- это строка, которая загрузит наш ISO файл на устройство обратной связи по циклу, с которого мы сможем загрузить ядро Linux напрямую. Это возможно, потому что наш образ EFI GRUB включает в себя модуль обратной связи по циклу. (Немного проб и ошибок было вовлечено в выяснение того, какие модули разумно включать. Вы не должны видеть никаких сообщений об ошибках, это все равно не идеально). Говоря о ядре, можно добавить такие параметры ядра как toram
, параметры для разных языков (пример locale=de_DE bootkbd=de
) и так же, как и в примере: persistent
Вы можете добавить раздел, как описано выше: Как получить live-USB для использования раздела для сохраняемости? Или вы можете создать файл casper-rw
и поместить его в корневой каталог вашего USB-накопителя.
dd if=/dev/zero of=casper-rw bs=1M count=4094
mkfs.ext4 -m 0 casper-rw
Я не проверял, что такое абсолютный максимум, он должен быть где-то между 4094 и 4096 Мб. Используйте раздел, если вы собираетесь использовать больше места. Обратите внимание, что каждое изменение в (корневом) является модификацией файловой системы оверлея, даже удаление файлов.
Вы должны посмотреть на ответы на следующие вопросы, чтобы проверить, что содержимое Live ISO на USB-диске находится в первозданном состоянии:
Безопасная загрузка станет обязательной на машинах с Windows 10, я предлагаю вам взглянуть на PreLoader Linux Foundation, чтобы добавить функциональность безопасной загрузки в эту установку. Вот некоторые ASCII-искусство, иллюстрирующие меню прилагаемого HashTool.
Я написал этот ответ более 5 лет назад. Насколько хорошо он до сих пор работает? Он хорошо работает для Ubuntu. install.wim с последних образов Windows 10, однако превышает максимальный размер файла FAT32, а более крупные образы, такие как RHEL 8, также не подходят. Вчера я пробовал использовать Rufus и заметил, что он использует GRUB тоже с модулями NTFS EFI для чтения другого раздела NTFS, на котором он хранит установочные файлы Windows. Однако он не смог загрузить данные с этого раздела. Также exFAT стал обычным явлением.
Windows придирчиво относится к дискам, которые не имеют таблиц разделов. Попытка перепрофилировать старые SSD-накопители в качестве плотных USB-накопителей не очень хорошо работает в Windows. Может быть, мне нужно прочитать некоторую документацию Microsoft, чтобы понять, как это сделать немного сложнее, чем в Linux.
ChromeOS - это другая тема, я думаю, что невозможно создать носитель для восстановления так, как я предпочитаю. Это громоздко, когда нужно использовать Windows и переформатировать весь диск, чтобы создать носитель для Chromebook.
Интересные вещи, будем надеяться, что я найду время, чтобы исправить некоторые из них и узнать еще несколько новых вещей.
Поздравляю, я бы сказал, что теперь вы освоили загрузку UEFI и больше не должны бояться.
Извлечение содержимого Ubuntu 64-разрядный ISO-файл рабочего стола в раздел с файловой системой FAT32 и флагом загрузки выполнят свою работу: для создания живого диска, который загружается только в режиме UEFI. Здесь он называется «Копировать файлы из метода ISO» (в принятый ответ).
Но это легко проверить в работающей системе Ubuntu (как в реальном времени, так и в установленной), если она была загружена в режиме UEFI или BIOS. Запустите это командная строка,
test -d /sys/firmware/efi && echo efi || echo bios
Это упрощает использование живых систем, которые могут использоваться в обоих режимах загрузки, которые также могут быть vantage.
См. также следующие ссылки для более подробного объяснения и описания метода,
Использование dd
у меня сработало, по какой-то причине версия с графическим интерфейсом не работала. Итак, во-первых, вы можете захотеть отслеживать ход выполнения 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
! )