05 ноября 2014

Как записать iso-образ дистрибутива на флешку из терминала в Ununtu и производные

Для Linux разработано достаточно графических программ по созданию загрузочного USB носителя (флешки) с iso-образом дистрибутива, таких как: Unetbootin, Создание загрузочного диска (usb-creator-gtk) - в Ubuntu по умолчанию, MultiSystem LiveUSB Multiboot и некоторые другие.
Но мне хотелось бы поделиться с вами в этой статье о том, как создать загрузочную флешку с iso-образом дистрибутива из терминала.
Как известно, терминал установлен в любом дистрибутиве Linux по умолчанию, поэтому устанавливать дополнительных программ не потребуется. Единственно, что нужно для создания загрузочного USB-носителя, это загруженный из сети ISO-файл с образом дистрибутива, который вы хотите записать на флешку и отформатированная флешка.
Как правильно отформатировать флешку я писал ЗДЕСЬ.

Итак, предположим у вас загружен ISO-файл с образом дистрибутива и подготовлена флешка.

Терминальная команда для записи iso-образа дистрибутива выглядит следующим образом:

sudo dd if=путь к.iso of=/dev/sdb

Где вместо путь к.iso нужно указать путь к iso-файлу из вашей папки Загрузки.
sdb в конце команды, это флешка на которую будет записан образ. Чтобы определить вашу флешку, выполните в терминале:

df


И если у вас флешка определилась по-другому, измените в команде.

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


В терминале отобразится путь к файлу и сам файл .iso. Скопируйте его без кавычек и вставьте в команду, а в терминале нажмите сочетание клавиш Ctrl+C для сброса и отображения новой строки приглашения.

Проще всего создавать команду в текстовом редакторе.
 У меня получилась следующая команда:


Теперь вставьте флешку в порт компьютера, скопируйте полученную команду из текстового редактора, введите в терминал и выполните (нажмите Enter):


Курсор терминала будет моргать и кажется что ни чего не происходит, но на самом деле идёт запись.  Дождитесь окончания записи образа и по окончании вы должны увидеть в терминале примерно следующее:


Вот и всё. Ваша флешка стала загрузочной и вы можете теперь производить установку дистрибутива на любом компьютере.

Удачи.

