Dd образ или iso для линукс

Создание Live USB-дисков в Linux с помощью команды dd

Существует несколько программ с графическим интерфейсом, предназначенных для создания Live USB-дисков. Вероятно, в Linux самой популярной из них является Etcher. В Ubuntu есть собственный инструмент для решения этой задачи — Startup Disk Creator.

Но продвинутые пользователи Linux, ради удобного и быстрого создания Live USB-дисков, постоянно обращаются к команде dd .

Это — CLI-инструмент, который даёт тому, кто его выбирает, мощные возможности по копированию и конвертированию файлов.

Обычно dd используют для того, чтобы записывать ISO-файлы на внешние носители информации, вроде USB-дисков. Потом такой носитель информации можно использовать, например, для установки записанного на него Linux-дистрибутива на обычный компьютер или на ноутбук.

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

Создание Live USB-дисков на основе ISO-файлов с помощью команды dd

Прежде чем я покажу вам пошаговый план работы с dd — хочу в двух словах рассказать об этой команде и продемонстрировать пример её использования.

Вот как выглядит вызов команды dd для записи ISO-файла на USB-диск:

Разберём эту команду.

Разбор команды dd

Сначала в командной строке вводят dd . Это, как и должно быть, просто имя команды, которую мы собираемся запустить.

Далее указывают следующее: if=»./filename.iso» . Имя опции if расшифровывается как input file — входной файл. Тут мы сообщаем dd о том, какой именно ISO-файл хотим записать на USB-диск.

После этого вводят путь к USB-диску. В данном случае это выглядит как of=»/dev/sdb» . Здесь of означает output file, то есть — выходной файл.

При работе с dd стоит помнить о том, что то, что указывают в опции of , необязательно должно представлять собой файл в системе, используемой для работы. Тут можно указывать нечто вроде пути к внешнему устройству (именно так и сделано в нашем примере). И хотя выглядит этот путь как путь к обычному файлу, он, на самом деле, символизирует устройство, подключённое к компьютеру.

Опция status может принимать одно из трёх значений: none , noxfer и progress .

Если она установлена в значение progress — это приведёт к тому, что dd будет периодически сообщать нам о том, сколько данных из ISO-файла уже перенесено на диск, и о том, сколько времени, приблизительно, осталось до завершения операции.

Если использовать тут значение none , то dd ничего не будет сообщать о ходе процедуры, но, если в процессе записи образа на диск возникнут ошибки, программа об этом сообщит.

Вариант noxfer позволяет скрыть некоторые сведения, выводимые после того, как перенос данных на USB-диск завершён. Например — сведения о том, сколько времени заняла процедура копирования ISO-файла.

И, наконец, мы воспользовались вариантом fsync опции conv . Это приводит к тому, что dd не сообщит об успешном завершении операции до тех пор, пока весь ISO-файл не будет записан на USB-диск.

Читайте также:  Как выключить компьютер по таймеру windows 10 командная

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

Теперь, когда мы разобрали команду dd , рассмотрим весь процесс записи ISO-файлов на USB-диски.

Но, прежде чем мы продолжим, хочу вас кое о чём предупредить. Командная строка — это палка о двух концах. Будьте очень осторожны, выполняя команды наподобие dd . А именно — тщательно проконтролируйте то, что в этой команде используется правильный выходной файл. Ошибка при указании опции of может привести к форматированию главного системного диска и к уничтожению файлов операционной системы, установленной на компьютере.

Шаг 0. Загрузка ISO-файла

Само собой разумеется то, что для того, чтобы записать на USB-диск ISO-файл, этот файл сначала надо где-то раздобыть.

Я, испытывая команду dd , буду записывать на диск образ Ubuntu 20.04, который можно скачать отсюда.

Шаг 1. Выяснение метки USB-диска

Сначала подключим USB-диск к компьютеру.

В вышеприведённом примере я, настраивая опцию of , ввёл /dev/sdb . Обычно USB-диски, подключённые к системе, доступны именно по этому пути, но это — не некое железное правило, которое справедливо абсолютно всегда.

