Аналог dd для windows

Обновлено: 04.07.2024

Запись образа на флешку - очень частая задача для тех, кто ещё пытаете выбрать дистрибутив или тестирует новые версии Linux. В Windows мы привыкли к Rufus - это одна из самых лучших, интуитивно понятных и наиболее популярных утилит для записи образов дисков на USB-флешку. Она по праву считается лучшей и используется довольно часто. Но, к сожалению, нет версии этой программы для Linux; если вы новичок и хотите записать образ на флешку, то можете столкнуться с проблемой, чем это можно сделать.

На самом деле в операционной системе Linux есть свои программы для записи образа на флешку Linux, и их достаточно много. В этой статье мы рассмотрим лучшие аналоги Rufus для Linux, а также как ими пользоваться для решения своих задач. Сразу перейдём к списку.

Если вы уже пытались спрашивать на форумах, как записать образ на флешку в Ubuntu, то, наверное, уже слышали совет использовать утилиту dd. Это простая консольная утилита, которая позволяет побайтово переносить данные из одного места в другое, например из файла на флешку.

Несмотря на свою простоту она очень популярна среди опытных пользователей Linux, поскольку может правильно записать данные в большинстве случаев. Использовать эту утилиту очень просто. Нужно указать файл образа откуда будут скопированы данные и раздел на вашей флешке, например:

/ваш_образ.iso of=/dev/sdc bs=5M

Обратите внимание, что есть два возможных способа записи образа на флешку с помощью dd. Это непосредственно на флешку /dev/sdc или на раздел флешки - /dev/sdc1. Обычно работает первый вариант, но вы можете попробовать и второй. Запись образа на флешку займет определённое время, так что вам придется подождать.

После завершения копирования флешка будет готовка к работе. Но это далеко не все способы записи образа на диск, есть программы с графическим интерфейсом, полноценные аналоги Rufus Linux.

2. Unetbootin

Unetbootin - это графическая утилита с открытым исходным кодом для записи образа на USB-флешку. Работает она совсем по-другому. В отличие от dd, здесь флешка должна быть примонтирована к системе и отформатирована в правильную файловую систему. Утилита распакует содержимое образа на флешку, а затем добавит необходимые флаги раздела и установит загрузчик, чтобы всё работало так, как нужно.

unetbootin

Вы можете выбрать образ из файловой системы или скачать систему автоматически через интернет. Кроме того, вы можете записывать образы дискеты, а также жестких дисков. Еще можно оставить свободное место на флешке, чтобы в будущем записать туда файлы. Это отличная альтернатива Rufus Linux и используется она настолько же часто, как и Rufus в Windows.

Установить программу можно из официальных репозиториев. В Ubuntu для установки наберите:

sudo apt install unetbootin

3. Etcher

Это следующее поколение программ для записи образа на флешку Linux. Etcher - утилита с открытым исходным кодом, которая может работать в Windows, Linux и Mac OS. Но её выгодно отличает ещё одна особенность - это современный графический интерфейс.

etcher

Утилита работает очень просто. Сначала вы выбираете образ диска, который нужно записать, потом флешку, а затем просто нажимаете кнопку Записать (Flash!). Программа сделает всё сама. Она новая, поэтому её ещё нет в официальных репозиториях, но вы можете найти портативный образ AppImage на официальном сайте.

4. Ventoy

Это утилита, которая позволяет записать образ на флешку не очень стандартным образом. Вам достаточно просто установить программу на флешку, а затем скопировать туда же образ с нужным дистрибутивом. Программа сама разберется как его запустить и какие параметры передать чтобы все работало. Очень удобно. Графического интерфейса у программы нет, но он и не нужен, установку можно выполнить с помощью терминала, а затем копировать нужные образы в файловом менеджере. Более подробно об этой и следующей программе можно прочитать в этой статье.

5. Multisystem


