Перейти к содержимому

Как записать arch linux на флешку

  • автор:

Создание загрузочной флешки с Windows из под (Arch)Linux

Может понадобиться записать флешку с Windows, когда в наличии только Linux.

Приведенный способ наиболее легко применяется в системах ArchLinux и Manjaro, так как в их AUR репозиториях есть ms-sys .

Для начала, установим необходимые утилиты (если они отсутствуют): ~ yaourt -S util-linux ntfs-3g ms-sys

Для дальнейших действий необходимо определить флешку. Сделать это можно либо через программу GParted , либо в консоли с помощью программы df в консоли. ~ df Файловая система Размер Использовано Дост Использовано% Cмонтировано в dev 1,9G 0 1,9G 0% /dev run 1,9G 1,2M 1,9G 1% /run /dev/sda4 188G 21G 158G 12% / tmpfs 1,9G 162M 1,8G 9% /dev/shm tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup tmpfs 1,9G 24K 1,9G 1% /tmp /dev/sda6 321M 256K 321M 1% /boot/efi tmpfs 386M 12K 386M 1% /run/user/1000 /dev/sdb1 15G 3,7G 11G 26% /run/media/lab/USB DISK

В данном случае раздел на флешке имеет адрес /dev/sdb1 , а сама флешка — /dev/sdb .