В вашей системе это может быть какой-то другой путь. Выяснить это можно с помощью команды lsblk . Выполнив эту команду нужно поискать диск, размер которого соответствует USB-диску, на который планируется записать образ.

Поиск USB-диска с помощью средств командной строки

Если вы предпочитаете для решения подобных задач использовать программы с графическим интерфейсом — можете найти путь к нужному диску с помощью чего-то наподобие GNOME Disks.

Поиск USB-диска с помощью инструмента с графическим интерфейсом

Теперь, когда нам известен путь к нужному носителю информации, можно создать Live USB-диск.

Шаг 2. Запись ISO-файла на USB-диск

Откроем терминал в директории, в которой находится загруженный ISO-файл, и запустим следующую команду (запуская эту команду у себя — замените, если нужно, /dev/sdb на путь к вашему USB-диску):

После выполнения этой команды нужно будет некоторое время подождать и dd создаст Live USB-диск.

Создание Live USB-диска

Итоги

После завершения работы dd в вашем распоряжении окажется USB-диск, с которого можно загрузиться. Но, пожалуй, важнее то, что теперь вы лучше узнали инструменты командной строки Linux, освоили кое-что новое, позволяющее ускорить и упростить решение некоторых задач.

Чем вы пользуетесь для создания Live USB-дисков в Linux?

Источник

почему именно dd?

часто встречаю, что для записи iso-образа на флешку советуют команду

столько инструментов, а эти обезъянки, вычитав где-то однажды, продолжают и ломать пальцы печатая команду dd полностью.

А почему бы и нет?

Во втором случае, если нужны права рута, то придется либо через tee, либо сначала sudo -s, неудобно. А почему бы и нет, в самом деле?

Читайте также:  All mac os system requirements

cat, bar и pv вполне сгодятся для этого

последний вариант тупо не прокатит.
ты точно понимаешь разницу между образом диска и простым файлом?
второй прокатит.
а dd потому что это утилитка для работы с образами дисков, коим, в том числе, является iso

а вот меня всегда интересовало, как таким методом можно записать на диск? в прогах еще выбор скорости, тип диска есть. а тут.

диск это диск, флешка это флешка. вещи разные. и на диск нужно только софтом прожигать, угу.

конечно megabaks товарищ умный, но сегодня я как раз при помощи cp тупо скопировал файлик в /dev/sdb, а после чего успешно загрузился с этого образа. не знаю, в каком месте оно не работает. попробуйте сами, м?

получишь копию файла содержащего образ на корне флешки, а не загрузочную флэшку.

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

Лолшто? у меня всегда так работало

получишь копию файла содержащего образ на корне флешки, а не загрузочную флэшку.

И сравни что умеет тот и другой. Для простейших случаев разницы может и нет, но лучше не привыкать.

да, отсутствие слеша не заметил )

Извиняюсь, поинтересовался сейчас, ты прав, если без слэша просто /dev/sdb то всё работает. Но меня как научили использовать dd я так и делаю уже много лет.

dd можно задать размер порции перемещаемых данных. Экспериментально было установлено что порции 512K и 1M копируются наиболее быстро. Так же у dd есть ещё опции.

a cat is fine too ?

Не факт, при 1M замораживается периодически даже мышка на пару секунд. Не знаю, что там по умолчанию в dd, но тормоза не видны. Вообще, конечно, свинство ,в 21-м веке.

по умолчанию просто 512 то есть пол килобайта. Видимо у тебя 12309 проявляется. Попробуй поэкспериментировать со значениями:

Ну и сообщи какой у тебя чипсет и дистрибутив. Потому что я наблюдал выигрыш от 1M на intel чипсетах.

А почему бы не подкормить ?

Потому, что у dd больше возможностей.

получишь копию файла содержащего образ на корне флешки, а не загрузочную флэшку.

4.2. Debian официально советует создавать загрузочные флешки именно так, что я всегда успешно и делал.

потому что dd, она рулит и педалит, и да, посмотри историю Unix

столько инструментов, а эти обезъянки, вычитав где-то однажды, продолжают и ломать пальцы печатая команду dd полностью.