Еще одна утилита с открытым исходным кодом. Она тоже позволяет записывать несколько образов операционных систем на флешку. Всё выполняется быстро и просто. Берёте флешку, выбираете её в программе, далее выбираете несколько образов и записываете их.

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

После этого нам остаётся записать образы и можно пользоваться. Кроме этого, в утилите есть множество настроек загрузчика Grub и Brug, резервное копирование и восстановление флешки, а также поддержка загрузки нужных вам образов из интернета.

6. Gnome MultiWriter


Утилита Gnome MultiWriter - это небольшая программа, разработанная в рамках проекта Gnome. Она позволяет записывать один ISO образ сразу на несколько носителей. Интерфейс программы предельно простой, но свою функцию она отлично выполняет. Для её установки в Ubuntu выполните:

sudo apt install gnome-multi-writer

Выводы

Вот и всё. Мы рассмотрели лучшие аналоги Rufus Linux, с помощью каждой из этих программ вы сможете записать свой образ на USB-флешку. В большинстве случаев всё работает достаточно хорошо. Я для своих целей использую либо dd, либо Unetbootin. А какие программы для записи ISO на флешку Linux используете вы? Напишите в комментариях!

На десерт видео о том, как пользоваться одной из самых популярных программ - Unetbootin:

В Юниксподобных ОС, команда dd копирует файлы на низком уровне; параллельно может конвертировать некоторые форматы данных.

Данная версия dd ничего не конвертирует, а только копирует данные в среде win32. Пока еще под Win9x не поддерживаются блочные устройства, но это не за горами.

Использование

Команда dd считывает данные из входного файла (if=FILENAME) и записывает их в выходной файл (of=FILENAME) блоками по N байт.

dd [bs=размер_блока[СУФФИКС]] [count=количество_блоков[СУФФИКС]] if=FILENAME of=FILENAME [seek=количество_блоков[СУФФИКС]] [skip=количество_блоков[СУФФИКС]] [--size] (размер) [--list] (список) [--progress] (состояние дел)

bs означает размер блока (block size). Размер блока может быть указан в байтах или при помощи следующих суффиксов:

НазваниеСуффиксРазмер
Символыc1
Словаw2
Двойные словаd4
Учетверенные словаq8
Килобайтыk1 024
МегабайтыM1 048 576
ГигабайтыG1 073 741 824

По умолчанию размер блока установлен в 512 байт, что подходит для большинства файлов и устройств, но если увеличить размер блока, то копирование пойдет быстрее. Например копировать флоппи диск с bs=1k count=1440 занимает почти вдвое больше времени, чем с bs=1440k count=1. С другой стороны, увлекаться увеличением размера блока не стоит, так как у Windows может не хватить памяти. Большинство CD/DVD имеют сектора размером 2Кб и, возможно, не будут работать с размерами блока некратными этой величине.

skip Это та часть входного файла, которую программа dd пропустит, прежде чем начать считывать данные. Эта величина указывается в блоках, так что выражение bs=512 skip=10 означает "пропустить 10*512=5120 байт от начала входного файла". Здесь также можно употреблять суффиксы и выражение skip=1k означает приказ пропустить 1024 блока.

seek Это та часть выходного файла, которую программа dd пропустит, прежде чем начать записывать данные. Эта величина указывается в блоках, так что выражение bs=512 skip=10 означает "не записывать 10*512=5120 байт от начала выходного файла". Здесь также можно употреблять суффиксы и выражение skip=1k означает приказ пропустить 1024 блока.

count Это число блоков, которые нужно скопировать. Если не задать этот параметр, то программа dd будет продолжать копирование до конца файла или носителя. Со многими usb носителями это не вполне надежно, так что необходимо использовать опцию --size, чтобы определить размер устройства (см. далее). При задании значения count также можно пользоваться суффиксами, например count=1k скопирует 1024 блока.

Применение опции --size

Применение опции --list