На всякий случай отмонтируем флешку, если она уже примонтирована: ~ sudo umount /dev/sdb1 [sudo] пароль для lab:
Затем отформатируем флешку: ~ sudo mkfs.ntfs -n ‘Windows’ /dev/sdb1
И примонтируем все что нужно: #Создадим папки, куда будут подключаться iso-образ и флешка: ~ sudo mkdir -p /mnt/ ~ sudo chmod 777 /mnt/ #Монтируем iso-образ и флешку: ~ sudo mount -o loop ~/Загрузки/win7.iso /mnt/iso ~ sudo mount /dev/sdb1 /mnt/usb
Теперь копируем все установочные файлы Windows: ~ cp -r /mnt/iso/* /mnt/usb/

И устанавливаем загрузчик Windows 7 на флешку: ~ ms-sys -7 /dev/sdb

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

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

  • Optical disc drive#Burning
  • Archiso (Русский)
  • Multiboot USB drive

На этой странице описаны различные способы создания загрузочной флешки с 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, его можно посчитать самым простым и надежным инструментом для использования.

  • Для версий 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/sdXn . Во всех следующих командах заменяйте X и n на необходимые вам.

  • Убедитесь, что пакет syslinux установлен.
  • Если вы еще не разметили накопитель, то создайте таблицу разделов и/или разделы прежде чем продолжить. Раздел /dev/sdXn должен быть отформатирован в FAT32.
  • Смонтируйте ISO-образ, файловую систему FAT32, расположенную на USB-носителе, а потом скопируйте содержимое ISO образа на накопитель. Затем отмонтируйте образ ISO. Раздел FAT32 должен остаться примонтированным (он будет использоваться в последующих шагах). Например:
# mkdir -p /mnt/ # mount -o loop archlinux-версия-x86_64.iso /mnt/iso # mount /dev/sdXn /mnt/usb # cp -a /mnt/iso/* /mnt/usb # sync # umount /mnt/iso

Для загрузки требуется либо метка, либо UUID для выбора раздела для загрузки. По умолчанию используется метка ARCH_YYYYMM (с соответствующим годом и месяцем). Поэтому необходимо правильно установить метку раздела, например, используя gparted. Кроме того, вы можете изменить это поведение, отредактировав строки, заканчивающиеся на archisolabel=ARCH_YYYYMM в файле /mnt/usb/arch/boot/syslinux/archiso_sys.cfg (для загрузки с BIOS) и в /mnt/usb/loader/entries/archiso-x86_64.conf (для загрузки с UEFI). Для использования UUID замените эти части строк на archisodevice=/dev/disk/by-uuid/ВАШ-UUID . UUID можно узнать с помощью blkid -o value -s UUID /dev/sdXn .

Важно: Несоответствие метки или неправильный UUID препятствует загрузке с созданного носителя.

Syslinux уже предустановлен в /mnt/usb/arch/boot/syslinux . Установите его полностью в эту папку, следуя инструкциям в Syslinux#Ручная установка.

В Windows
  • При ручном форматирование не используйте утилиты для создания загрузочных USB для UEFI. Также не используйте dd для Windows, чтобы записать ISO на USB.
  • В командах ниже X: предполагает USB-носитель в Windows.
  • Windows использует обратную косую черту \ для разделения пути, поэтому она в командах ниже.
  • Все команды следует выполнять в командной строке Windows от администратора.
  • > обозначает командную строку Windows.
  • Разметку и форматирование USB-устройства выполните, используя Rufus. Выберите схему разделов MBR для BIOS и UEFI и файловую систему FAT32. Уберите галку с пунктов «Создать загрузочный диск используя ISO-образ» и «Создать расширенную метку и значок устройства».
  • Измените Метку устройства USB-носителя X: на МЕТКУ archisolabel= , находящейся в \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 , поэтому его нужно восстановить до использования флешки.

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. Затем создайте следующие папки на нем.

Копирование нужных файлов на флешку

Далее скопируйте 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-устройство. Существуют примеры ситуаций, в которых решаются все проблемы.

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

  • Gentoo wiki — LiveUSB/HOWTO
  • Fedora wiki — How to create and use Live USB
  • openSUSE wiki — SDB:Live USB stick

Создание загрузочной флешки BlackArch / Arch Linux

Для начала, конечно, скачайте образ BlackArch (только с официального сайта!). Записав этот образ на DVD-диск или на флешку вы смоете:

  • запускать live-систему, которая в точности, как и обычная, но в которой отсутствует возможность сохранять данные;
  • производить установку с этой live-системы.

Для установки BlackArch вы можете для начала установить Arch Linux, а затем на него установить инструменты для тестирования на проникновение. Мне этот способ нравиться даже больше. Если так, то вам нужно скачать образ Arch Linux здесь.

Само-собой, флешка должна быть больше (вмещать больше данных), чем размер скаченного образа. Рекомендуются самые быстрые флешки, которые есть на рынке.

Запись BlackArch на флешку в Windows

Для этого понадобиться программа Win32 Disk Imager. Программа бесплатна и очень проста. У неё графический интерфейс, главное, правильно выберите диск назначения. Иначе, неверным движением вы можете уничтожить внешний жёсткий диск или флешку, которую не хотели бы стирать.

Запись BlackArch на флешку в Linux

Дополнительных программ не требуется. Мы будем использовать утилиту dd. Этой утилитой нужно пользоваться очень осторожно, иначе с одним неверным движением руки вы уничтожить содержимое жёсткого диска, который не хотели бы стирать. Некоторые шутят, что dd означает «разрушитель данных». В общем, будьте осторожны – считайте, что я вас предупредил.

  1. Вставьте вашу USB флешку в USB порт вашего компьютера с Linux.
  2. Проверьте путь устройства вашего USB диска сdmesg.
  3. Продолжайте (осторожно!) запись файла BlackArch ISO на устройство USB:
dd if=blackarchlinux-live-2016.01.10-x86_64.iso of=/dev/sdb bs=512k

Создание загрузочной флешки Arch Linux

Я рекомендую устанавливать Arch Linux и уже поверх него накатывать инструменты BlackArch. Последовательность действий при записи не флешку такая же. Только скачивать нужно, конечно, Arch Linux. Официальный сайт: https://www.archlinux.org/download/

Близкие статьи

  • Варианты установки BlackArch (100%)
  • Установка BlackArch, часть первая: Установка BlackArch в VirtualBox (100%)
  • Установка BlackArch, часть вторая: Установка Arch (100%)
  • Установка Дополнений гостевой ОС VirtualBox для BlackArch (Arch Linux) (100%)
  • Установка BlackArch, часть третья: Установка Cinnamon в Arch (100%)
  • Как настроить Bluetooth на Arch Linux / BlackArch (RANDOM — 19.3%)

7 комментариев для “ Создание загрузочной флешки BlackArch / Arch Linux ”

В команде ошибочка — после if= пробел не нужен. Иначе dd выдает: dd: операнд «archlinux-2017.01.01-dual.iso» не распознан

Alexey :
Совершенно верно, спасибо, что обратили внимание.
Dmitry :

По каким именно причинам вы рекомендуте накатывать инструменты BlackArch поверх Arch Linux, а не сразу установить BlackArch?

Alexey :

Видимо вы не в курсе, но «сразу установить BlackArch» (под этим вы, видимо, подразумеваете использование установочного скрипта из BlackArch) это и есть установить Arch Linux + поверх инструменты BlackArch + некоторые настройки от авторов BlackArch (оформление). Если вас всё устраивает (работа установочного скрипта, выбор окружений рабочего стола и т.д.), то для вас этих причин нет.

Сергей :

Такой вопрос,может кто сталкивался. Есть старая машина lenovo ideapad 100-IBY (Debian),захотел поставить на нее это чудо для освоения без виртуалбокса. Сделал флэшку через dd ,но при загрузке лицезрел isolinux missed or corrupt. Пробовал другую флэшку, другой образ (прошлый версии blackarch) ,образ arch, грузиться с 2.0 и 3.0 входов, играться с настройками биоса. Ничего не помогает. Буду благодарен каким либо советам.

Как подготовить полноценную инсталляцию ArchLinux на USB Flash

В этой заметке рассказано, как, имея работающий ArchLinux, поставить полноценный ArchLinux на USB-Flash. Затем, аналогично, можно поставить ArchLinux на жёсткий диск, загрузившись с USB-носителя. Собственно, для этих целей я и делал такую флешку: чтобы поставить ArchLinux ни netbook и на embedded-систему, где загрузиться можно было только с флешки, а BIOSы обладали странными особенностями.

Внимание! Первая версия этой статьи был написана году в 2010. Потом она долго не правилась и в 2012 в неё были внесены существенные коррективы. С тех пор в Arch Linux произошли большие изменения. Например, переход на systemd . Поэтому текст может содержать противоречия.

А чтобы противоречий стало ещё больше, в конце я дописал дополнение от 2014 года.

Подготовка

Определяемся с именами

Советую создать переменные с ключевыми именами и путями:

export key_dev=/dev/sdb # устройство на которое ставим export key=/dev/sdb1 # партиция export key_label=ArchUSB-2011x07 # метка файловой системы export key_path=/mnt/new_arch # путь, куда будем монтировать 

Создаём файловую систему на флешке

mkfs.ext2 "$key" 

Можно и ext3/4, но в нашем случае нет надобности в журнале, он даже мешает. Да и старые версии GRUB не очень любили ext4. Зато для старых систем есть драйвера под Windows и прочие приятности.

Для нормальной работы GRUB так же очень важно изменить тип партиции на 0x83.

cfdisk "$key_dev" 

Устанавливаем систему

Ставим pacman и пакеты

# монтируем mkdir "$key_path" mount "$key $key_path" 
# устанавливаем базу данных пакетов и ставим базовую систему mkdir -p "$key_path/var/lib/pacman" pacman -Sy -r "$key_path" mkdir -p "$key_path/var/cache/pacman/pkg" pacman -Su base --cachedir "$key_path/var/cache/pacman/pkg" -r "$key_path" # займёт около 600M 
# вносим коррективы chmod 666 $key_path/dev/null $key_path/dev/zero 
# аккуратно переходим в chroot cp /etc/resolv.conf $key_path/etc/ cp /etc/pacman.d/mirrorlist $key_path/etc/pacman.d mount -t proc proc $key_path/proc mount -t sysfs sys $key_path/sys mount -o bind /dev $key_path/dev mount -o bind /dev/pts "$key_path/dev/pts" chroot $key_path /bin/bash 
# PGP pacman-key --init 
# ставим всё, что хотим, как-то так # (этот набор пакетов приведён исключительно для примера) pacman -Ss ssh pacman -S openssh pacman -S mc pacman -S extra/python pacman -S xorg-server pacman -S xorg-xinit pacman -S xterm pacman -S xorg-twm pacman -S fvwm pacman -S xf86-input-synaptics pacman -S xf86-video-intel pacman -S firefox pacman -S sudo pacman -S screen pacman -S tkabber pacman -S community/tls pacman -S extra/ispell pacman -S base-devel pacman -S core/grub-bios # добавить в /etc/pacman.conf # [archlinuxfr] # Server = http://repo.archlinux.fr/$arch pacman -Syu yaourt yaourt -S aur/vnc yaourt -S aur/ispell-ru-koi8-r-io # и так далее, что кому нужно 
# производим настройки системы # правим /etc/rc.conf # правим /etc/hosts # правим /etc/mkinitcpio.conf # HOOKS="base udev usb autodetect pata scsi sata filesystems usbinput" # ^___ добавить именно в это место # чтобы была возможность загрузки с USB # ,_ это надо сделать, даже если вы не правили mkinitcpio.conf # | # v mkinitcpio -p linux # /etc/locale.gen cat /etc/locale.gen | grep -v '#' ru_RU.KOI8-R KOI8-R ru_RU.UTF-8 UTF-8 locale-gen # готовим почву для GRUB grub-install "$key_dev" 
# можно сделать ещё что-нибудь косметическое /usr/bin/mandb --quiet passwd adduser 
# выходим из chroot exit umount "$key_path/dev/pts" umount "$key_path/dev" umount "$key_path/proc" umount "$key_path/sys" 

Теперь можно попробовать загрузиться, заодно, посмотреть, что надо подправить в GRUB. Вполне вероятно, что умолчальные настройки не позволят загрузиться сразу.

Настраиваем систему

Узнаём UUID файловой системы

blkid $key f1df0c45-b003-4bf1-b87c-6916ff15b880 

Далее используем его.

Хотя эти фокусы прокатывают далеко не всегда. Возможно, в вашем случае единственный рабочий вариант — /dev/sda1

GRUB

Для старой версии

# /boot/menu.lst title Arch Linux [(hd0,0)/boot/vmlinuz-linux UUID] root (hd0,0) kernel /boot/vmlinuz-linux root=UUID=f1df0c45-b003-4bf1-b87c-6916ff15b880 ro initrd /boot/initramfs-linux.img 

Во второй версии всё создастся автоматически, но имеет смысл подправить строчки

set root='hd0,1' 
linux /boot/. 

В search надо заменить UUID .

/etc/fstab

devpts /dev/pts devpts defaults 0 0 shm /dev/shm tmpfs nodev,nosuid 0 0 UUID=f1df0c45-b003-4bf1-b87c-6916ff15b880 / ext2 noatime,nodiratime 0 0 tmpfs /tmp tmpfs nodev,nosuid 0 0 

Можно ещё создать swap-файл, если есть острая необходимость, хотя, надо отдавать себе отчёт в том, что флешка долго такого издевательства не выдержит.

/etc/inittab

Чтобы видеть сообщения системы во время загрузки, полезно внести вот такие изменения:

c1:2345:respawn:/sbin/agetty --noissue --noclear -8 -s 38400 tty1 linux 

/etc/sudoers

Создаём пользователя и добавляем его в sudoers (опции по вкусу):

user ALL=(ALL) NOPASSWD: ALL 

Отключаем флешку

umount $key_path 

Установка загрузчика (для старого GRUB)

grub grub> find /boot/grub/stage1 grub> root (hd1,0) grub> setup (hd1) grub> quit 

Обратите внимание, что root в конфигурации GRUB не равен root в момент установки. Это связано с переименованием устройств в момент загрузки с флешки. Строго говоря, это дело зависит от вашего BIOS, на на современных системах всё должно работать именно в такой конфигурации.

Полезные ссылки

Подробный рассказ про то, как изменить размер NTFS-раздела без потери данных. Рассказ очень подробный и качественный. И хот он довольно старый, но у меня всё тоже самое сработал на ntfsresize 3.x.

Если кто-то поковырялся и всё сломал

Такое бывает, если вашу флешку берёт какой-нибудь приятель для восстановления древней системы. Он там наваливает доисторических библиотек и вообще всё портит.

Переустановить все пакеты можно так:

#!/bin/bash pacman -Q | awk '< print $1 >' | sort > /tmp/pacman-installed.tmp pacman -Qm | awk '< print $1 >' | sort | comm -3 /tmp/pacman-installed.tmp - > /tmp/pacman-to-reinstall.tmp pacman -S --noconfirm $(cat /tmp/pacman-to-reinstall.tmp) rm /tmp/pacman-.tmp 

Простая установка (2014)

За годы существования этой статьи, Arch Linux сильно изменился, многие действия упростились (появились скрипты, которые их автоматизируют). Поэтому здесь я приведу простую инструкцию, актуальную на 2014 год.

Я не буду вдаваться в детали, многие приёмы, описанные выше, не потеряли своей актуальности. Некоторые действия вы, возможно, не доверите скриптам и захотите выполнить по шагам со своими коррективами. Одним словом, я бы советовал иметь ввиду и старую и новую процедуру установки.

Установка Arch Liunx на USB и начальная настройка

Форматирвоать лучше как-то так:

mkfs.ext4 -O ^has_journal /dev/sdXX 

Загрузитесь с установочного CD (это можно сделать в виртуальной машине). Смонтируйте флешку в /mnt и поставьте необходимые пакеты (важно установить grub , если вы его будете использовать):

pacstrap /mnt base openssh mc sudo screen base-devel grub 

Если вы (резонно) планируете на новой системе сразу воспользоваться Wi-Fi, то обязательно поставьте wpa_supplicant именно сейчас. Сам он не встанет, и netctl не сможет поднять Wi-Fi.

Так же, часто бывают полезны пакет ntfs-3g ( ntfsresize именно в нём) и lshw .

genfstab -Up /mnt >> /mnt/etc/fstab 

И уходим в новую систему:

arch-chroot /mnt 

Тут важно уменьшить влияние базовой системы. Не забудьте удалить переменные типа LANG и LC_ALL . env -i может пригодиться.

Там у вас уже есть bash , mc … чувствуйте себя как дома. Обживаемся:

echo USBArch >/etc/hostname 

По желанию можно настроить локаль ( /etc/locale.gen , locale-gen , /etc/locale.conf ), консоль ( /etc/vconsole.conf )… мне это всё на флешке не нужно.

Полезно настроить часовой пояс:

ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime 

И обязательно(!) надо пересобрать init-образ (хук usb больше не нужен):

mkinitcpio -p linux 

и установить загрузчик (осторожно!):

grub-install --target=i386-pc --recheck --debug /dev/sdx # sda? проверьте! grub-mkconfig -o /boot/grub/grub.cfg 

(процедура отличается от вышеописанной, так как версия grub изменилась)

На этом этапе можно создать пользователя:

useradd -m -g users -s /bin/bash a passwd a visudo # a ALL=(ALL) ALL 

Всё. Можно выходить из chroot и размонтировать флешку:

umount /mnt 

Настройка после установки

К сожалению, пока вы в chroot, systemctl работать не будет. Поэтому загружаемся с флешки. Это можно сделать в эмуляторе. Например так:

qemu-system-i386 -hda /dev/sdb 

Настраиваем демонов и сеть. Допустим так:

vi /etc/ssh/sshd_config # PermitRootLogin no # если у вас паранойя: AllowUsers и AllowGroups systemctl enable sshd netctl enable profile 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *