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):


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


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

Удачи.

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

  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. Спасибо, всё получилось.

      Удалить
  14. Владимир, объясните пож-ста, почему моя отформатированная флешка определяется как sdc. Поэтому не могу видимо записать на неё образ mx-16 ни одной программой?

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

      Удалить
  15. Вот такой вывод: Файл.система 1K-блоков Использовано Доступно Использовано% Cмонтировано в
    udev 1003536 0 1003536 0% /dev
    tmpfs 204760 6548 198212 4% /run
    /dev/sda7 47929224 11292424 34179048 25% /
    tmpfs 1023788 33060 990728 4% /dev/shm
    tmpfs 5120 4 5116 1% /run/lock
    tmpfs 1023788 0 1023788 0% /sys/fs/cgroup
    tmpfs 204760 76 204684 1% /run/user/1000
    /dev/sdc4 7851912 4 7851908 1% /media/sergey/C191-FEDA

    ОтветитьУдалить
    Ответы
    1. Сергей, а Вы пробовали записать в терминале командой с sdc4 вместо sdb?
      sudo dd if=путь к.iso of=/dev/sdc4

      Удалить
  16. ...именно так и делал и ничего не получается. Один раз получилось, но не загружается флешка!?

    ОтветитьУдалить
    Ответы
    1. Но ведь у Вас установлена Ubuntu 16.04,насколько я знаю и Вы об этом писали. Зайдите в Ubuntu 16.04 и запишите штатной программой Создание загрузочного диска.
      http://compizomania.blogspot.com/2016/10/iso-ubuntu-16101604.html

      Удалить
    2. ... и ей пробовал, она флешку как и другие пр-мы просто не видит.

      Удалить
    3. Тогда прежде отформатируйте флешку в GParted: http://compizomania.blogspot.com/2013/06/ubuntulinux-mint_27.html
      А затем запишите образ программой Создание загрузочного диска.
      Уверен, что всё получится.

      Удалить
    4. ... я извиняюсь,программа не видит исо образ на компе (загрузки)

      Удалить
    5. исо образ скачал по Вашей ссылке (mx-16)

      Удалить
    6. А Вы уверены, что образ находится в папке Загрузки? Если это так, то возможно образ скачался некорректно. Удалите загруженный образ и загрузите ещё раз.

      Удалить
    7. ==исо образ скачал по Вашей ссылке (mx-16)== У всех скачивается нормально по этой ссылке. Дело может быть не только в ссылке, но и в самой загрузке. Тут причин тьма. Прерывалось интернет-соединение, загрузка шла параллельно с загрузкой др. файла и т.д. Пробуйте. Не опускайте руки.)

      Удалить
  17. На самом деле совет странный. Особенно для записи windows - записанная таким образом usb - не будет грузиться. Потому что после dd на usb еще нужно навесить boot флаг.

    ОтветитьУдалить
  18. Записалась флешка программой unetboot. А штатная Созд. загр. диска какая-то глючнутая что-ли. А на другом компе(ноутб) она также не работает. Пытался через терминал на другом компе (ноутб) записать эту же флешку: такой же результат, во время записи какая-то абракадабра идёт в терминале- интересно, на двух разных комп-х одинаковая история.

    ОтветитьУдалить
  19. ...вообще интересно,на трёх разных комп-х (РС, ноутб., моноблок) с убунту16.04 нигде прог. Созд. загр. диска НЕ работает!!!

    ОтветитьУдалить
  20. Владимир,скачанный мной образ mx-16 -это текстовый док-т с расшир-м .iso . Поэтому штатная прог. Созд. загр. диска и не видит его. Скачал образ компакт-диска (application/x-cd-image) и прог. сразу его увидела.

    ОтветитьУдалить
  21. Здравствуйте. Возможно ли через терминал создать мультизагрузочную флешку?

    ОтветитьУдалить
    Ответы
    1. В принципе да, правда сам никогда не делал. Гляньте тут
      http://lubuntu.ru/viewtopic.php?t=237
      и
      http://archlinux.org.ru/forum/topic/16025/

      Удалить
    2. и в этой теме
      http://debianforum.ru/index.php?topic=10285.0
      Сергей Калугарёв, если не трудно отпишитесь что получится. Очень любопытно.

      Удалить