Windows поддерживает несколько способов именовать устройства. Опция --list выдаст правильные названия. Под NT4 работает только метод \\?\Device\Harddisk<n>\Partition<n>. Partition0 - это весь диск целиком.

Под Windows XP, некоторые разделы могут не иметь Тома устройства (Volume device). В этом случае приходится пользоваться именами типа Harddisk<n>\Partition n>.

Windows 2000 и новее имеют Тома устройств (Volume devices), снабженные уникальными идентификаторами - GUID, которые служат названиями дисков или разделов - то, что Микрософт называет Томами. В выводе команды dd --list все они перечислены вместе с возможными точками монтирования. Чаще всего они обозначаются буквой (скажем С:), но могут попадаться и пути к другим файловым системам. Если вы хотите прочитать с помощью dd тот или иной раздел, то не пишите в конце замыкающий обратный слэш (\). Если том не примонтирован, то простого способа идентифицировать его не существует, так что будьте на чеку. Под XP SP2, многие разделы не удается прочитать напрямую, даже если они в данный момент не используются. Работу по прочтению таких разделов я называю "Чтение разделов через черный ход" .

Применение опции --progress

Эта опция является нестандартным расширением команды dd, которая показывает продвижение работы по мере копирования каждого блока.

Виртуальные устройства

Так как у Windows нет устройств /dev/zero и /dev/random как в Юниксе, то они были добавлены в программу dd. Их используют как входные файлы (if), когда нужно заполнить файл или раздел нулями, либо псевдослучайными значениями.

Стандартный ввод/вывод

Мне нужно читать и писать различные образы флэш-карт. То, как я всегда делал это в Linux, было с dd, и это помогло. Что такое хороший эквивалент Windows?

Проще говоря, мне нужно иметь возможность прочитать всю карту в файл и наоборот. Я пробовал WinDD , но, похоже, он работает на разделах, а не на целых устройствах, но мне нужно иметь возможность выгрузить весь диск / карту и таблицу разделов независимо от ее содержимого.

Использование Windows 7 64bit, с кард-ридером через порт USB3.

Попробуйте Win32DiskImager , он может записывать образы на диски.

Это не работает для устройств без присвоенных им букв разделов, поэтому бесполезно для устройств с нераспознанными разделами или вообще без разделов. Не эквивалентно dd . Он не создает файл образа, совместимый с dd, фактически он пытается понять структуру диска и создает zip-файл с каждым разделом, который он распознает в отдельном файле. И в моем случае возникли проблемы с восстановлением файлов на разделы снова

Просто используйте dd для Windows . он отлично работает, хотя это довольно старый проект.

Кажется, есть проблема под Windows 10. У кого-нибудь есть проблемы с .6 бета 3? @TravisWhidden, какие проблемы? Я столкнулся с некоторыми ошибками «невозможности записи», но не уверен, что это та же проблема.

Руфус работает как положено. Выберите «DD Image» для «Создать загрузочный диск с помощью».

Мой опыт: Win32DiskImager не обнаружил u-SD через считыватель USB-3; dd для Windows, скомпилированный MinGW dd, Unix Utils dd и Linux dd VIA VirtualBox VM USB3 проходил все недопустимо медленно; Я до сих пор не нашел эквивалент командной строки Windows, который может побить скорость записи 50 МБ / с, которую я вижу с Rufus.

Он действительно хорош для предварительной загрузки изображений на USB-накопители, но он не выполняет половину того, что может сделать dd, так что это не совсем «эквивалент» Это недопустимо, поскольку позволяет только записывать образы на диски, а не читать эти диски. Руфус сделал для меня диск с другой контрольной суммой из картинки. Сегодня редко можно увидеть полезное приложение размером всего 1 МБ. Какой отличный инструмент!

Сначала я также попробовал Win32DiskImager, который, как я думал, делает только копию раздела на основе его дисплея (нет, он может создавать резервные копии всей SD-карты), поэтому я продолжил поиск.