ну как ты для cp укажешь bs? А без него долго копировать.

Экспериментально было установлено что порции 512K и 1M копируются наиболее быстро.

зависит от устройства (точнее от обоих).

Но по сути — да, cp не умеет вообще никак это задавать.

Не знаю, что там по умолчанию в dd,

детка, тебя и в манах забанили? 512 байт дефолт dd.

никода в жизни не пользовался. а нет, один раз воспользовался, дааавным дааавно, так она хвост не захотела записывать и образ стал повреждённым.

с тех пор только cat image.iso > /dev/sdz

с тех пор только cat image.iso > /dev/sdz

А дыдой было бы быстрее значительно! Ставишь размер блока мегабайт 10 — и все в ажуре!

Если там есть буфферизация — то вообще пофиг.

Читайте также:  Компоненты для windows embedded

А если там нет буфферизации — тогда тем более пофиг.

У меня есть даже подозрение, что dd будет медленнее. К тому же, остаются проблемы с хвостами, при каком количестве ключей они отваливаются 🙂

с тех пор только cat image.iso > /dev/sdz

проблема в том, что cat умеет только копировать. Dd умеет копировать что угодно и куда угодно. И как угодно. Ну не сможешь ты вырезать с 12345го сектора по 12783й, и скопировать начиная с 987го, блоками по 1024 байта с помощью кошки.

У меня есть даже подозрение, что dd будет медленнее.

а ты проверь, и удивись.

К тому же, остаются проблемы с хвостами, при каком количестве ключей они отваливаются 🙂

какие ещё проблемы придумают теоретики на диване?

Замечательно. Но мне это и не требуется. Когда мне требуется dd — я пользуюсь dd, его ключи я знаю. А запись на raw-устройство — только через cat, потому что эта команда ПОНЯТНЕЕ. А размер блока меня не интересует, чтобы его выбирать (скорее, наоборот, сбивает).

проверь и удивись. ждём результатов 🙂

ps. почти всегда у меня эти образы — сжаты. я их просто так не храню. и использую гораздо чаще даже не cat, а zcat или xzcat. жду убер-конструкции для dd 🙂

Когда мне требуется dd — я пользуюсь dd, его ключи я знаю. А запись на raw-устройство — только через cat

не понял. Так когда ты юзаешь dd?

потому что эта команда ПОНЯТНЕЕ. А размер блока меня не интересует, чтобы его выбирать (скорее, наоборот, сбивает).

твоё дело, я не против.

Да, эти обезьянки вычитав однажды про

продолжают ломать пальцы не используя dd

dd if=file.txt 2>/dev/null

я обычно tar юзаю.

cat, а zcat или xzcat. жду убер-конструкции для dd

xzcat source | dd of=target

Потому что это стрельба в ногу.

ну, например, самый простой случай

dd if=/dev/zero of=hdd.img bs=1M count=3822

а где размер блока? 🙂

ну, например, самый простой случай dd if=/dev/zero of=hdd.img bs=1M count=3822

а зачем тебе cat?

А дыдой было бы быстрее значительно! Ставишь размер блока мегабайт 10 — и все в ажуре!

dd несколько медленнее, в интернетах проверяли. Он делает «лишние» (по сравнению с cat) memcopy.

dd несколько медленнее, в интернетах проверяли. Он делает «лишние» (по сравнению с cat) memcopy.

Потому что каким способом ни пользуйся, все равно у тебя остается возможность задать два дурацких вопроса.

один раз воспользовался, дааавным дааавно, так она хвост не захотела записывать

Это в 70е, что ли? Последние 15 лет её пользуюсь, хвост всегда писала исправно.

Это в mandriva 200x какой-то. там они сами давали инструкцию с кучей ключей, но именно с этой кучей оно хвост тупо не записывало. Поскольку спорить с dd мне было скучно, я сделал cat, и с тех пор он всегда со мной. 🙂

ps. За всю мою жизнь у меня было ровно ДВЕ флешки. 🙂 Одна в начале двухтысячных, и одна сейчас. Пользуюсь я ими только по БОЛЬШИМ праздникам. 🙂

Источник

Оцените статью