USB flash installation medium (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи USB flash installation media. Дата последней синхронизации: 17 марта 2019. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

На этой странице описаны различные способы создания загрузочной флешки с Arch Linux как для загрузки в системах с BIOS, так и с UEFI. Результатом будет система LiveUSB (подобная LiveCD), которую можно будет использовать для установки Arch Linux, обслуживания системы или в целях восстановления. Обратите внимание, что после выключения все изменения на носителе будут отмены из-за особенностей SquashFS.

Если вам нужно запускать Arch Linux с USB-накопителя с сохранением изменений, посмотрите статью Installing Arch Linux on a USB key. Если вы хотите использовать загрузочный USB-носитель Arch Linux в целях восстановления, посмотрите статью Cмена суперпользователя.

Создание загрузочного USB для BIOS и UEFI

Используя автоматические инструменты

В GNU/Linux

Через dd
Примечание: Этот способ рекомендуется из-за своей простоты. Если через него не получилось, попробуйте альтернативный метод #Используя ручное форматирование ниже.
Важно: Это уничтожит безвозвратно все файлы на /dev/sdx. Чтобы восстановить USB-накопитель как пустое, пригодное для использования запоминающее устройство после использования ISO-образа Arch, необходимо удалить подпись файловой системы ISO 9660, выполнив wipefs --all /dev/sdx от суперпользователя, перед разметкой и форматированием.
Совет: Узнать имя вашей флешки можно с помощью lsblk. Убедитесь что она не примонтирована.

Выполните следующую команду, заменив /dev/sdx на ваше устройство, например, на /dev/sdb. (Не добавляйте номер раздела, т.е. не используйте что-то вроде /dev/sdb1)

# dd bs=4M if=путь/до/archlinux.iso of=/dev/sdx status=progress oflag=sync

Для получения дополнительной информации о dd, а также о oflag=sync смотрите соответственно dd(1) и dd(1) § DESCRIPTION.

В Windows

Через Rufus

Rufus - универсальная утилита для записи ISO на USB-накопители. Просто выберите образ Arch Linux, USB-накопитель, который вы хотите сделать загрузочным, и нажмите СТАРТ.

Поскольку Rufus не проверяет правильно ли отформатировано устройство и предоставляет GUI, его можно посчитать самым простым и надежным инструментом для использования.

Примечание: Образ должен быть записан в режиме DD-образ.
  • Для версий Rufus ≥ 3.0 выберите GPT в Схема раздела. После нажатия СТАРТ вы получите диалоговое окно для выбора режима, выберите Записать в режиме DD-образ.
  • Для версий Rufus < 3.0 выберите режим DD-образ из выпадающего меню напротив пункта "Создать загрузочный диск".
Через USBwriter

Этот способ не требует каких-либо обходных решений и прост как dd в Linux. Вам нужно только скачать образ Arch Linux и использовать утилиту USBwriter с локальными правами администратора для записи USB флешки.

Через win32diskimager

win32diskimager - инструмент для записи iso на USB с GUI для Windows. Просто выберите ваш iso образ и букву USB-носителя (вам может потребоваться сначала отформатировать его для назначения буквы), потом нажмите Write.

Через Cygwin

Убедитесь, что установка Cygwin содержит пакет dd.

Совет: Если вы не хотите устанавливать Cygwin, вы можете скачать dd для Windows здесь. Для получения дополнительной информации смотрите следующий раздел.

Положите образ в ваш домашний каталог:

C:\cygwin\home\John\

Запустите cygwin от администратора (это необходимо cygwin'y для доступа к железу). Для записи на USB-носитель выполните следующую команду:

dd if=образ.iso of=\\.\x: bs=4M

где образ.iso - путь до образа iso без директории cygwin, а \\.\x: - ваша флешка, где x это буква, присвоенная устройству windows, например, \\.\d:.

В Cygwin 6.0 узнайте имя устройства с помощью:

cat /proc/partitions

и запишите образ ISO, согласно выходной информации предыдущей команды. Например:

Важно: Это уничтожит безвозвратно всю информацию на USB-накопителе, поэтому убедитесь, что на нем нет важных файлов перед этим.
dd if=образ.iso of=/dev/sdb bs=4M
через dd для Windows

GPL версия утилиты dd для Windows доступна на сайте http://www.chrysocome.net/dd. Преимуществом над Cygwin является меньший размер. Используйте ее, как показано в инструкциях для Cygwin выше.

Для начала скачайте последнюю версию dd для Windows. После загрузки распакуйте содержимое архива в каталог Загрузки или в другое место.

Теперь запустите командную строку от администратора. Далее смените директорию с помощью (cd) на Загрузки.

Если ISO Arch Linux в другом месте, укажите полный путь до него. Для удобства вы можете поместить образ Arch Linux в ту же папку, что и исполняемый файл dd. Основной формат команды будет выглядеть следующим образом.

# dd if=archlinux-версия-x86_64.iso od=\\.\x: bs=4M
Примечание: Буквы дисков в Windows связаны с разделами. Чтобы разрешить выбор всего диска, dd для Windows имеет параметр od, который используется в приведенных выше командах. Однако обратите внимание, что этот параметр относится к версии dd для Windows и может отсутствовать в других реализациях dd.
Важно: Из-за использования параметра od все разделы на выбранном диске будут уничтожены. Перед выполнением убедитесь, что вы ввели правильное имя устройства.

Замените все пустые места (обозначенные "x") правильной датой и правильной буквой диска. Вот полный пример.

# dd if=ISOs\archlinux-версия-x86_64.iso od=\\.\d: bs=4M

The factual accuracy of this article or section is disputed.

Reason: Следующее замечание может быть неверно. В документации нет ничего связанного с PhysicalDrive. (Discuss in Talk:USB flash installation medium (Русский)#dd для windows)
Примечание: Альтернативно, замените букву устройства на \\.\PhysicalDriveX, где X - физический номер устройства (начинается с 0). Например:
# dd if=ISOs\archlinux-версия-x86_64.iso of=\\.\PhysicalDrive1 bs=4M

Вы можете узнать физический номер вводом wmic diskdrive list brief в комадную строку или с dd --list.

Любые окна Проводника должны быть закрыты или dd сообщит об ошибке.

В macOS

Сначала, вам нужно идентифицировать USB-устройство. Откройте /Applications/Utilities/Terminal и перечислите все устройства хранения с помощью команды:

$ diskutil list

Ваше USB-устройство появится, как /dev/disk2 (external, physical). Убедитесь, что это устройство, которое вы хотите использовать, проверив его имя и размер, а затем используйте его идентификатор для приведенных ниже команд вместо /dev/diskX.

USB-устройства обычно автомонтируются в macOS, и вам необходимо отключить его (не извлечь) перед записью через dd. В Терминале выполните:

$ diskutil unmountDisk /dev/diskX

Теперь скопируйте ISO образ на устройство. Команда dd похожа на версию dd в Linux, но заметьте, что 'r' перед 'disk' обозначает режим raw, который делает процесс намного быстрее:

# dd if=путь/до/arch.iso of=/dev/rdiskX bs=1m

Обратите внимание, что в diskX здесь не включается суффикс s1, иначе USB-носитель будет загружаться только в режиме UEFI, а не в legacy. После завершения macOS может жаловаться, что "The disk you inserted was not readable by this computer" ("Вставленный диск не читается этим компьютером"). Выберите 'Игнорировать'. Устройство USB будет загрузочным.

Используя ручное форматирование

В GNU/Linux

Это способ сложнее, чем запись напрямую через dd. Но преимущество этого способа - сохранение возможности хранение прочей информации на флешке (ISO образ устанавливается в определенный раздел уже размеченного устройства без изменения оставшихся).

Примечание: Здесь мы обозначим целевой раздел как /dev/disk/by-id/usb-My_flash_drive-partn. В любой из следующих команд изменяйте My_flash_drive и n в соответствии с вашей системой.
  • Если это еще не сделано, создайте раздел на устройстве. Раздел /dev/disk/by-id/usb-My_flash_drive-partn должен быть отформатирован в FAT32
  • Смонтируйте файловую систему FAT32, расположенную на флешке, и извлеките туда содержимое ISO-образа. Например:
# mount /dev/disk/by-id/usb-My_flash_drive-partn /mnt
# bsdtar -x -f archlinux-version-x86_64.iso -C /mnt

Для загрузки в режиме BIOS требуется указать том, на котором находятся файлы. По умолчанию UUID YYYY-mm-dd-HH-MM-SS-00 (с соответствующей датой и временем выпуска в формате UTC). Замените параметр archisodevice= в /mnt/boot/syslinux/archiso_sys-linux.cfg на постоянный идентификатор устройства для вашего устройства. Например, archisodevice=UUID=YOUR-UUID.

Примечание: Неправильный archisolabel или archisodevice будет препятствовать загрузке с созданного носителя.

Файлы Syslinux для систем BIOS уже скопированы в /mnt/boot/syslinux/. Размонтируйте файловую систему FAT, установите пакеты syslinux и mtools и выполните следующие команды, чтобы сделать раздел загрузочным:

# umount /mnt
# syslinux --directory boot/syslinux --install /dev/disk/by-id/usb-My_flash_drive-partn
# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/bios/mbr.bin of=/dev/disk/by-id/usb-My_flash_drive
Примечание:

В Windows

Примечание:
  • При ручном форматирование не используйте утилиты для создания загрузочных USB для UEFI. Также не используйте dd для Windows, чтобы записать ISO на USB.
  • В командах ниже X: предполагает USB-носитель в Windows.
  • Windows использует обратную косую черту \ для разделения пути, поэтому она в командах ниже.
  • Все команды следует выполнять в командной строке Windows от администратора.
  • > обозначает командную строку Windows.
  • Разметку и форматирование USB-устройства выполните, используя Rufus. Выберите схему разделов MBR для BIOS и UEFI и файловую систему FAT32. Уберите галку с пунктов "Создать загрузочный диск используя ISO-образ" и "Создать расширенную метку и значок устройства".
  • Измените Метку устройства USB-носителя X: на МЕТКУ archisolabel=, находящейся в <ISO>\loader\entries\archiso-x86_64.conf. Этот шаг необходим для официального ISO (Archiso). Этот шаг также можно было выполнить через Rufus, на предыдущем шаге "разбиение и форматирование".
  • Распакуйте ISO (похоже на распаковку архива ZIP) на флешку, используя 7-Zip.
  • Скачайте официальный бинарник Syslinux 6.xx (архив zip) с https://www.kernel.org/pub/linux/utils/boot/syslinux/ и извлеките его. Версия Syslinux желательно должна совпадать с версией в образе ISO.
  • Запустите следующие команды (в cmd Windows от администратора):
> cd bios\
> for /r %Y in (*.c32) do copy "%Y" "X:\arch\boot\syslinux\" /y
> copy mbr\*.bin X:\arch\boot\syslinux\ /y
  • Установите Syslinux на USB (используйте win64\syslinux64.exe для x64 Windows):
> cd bios\
> win32\syslinux.exe -d /arch/boot/syslinux -i -a -m X:
Примечание:
  • Приведенный выше шаг устанавливает ldlinux.sys Syslinux'а в VBR раздела USB, устанавливает раздел как "активный/загрузочный" в таблице разделов MBR и записывает код загрузки MBR в 1-й 440-байтовый загрузочный код USB.
  • Параметр -d ожидает путь с разделителем пути косой черты, как в *unix системах.

Другие способы для систем с BIOS

В GNU/Linux

Через мультизагрузочную флешку

Этот способ позволяет запускать несколько ISO с одного USB-носителя, включая archiso. Обновление ISO образа на USB-накопителе здесь делается проще, чем в большинстве других методах. Для получения дополнительной информации смотрите Multiboot USB drive.

Через GNOME Disk Utility

В дистрибутивах Linux с GNOME легко можно сделать liveCD через nautilus и gnome-disk-utility. Просто нажмите правой кнопкой мыши на файл .iso и выберите Open With Disk Image Writer. Когда откроется GNOME Disk Utility, укажите флешку в Destination и нажмите Start Restoring.

Создание USB-ZIP накопителя

Некоторые старые системы с BIOS поддерживают загрузку только с USB-ZIP носителя. Этот способ позволяет вам все еще загружаться с накопителя USB-HDD.

Важно: Это уничтожит всю информацию на USB-носителе!
  • Скачайте syslinux и mtools с официальных репозиториев.
  • Найдите вашу флешку с помощью lsblk.
  • Введите mkdiskimage -4 /dev/sdx 0 64 32 (заменив x на букву вашего устройства). Это займет некоторое время.

Теперь выполняйте инструкции из раздела ручного форматирования выше. Раздел будет /dev/sdx4 из-за особенностей работы ZIP-дисков.

Примечание: Не форматируйте накопитель в FAT32; он должен быть в FAT16.

Через UNetbootin

UNetbootin можно использовать на любом дистрибутиве Linux или Windows для копирования iso на USB. Но он перезаписывает syslinux.cfg, поэтому созданная загрузочная флешка не правильно загружается. Из-за этого Unetbootin не рекомендуется -- пожалуйста используйте dd или один из других описанных здесь способов.

Важно: UNetbootin перезаписывает стандартный syslinux.cfg, поэтому его нужно восстановить до использования флешки.

Измените syslinux.cfg:

sysconfig.cfg
default menu.c32
prompt 0
menu title Archlinux Installer
timeout 100

label unetbootindefault
menu label Archlinux_x86_64
kernel /arch/boot/x86_64/vmlinuz
append initrd=/arch/boot/x86_64/archiso.img archisodevice=/dev/sdx1 ../../

В строке /dev/sdx1 вы должны заменить x на первую свободную букву т.е. на букву, которая следует за последней использованой в системе, на которую устанавливаете Arch Linux (например, если у вас два жестких диска, используйте c.). Вы можете сделать это изменение во время первой фазы загрузки, нажав Tab, когда отображается меню.

В Windows

Через Flashnul

flashnul - утилита для проверки работоспособности и обслуживания Flash-памяти (USB-Flash, IDE-Flash, SecureDigital, MMC, MemoryStick, SmartMedia, XD, CompactFlash и т.д.).

В командной строке вызовите flashnul с параметром -p и определите, какой индекс устройства является вашим USB-накопителем, например:

C:\>flashnul -p
Avaible physical drives:
Avaible logical disks:
C:\
D:\
E:\

Когда вы определили, какое вам нужно устройство, вы можете записать образ на него, вызвав flashnul с индексом устройства, -L и с путем к образу, например:

C:\>flashnul E: -L путь\до\arch.iso

Если вы действительно уверены, что хотите записать данные, введите yes, а затем немного подождите, пока они будут записываться. Если вы получили ошибку "Отказано в доступе", закройте все открытые окна Проводника.

Если вы используете Vista или Win7, вы должны открыть консоль от имени администратора, иначе flashnul не сможет открыть флешку как блочное устройство и сможет писать только через дескриптор диска.

Примечание: Известно, что вам нужно использовать букву диска, а не номер. flashnul 1rc1, Windows 7 x64.

Загрузка установочного носителя из ОЗУ

Этот способ использует Syslinux и Ramdisk (MEMDISK) для загрузки всего образа Arch Linux в ОЗУ. Поскольку он будет работать полностью из оперативной памяти, вам необходимо убедиться, что система, на которую вы будете его устанавливать, имеет достаточный объем. Минимальное количество ОЗУ - между 500 MB и 1 GB. Этого должно хватить для MEMDISK на основе Arch Linux.

Для получения дополнительной информации о системных требованиях Arch Linux, а также о требованиях для MEMDISK соответственно смотрите Руководство по установке и это. Для справки, вот тема форума об этом.

Совет: После того, как установщик завершит загрузку, вы можете просто извлечь USB-накопитель и даже использовать его на другом компьютере заново. Использование MEMDISK также позволяет загружать и устанавливать Arch Linux с одной и той же USB-флешки.
Подготовка флэш-накопителя USB

Отформатируйте USB-носитель в FAT32. Затем создайте следующие папки на нем.

  • Boot
    • Boot/ISOs
    • Boot/Settings
Копирование нужных файлов на флешку

Далее скопируйте ISO, с которого вы хотите загружаться, в каталог Boot/ISOs. После этого извлеките следующие файлы из последней версии syslinux отсюда и скопируйте их в следующие каталоги.

  • ./win32/syslinux.exe на Рабочий стол или в Загрузки вашей системы.
  • ./memdisk/memdisk в каталог Settings на вашей флешки.
Создание файла настроек

После копирования необходимых файлов перейдите на USB-накопителе в /boot/Settings и создайте файл syslinux.cfg.

Важно: В строке INITRD обязательно используйте имя файла ISO, который вы скопировали в папку ISOs.
/Boot/Settings/syslinux.cfg
DEFAULT arch_iso

LABEL arch_iso
        MENU LABEL Arch Setup
        LINUX memdisk
        INITRD /Boot/ISOs/archlinux-версия-x86_64.iso
        APPEND iso

Для получения дополнительной информации о Syslinux смотрите статью Arch Wiki.

Заключительные шаги

Наконец, создайте файл *.bat в месте расположения syslinux.exe и запустите его ("Запустите от администратора" если вы используете Vista или Windows 7):

C:\Documents and Settings\username\Desktop\install.bat
@echo off
syslinux.exe -m -a -d /Boot/Settings X:

Решение проблем

  • Если появляется сообщение об ошибке "устройство не появляется через 30 секунд" ("device did not show up after 30 seconds") из-за того, что /dev/disk/by-label/ARCH_YYYYMM не монтируется, попробуйте переименовать USB-носитель в ARCH_YYYYMM (например, ARCH_201501).
  • Если вы получили ошибки, попробуйте использовать другое USB-устройство. Существуют примеры ситуаций, в которых решаются все проблемы.

Смотрите также