Мой текущий фаворит - HDDRawCopy . Он копирует в / из файла весь образ диска, но не разделы по отдельности. Он создает dd-совместимые или сжатые изображения на лету - не так эффективно, как 7zip (даже не достигает производительности ZIP), но вам не нужно снова прикасаться к изображению.

HDD Raw Copy смог обнаружить пустой диск SCSI, который "dd for windows" не смог. Это позволило мне скопировать диск HFS из Windows! Благодарность! Обратите внимание, что по какой-то причине HDD RAW COPY имеет ограничение в 50 МБ / с

Удивило, что никто не упомянул утилиты ядра GNU для Windows , я использую их годами. они 32-битные двоичные файлы, но, видимо, за исключением того less , что они все еще работают под Windows 7 64- битной .

сообщенное время немного странно, но в остальном кажется, что оно работает хорошо.

Правильно ли копируется содержимое более 4-х гигабайт? В прошлый раз, когда я проверял (давно), он был скомпилирован с использованием среды выполнения Microsoft где off_t a long , следовательно, смещения ограничены 31 или 32 битами . что является большим обманом при использовании dd . Git для Windows поставляется (на момент написания) с версией dd 8.30, скомпилированной в 2018 году. Кажется, что он отлично работает с /dev/sdX именами, по крайней мере, из Git Bash, работающего от имени администратора. Вероятно, некоторое время назад он потерял все 32-битные ограничения.

Я просто пытался проверить, был ли диск стерт, поэтому все, о чем я заботился, - это чтение, но этот скрипт на python можно изменить так, чтобы он делал что-то подобное, если вы не доверяете таким исполняемым файлам, как я. Откройте диспетчер разделов Windows, чтобы узнать, какой номер диска вам нужен, и просто измените это число на 2. Затем вы можете написать это, или, если вы сделали wb вместо rb, вы могли бы написать. Удачи

Просто для записи, я думаю, что было бы во много раз быстрее делать больше, чем один байт за раз. И нет никаких условий ошибки, сценарий полагается на ненулевые байты, возникающие на ранней стадии, и вы заметили, что он напечатал «готово» на ранней стадии. Python - неправильный инструмент, подобный тесному циклу. Лучше было бы создать буфер с 256 КБ всех нулей и сравнить его с 256 КБ, извлеченным из диска за один раз. Плюс наличие некоторой обработки исключений.


Для истинного эквивалента в dd Windows не ищите полусырые альтернативы - просто установите настоящий GNU dd . Лучший способ сделать это, вероятно, Cygwin , довольно полный дистрибутив GNU и других инструментов FOSS. Думайте об этом как об установке «Linux» (точнее, (GNU) Linux-дистрибутива) поверх Windows, без каких-либо слоев эмуляции или ограниченного черного ящика, такого как подсистема Windows для Linux. Это как родной, как это получается.

Чтобы использовать его, вам необходимо:

  1. Установите базовую среду Cygwin. Сделайте так, как указано на сайте , просто оставьте значения по умолчанию, если вам это нужно, dd но вы также можете повеселиться и получить подсказку о том, что он может предложить.
  2. Откройте терминал Cygwin как администратор , затем проверьте, с каким устройством / разделом вы хотите работать cat /proc/partitions .
  3. Используйте dd как на любом (GNU) Linux.
Вы даже можете использовать cygwin из командной строки DOS . (я все время использую для cat / grep / tail / . ) и даже в консоли DOS / Windows "ls -la / proc" работает нормально . один из моих любимых .

вау все эти ответы и DISM существует уже давно? Я уверен, что он был встроен в Windows 7 с самого начала.

DISM / capture-image /image-file:d:\backup.wim / capturedir: c: \ / name: simpleback

Есть много настроек, которые вы можете настроить. после захвата - разверните на новом носителе с помощью инструментов dism.

dd : Клонирование разделов windows и не только

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

dd : Клонирование разделов windows и не только