42 комментария :

  1. Все хорошо - только нужно учитывать, что может быть несколько жестких дисков или вставлено несколько флешек. Не всегда будет выходное устройство of=/dev/sdb !

    ОтветитьУдалить
    Ответы
    1. Флешка определяется как sdb, а ж/дики как sdd; sdd1; sdd2 и т.д. если их несколько.

      Удалить
    2. У меня sdb это SSD-диск. Думаю, это и имелось в виду.
      neon1ks дурного не скажет ;-)

      Удалить
    3. =У меня sdb это SSD-диск.= Введите команду в терминал: sudo fdisk -l Она определит USB-накопитель или любые другие носители данных. Выберите из них флешку и вставьте в "хвост" команды на загрузку дистрибутива, если к компьютеру подключено много USB-носителей информации.

      Удалить
    4. Владимир, вы это не мне пишите, а в статье :)
      Если я знаю, где у меня HDD, а где SSD, неужели не разберусь, где флешка? :)
      Вот кто-нибудь неопытный конечно способен просто бездумно скопипастить команду, как пить дать.

      Удалить
    5. вижу, уже добавили, так держать :)

      Удалить
  2. Так добавьте sudo fdisk -l в статью)

    ОтветитьУдалить
    Ответы
    1. =Так добавьте sudo fdisk -l в статью)= Добавить не сложно, но в статье есть ссылка на форматирование флешки перед созданием загрузочного образа. При форматировании также определяется название флешки в Gparted.

      Удалить
  3. Отличная статья! Как всегда всё просто и понятно. Как раз хотел manjaro-openbox записать на флешку. Собственно вот результат:
    http://storage5.static.itmages.ru/i/14/1105/h_1415177315_6430004_0a6e36713a.png
    Владимир, не сочтите за критику, но раз уж Вы рассказали за такой «православный» способ создания загрузочной флешки, добавьте такой же «православный способ», как форматировать флешку в терминале. Конечно многие это и так знают, но кому то ведь может пригодиться.

    Отмонтировать диск:

    $ sudo umount /dev/sdb

    Форматирование в файловую систему fat32:

    $ sudo mkfs.vfat -n 'usb drive' -I /dev/sdb

    Где, если не ошибаюсь:

    mkfs

    Команда mkfs используется в Linux для создания файловой системы на устройстве, обычно на разделе диска. Аргумент device может задавать имя устройства (например /dev/sdb2), или имя файла, который может содержать файловую систему. Аргумент size - это количество блоков, используемое под файловую систему.

    vfat

    Форматирует файловую систему в FAT32, доступны также другие форматы: mkfs.bfs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.minix, mkfs.msdos, mkfs.vfat, mkfs.xfs, mkfs.xiafs и так далее.

    -n

    Volume-name задает имя (метку) для файловой системы. Имя раздела может быть до 11 символов длиной. По умолчанию метка не создается.
    В моем случае имя раздела "usb drive".

    -I

    Обычно жесткие диски разбиваются таким образом по умолчанию. Вы запрещаете создавать файловую систему на всем устройстве.

    Примерно как то так.

    ОтветитьУдалить
    Ответы
    1. =Владимир, не сочтите за критику= Наоборот, это хорошая подсказка для продолжения о форматировании флешки в терминале. Честно сказать, когда я писал эту статью, то думал о форматировании в терминале. Постараюсь подготовить такую статью.

      Удалить
    2. Vasily, команде dd форматирование вообще глубоко побоку. Она ведь пишет непосредственно на устройство (а не на отформатированный раздел). Так что форматирование и правда лучше описать отдельно, а не добавлять в эту статью, ибо немного офтоп... ИМХО.

      Удалить
    3. Максим, да это понятно. Просто Владимир в статье упомянул про GParted. Хорошее приложение, но я подумал раз уж статья о том как записать iso-образ дистрибутива на флешку именно из терминала, то надо упомянуть и о форматировании флешки с помощь того же терминала. Тем более, там достаточно интересно, можно флешку переименовать или форматировать в другие форматы, возможно ещё что-нибудь интересное есть..

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

      Удалить
    4. форматировать в терминале - не для новичков. GParted - отличная утилита.

      Удалить
  4. а у меня файл (с путем) не перетаскивается в терминал :(

    ОтветитьУдалить
    Ответы
    1. Тогда вручную запиши, глядя на мою команду и свой дистрибутив, который хочешь записать на флешку.

      Удалить
    2. нее.. В этом уроке мне больше всего понравилось именно перетаскивание путей в терминал. В блокнот перетаскивается, подставляя file://, а в терминал нет (( Какой у вас эмулятор терминала ?

      Удалить
    3. =В этом уроке мне больше всего понравилось именно перетаскивание путей в терминал.= Не путей, а фала. Терминал у меня обычный, гномовский. И всё в него перетаскивается из ф/менеджера.

      Удалить
    4. Поставил гномовский терминал, действительно перетаскивается весь путь. Да еще и сразу в кавычках )

      Удалить
    5. А какой у тебя был терминал и что за система?

      Удалить
    6. openbox на основе ubuntu 12.04. Терминал от lxde, панель от xfce, ФМ от mate :D

      Удалить
    7. Теперь понятно. А то раньше ты не указывал.

      Удалить
    8. Установил гномовский терминал в LXDE - терминал запускается, а курсора нет!
      Поскажите что делать? Систему перезагружал не помогло!

      Удалить
    9. Проблема решена! Удалил gnome terminal и установил terminal Xfce все работает!

      Удалить
  5. Большое спасибо ,годный инструмент ,с образом Linux mint работает, с ubuntu тоже, с Manjaro не тестил но вот Vasily B. протестил и говорит что тоже работает,а вот с Mageya Linux не захотел , и интересно может кто с Fedora этот метод тестил...интересно почему не идет ,какой загрузчик прописывает утилита dd?

    ОтветитьУдалить
    Ответы
    1. Здесь посмотрите:
      http://wiki.mageialinux.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Mageia
      Даже пример с dd есть.
      C Fedora тоже работает:
      https://fedoraproject.org/wiki/How_to_create_and_use_Live_USB/ru#.D0.97.D0.B0.D0.BF.D0.B8.D1.81.D1.8C_.D0.BE.D0.B1.D1.80.D0.B0.D0.B7.D0.B0

      Удалить
  6. Часто пользуюся dd, чтобы не заморачиваться с именами и путями скачиваю iso в /home, потом ПКМ, переименовать ..abc. Тогда команда будет выглядеть sudo dd if=abc.iso of=/dev/sdb , настолько просто, что ничего не надо копировать и так все запоминается.

    ОтветитьУдалить
    Ответы
    1. А что автодополнение кто-то отменил?

      Удалить
    2. а ты попробуй автодополнение в dd, обматеришся )))

      Удалить
  7. Статья замечательная, но на мой взгляд, как новичка, в ней действительно не хватает инструкции проверить точку монтирования флешки (поправьте меня, если я ошибаюсь в названиях) с помощью fdisk -l . И, кстати, у меня при установленном SATA-ЖД флешка монтируется к /dev/sdc. Так что не обязательно она будет в /dev/sdb.
    Но как основа - статья замечательная. Спасибо автору.

    ОтветитьУдалить
  8. Сделал всё так, как написано в статье, но после записи iso с помощью dd, с флешки загрузиться не смог, хотя файлы на ней видны. Но вот gparted не может определить файловую систему и флаг boot не поднят - так что "надо что-то в консерватории подправить" (М.Жванецкий).

    ОтветитьУдалить
    Ответы
    1. любопытно, а образ ISO какого дистрибутива заливали на флешку?
      и кстати, можно немного по другому сделать загрузочную флешку
      http://debianforum.ru/index.php?topic=10285.0
      имею ввиду скачать grub4dos и тд и тп
      правда сам так не делал, dd и multisystem вполне устраивают.

      Удалить
  9. Владимир,спасибо за статью.
    пытался делать загрузочную флешку с kali linux по старинке, т.е.
    (ultra.iso , unetbootin и т.д.)-эти проги не прописывают(EFI),
    в других дистрибутивах прописывают,а в kali linux нет.
    но через терминал всё отлично записалось.
    всем советую данный метод.
    ещё раз спасибо.

    ОтветитьУдалить
  10. нашёл ещё такую тему c размером кластера
    dd if=/путь к.iso/ of=/dev/sdb bs=512k

    ОтветитьУдалить
  11. сделал по написанному, но не загружается! в GParted пишет: файловая система неизвестна, хотя флешку отформатировал, как указано в ссылке. допускаю, что могу тупить: линукс и дебри для меня пока слова-синонимы(недавно "приЛИНУлся")

    ОтветитьУдалить
    Ответы
    1. Загрузку в биос настроили с флешки?
      У меня в GParted совсем флешку не видит, однако она точно рабочая.

      Удалить
  12. Вы писали
    В терминале отобразится путь к файлу и сам файл .iso. Скопируйте его без кавычек и вставьте в команду, а в терминале нажмите сочетание клавиш Ctrl+C для сброса и отображения новой строки приглашения.
    Я убрал кавычки но запись не началась, а когда попробывал с кавычками началась и вроде записалась, не проверил пока работоспособности флешки.
    У меня Kali Linux.

    ОтветитьУдалить
    Ответы
    1. Если не записалась, то пробуйте так:
      sudo dd if=/где/образ/лежит.iso of=/dev/sdb bs=4M; sync
      например:
      sudo dd if=/home/Пупкин/Загрузки/iso/manjaro-xfce-minimal-16.10-dev-unstable-i686.iso of=/dev/sdb bs=4M; sync

      Удалить
  13. Извините, что не в тему - не нашел где спросить.
    Проблема с терминалом: после ввода команды sudo ... не вводится пароль, то есть вообще ничего не могу ввести с клавиатуры. Подскажите как это вылечить.

    ОтветитьУдалить
    Ответы
    1. Если вы про то,что вводите пароль и не видите, то это так и должно быть (чтоб никто не увидел). Просто после ввода пароль нажмите энтер.
      ЗЫ если передумали выполнять команду, то нажмите клавиши ctrl + c, вроде так как то.

      Удалить
    2. Спасибо, всё получилось.

      Удалить