Недавно столкнулся с темой клонирования HDD целиком, причем нужно было что-то независимое от ФС, опенсорсное и надежное. Подошел вариант dd + gzip с некоторыми хитростями -- образ 320Гб винта в архиве со свежеустановленной ВинХР + всеми прогами занимает чуть меньше 3Гб.
Писать статью или все знают как это делать?

Пиши. Ты это работающую фс снимал или грузился с диска? princeps писал(а): Пиши. Ты это работающую фс снимал или грузился с диска? грузился с FreeBSD livefs,
хотя этот рецепт подойдет также для любого лайв сиди с Linux

Клонирование разделов windows с помощью загрузочного диска FreeBSD.

Ситуация обычная, сотрудница нашей фирмы попросила «посмотреть домашний компьютер», который «не включается, сын что - то натоврил». Прибыв на место определил что винда не грузится ни в обычном режиме ни в безопасном. Сошлись на том, что вытаскивать данные не будем, а просто переустановим с форматированием. Ребенок учится в средних классах школы и естественно ставит все проги подряд особо не задумываясь. Ограничивать его в любознательности не стоит, пусть учится, тем не менее я понял что аналогичная ситуация (когда система будет запорота загадочным образом) может возникнуть совсем скоро и мы будем к этому не готовы, т.е. все что я смогу сделать — опять все форматировать, ставить винду, дрова и проги. Это не устраивало и я вспомнил как один знакомый говорил о рецепте «2х винчестеров» -- образ свежеустановленной системы снимается утилитой типа акрониса (Acronis True Image) или Нортона Госта (Norton Ghost) на второй винчестер, который затем отключается. В дальнейшем, когда наступит время «ч» можно быстро развернуть систему из образа. Первый вопрос возник после изучения нового Нортона то ли двенадцатой то ли четырнадцатой версии, который работал исключительно под венду и кроме того, требовал установки MS NetFramework. Хотелось чего - то доброго, чистого, не требующего установки, независящего от типа файловой системы и желательно бесплатного. И такое нашлось. Это dd. Второй вопрос, вернее не совсем вопрос, а сразу решение, возникло после оценки размера установленной винды ХР и всех прог — чуть больше 3Гб, а значит образ влезет на DVD болванку и маме не потребуется отрывать лишнюю тысячу рублей из семейного бюджета на покупку дополнительного HDD.
Надо сказать, что утилита dd работает на низком уровне, копируя информацию с носителя по секторам. В этом ее преимущество -- не зависит от файловой системы и недостаток -- копирует все подряд без разбору. Т.е. если имеем винчестер размером 10Гб то и получим образ в 10Гб. Винчестер 100Гб — образ 100Гб. Естественно такой образ можно пожать архиватором до приемлемого размера, но только если на остальное пространство будут записаны однородные данные, например нули. Что касается файловой системы ntfs, то при удалении файла в ней не происходит физического удаления — стирается только заголовок файла, сами данные остануться нетронутыми до тех пор пока на их место не будет записан другой файл. Тоже самое происходит при форматировании — очищается только служебная область диска. Честно говоря несколько лет назад я был сильно удивлен сначала отформатировав по ошибке диск с данными, а потом восстановив абсолютно всю информацию с него простой утилитой. Теперь представим что на жестком на диске размером 320Гб 150 Гб занято музыкой, мы форматируем его в ntfs, ставим винду, и видим что досутпно 317Гб. Все верно, но если пытаться сжимать образ этого диска, то мы будем сжимать фактически 150Гб, т.к. данные от музыкальных файлов как там были до форматирования так останутся после. Поэтому нам нужно сначала записать однородные данные на весь этот диск (забиваем нулями), а только потом уже форматировать его и ставить винду.

например, у меня было 2 диска :
ad0 — диск на который я собираюсь ставить ОС windows
ad4 — диск куда я буду сохранять сжатый образ

Читайте также: