Записать образ на флешку linux: Создание загрузочного носителя — Документация Linux Mint Installation Guide

Как использовать dd в Linux, или создание загрузочной флешки из терминала

Безопасно и надежно создавайте идеальные копии дисков, разделов и файловых систем с помощью инструмента Linux dd.

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

К счастью, есть для этого инструмент “dd“, – это простой и мощный инструмент для копирования и создания образов.

Использование dd, может сделать идеальные побайтные образы, практически всего что есть на вашем компьютере. Но прежде чем вы начнете перебрасывать разделы с одного конца на другой, я должен упомянуть, что в этой старой шутке администратора Unix есть доля правды: « dd означает« disk destroyer – разрушитель диска »». Если вы введете хотя бы один неправильный символ в команду dd, вы можете мгновенно и навсегда уничтожить весь накопитель ценных данных. И да, орфография имеет значение.

Помните: перед нажатием клавиши Enter, сделайте паузу и подумайте очень внимательно!

Основные операции с dd

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

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

Я начну с небольшого примера, который наглядно иллюстрирует основные параметры команды:

dd if=/dev/urandom of=/dev/null bs=100M count=5

Параметры:

  • if : указывает на источник, то есть туда, откуда мы копируем.  Указывает файл, который может быть обычным файлом или файлом устройства.
  • of : указывает файл назначения. То же самое мы можем записать как в обычный файл, так и непосредственно в устройство.
  • bs : количество байтов, которые должны быть записаны за один раз. Вы можете думать об этом аргументе как о размере фрагмента данных, которые будут записаны или прочитаны, а количество фрагментов регулируется следующим параметром.
  • count : только число, которое указывает: сколько частей будет скопировано.

Таким образом, описанная команда считывает 5 * 100 мегабайт с устройства /dev/urandom на устройство /dev/null. Оказывая этой команде ощутимую нагрузку, получается, что система сгенерирует 500 мегабайт случайных значений и запишет их в  устройство null. Конечно единственное, что будет делать эта команда, это нагрузит процессор на несколько секунд.

Рассмотрим примеры из практики:

Создание образа диска: 

dd if=/dev/cdrom of=image. iso

Да, да, мы можем просто создать файловый образ диска из имеющегося физического диска.

Команда будет считывать данные с устройства и записывать в файл, пока он не достигнет конца устройства. Если диск поврежден, вы можете попробовать прочитать его, игнорируя ошибки чтения:

dd if=/dev/cdrom of=image.iso conv=noerror

Параметр «conv» позволяет подключить несколько фильтров, применимых к потоку данных. Фильтр «noerror» просто отключает отключение программы при возникновении ошибки чтения. Таким образом, некоторые данные с диска еще можно прочитать. Точно так же я сохранил данные со своей погнутой флешки Corsair: я нашел правильную позицию, когда был контакт, и сделал дамп файловой системы.

Кстати, такие образы можно подключить с помощью команды mount с ключом «-o loop»:

mount -o loop image.iso /mnt/image

Если что-то не работает, процесс делится на 2 уровня:

losetup -e /dev/loop0 image. iso

mount /dev/loop0 /mnt/image

Если это все еще не работает, то файловая система образа полетела, и восстановить ее вряд-ли удастся.

Работа с носителями

Очень простое, но не оптимальное решение для клонирования жесткого диска:

dd if=/dev/sda of=/dev/sdb bs=4096

Все то же побитовое копирование с размером буфера 4 КБ. Недостатком этого метода является то, что при заполнении любых разделов копируются все биты, что не выгодно при копировании разделов с небольшой полнотой. Чтобы сократить время копирования при манипулировании большими объемами данных, вы можете просто перенести MBR на новый носитель (я опишу как), перечитать таблицу разделов ядра (используя тот же fdisk), создать файловые системы и просто скопировать файлы (не забывая сохранять права доступа к файлам).

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

dd if=/dev/DEVICE | ssh [email protected] "dd of=/home/user/DEVICE. img".

Однажды я прочитал исследование, согласно которому очень большая часть жестких дисков на барахолке проходит восстановление данных без участия какого-либо специализированного инструмента и содержит конфиденциальную информацию. Чтобы ничто не смог восстановить вашу информацию на носителе – вы можете забить его нулями:

dd if=/dev/zero of=/dev/DEVICE

Я думаю понятно, что нужно заменить DEVICE – на ваше устройство.

Вы можете сделать это с тем же самым dd, но преобразовав данные в шестнадцатеричный формат:

dd if=/dev/sda | hexdump -C

Операции с MBR

MBR находится в первых 512 байтах жесткого диска и состоит из таблицы разделов, загрузчика и пары дополнительных байт. Иногда необходимо выполнить резервное копирование, восстановление и т. д. Резервное копирование работает следующим образом:

dd if=/dev/sda of=mbr.img bs=512 count=1

Теперь можно легко восстановить данные:

dd if=mbr.img of=/dev/sda

Причины такого мошенничества с MBR могут быть разными, однако я хочу рассказать одну особенность, взятую из опыта: после восстановления давней копии MBR, где один из разделов был ext3, а позже стал FAT и использовался Windows, раздел перестал видеть Windows. Причиной является идентификатор раздела, который хранится в MBR. Если UNIX монтирует файловые системы в соответствии с суперблоком, то Windows руководствуется идентификаторами разделов из MBR. Поэтому вы всегда должны проверять идентификаторы разделов с помощью fdisk, особенно если на компьютере установлена ​​Windows.

Генерация файлов

С помощью dd вы можете создавать файлы, а затем использовать их в качестве контейнеров других файловых систем, даже в зашифрованном виде. Технология заключается в следующем:

С помощью dd создается файл, который забивается нулями (случайные числа не рациональны для оценки: длинные и бессмысленные):

dd if=/dev/zero of=image.crypted bs=1M count=1000

Был создан файл размером почти в ГБ. Теперь вам нужно сделать этот файл блочным устройством и одновременно передать его через механизм шифрования ядра linux. Я выберу алгоритм Blowfish. Загрузка модуля:

modprobe cryptoloop

modprobe blowfish Image 

ассоциация с блочным устройством с включенным шифрованием:

losetup -e blowfish /dev/loop0 image. crypted

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

Создайте файловую систему и смонтируйте:

mkfs.ext2 /dev/loop0 

mount /dev/loop0 /mnt/image 

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

umount /dev/loop0 

losetup -d /dev/loop0 

Теперь зашифрованный образ готов.

Мониторинг операций dd

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

Можете добавить опцию “status=progress” к dd, тогда команда будет выглядеть примерно так:

dd if=/dev/sda of=/dev/sdb status=progress

Или установите Pipe Viewer

sudo apt install pv

и вставьте его в dd. При этом последняя команда может выглядеть примерно так:

dd if=/dev/urandom | pv | dd of=/dev/sda1
4,14MB 0:00:05 [ 98kB/s] [      <=>                  ]

Это действительно не сложно, но будьте осторожны. Удачи!

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

Давайте попробуем записать образ Ubuntu 20.04, на флешку, чтобы потом установить систему на компьютер.

Для начала нам нужно определить путь к нашей флешке, для этого откройте терминал и введите команду df

df

Вывод команды

[email protected]:~$ df
Файл.система 1K-блоков Использовано Доступно Использовано% Cмонтировано в
udev 4026960 0 4026960 0% /dev
tmpfs 811424 1864 809560 1% /run
/dev/sdb5 86040680 20839220 60787816 26% /
tmpfs 4057112 319416 3737696 8% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 4057112 0 4057112 0% /sys/fs/cgroup
/dev/loop0 96128 96128 0 100% /snap/core/8935
/dev/loop2 49536 49536 0 100% /snap/gtk-common-themes/1474
/dev/loop1 56320 56320 0 100% /snap/core18/1705
/dev/loop3 226816 226816 0 100% /snap/gnome-3-34-1804/21
/dev/loop4 49024 49024 0 100% /snap/snap-store/336
tmpfs 811420 20 811400 1% /run/user/122
tmpfs 811420 40 811380 1% /run/user/1000
/dev/sdc 2744448 2744448 0 100% /media/fox/flash

У моей флешки путь – /dev/sdc, а значит, я беру скачанный заранее образ Ubuntu, который расположен по адресу ~/Документы/Ubuntu 20. 04, и ввожу команду в терминале

sudo dd if=~/Документы/ubuntu-20.04-beta-desktop-amd64.iso of=/dev/sdc status=progress

Через несколько минут, я смогу загрузить свой компьютер с только что созданной флешки, и установить последнюю версию Ubuntu 20.04.

Я выписал основные идеи, но набор задач, которые можно решить с помощью небольшой программы, название которой состоит из двух букв, гораздо шире. Программа «dd» является ярким примером того, что ИТ называют «способом UNIX»: одна программа является частью механизма, выполняет только свою задачу и выполняет ее хорошо. В руках человека, который знает свое дело, у которого нестандартный подход к решению проблемы, такие небольшие программы помогут быстро и эффективно решать сложные задачи, которые, на первый взгляд, должны решаться большими специализированными пакетами.

Если вы знаете еще что-то, что не описано в статье, пожалуйста, не стесняйтесь, делитесь своими мыслями в комментариях ниже.

ubuntu — Запись образа на флэшку

предуведомление о загрузке образов именно ms/windows с usb-устройств. подготовка такого носителя —- это нетривиальный процесс и «уложить» его в рамки одной программы/скрипта — длительная (и неблагодарная) работа, которую, как вы, вероятно, уже обнаружили, до сих пор никто не проделал. см. ниже обновление.


копирование образов в операционной системе gnu/linux осуществляется так же, как и копирование любых других файлов — программой cp.

в случае с доступом к физическим устройством эта программа, естественно, должна выполняться с root-овыми привилегиями. например, используя sudo:

$ sudo cp /путь/к/файлу/с/образом /dev/блочное-устройство

и обратная процедура (с блочного устройства в файл):

$ sudo cp /dev/блочное-устройство /путь/к/файлу/с/образом

все разделы на блочном устройстве, во избежание проблем, должны быть отмонтированы (то, что в графическом интерфейсе для «флэшек» называется как-нибудь вроде «извлечь устройство», применять в данном случае нельзя — usb-устройство будет логически выключено). посмотреть список примонтированных разделов (и уточнить, куда именно они примонтированы) можно программами df или mount, отмонтировать:

$ sudo umount /путь/к/разделу/блочного/устройства

или

$ sudo umount /путь/к/точке/монтирования

определить имя нужного блочного устройства можно по-разному. в случае извлекаемого usb-накопителя это проще делать, просмотрев последние записи кольцевого буфера ядра (сразу после подключения устройства) с помощью программы dmesg. примерный вывод:

$ dmesg | tail
...
[17614.102720] sd 2:0:0:0: [sdb] Attached SCSI removable disk

sdb — в данном случае и есть имя блочного устройства

вот это имя и надо подставить в команду:

$ sudo cp /путь/к/файлу/с/образом /dev/sdb

учтите, что сразу же после завершения этой команды ещё не вся буферизованная информация «сброшена» на устройство. для очистки буферов выполните программу:

$ sync

после этого usb-устройство можно извлекать.

проблема здесь заключается не в том, «как бы так хитро записать образ», а в том, что стандартная программа установки ms/windows, после запуска, в поиске остальных файлов, необходимых для продолжения установки, будет просматривать лишь носители, отвечающие следующим требованиям:

это либо cd/dvd-устройство, либо устройство, подключенное через интерфейс sata/pata и не являющееся съёмным.

т.н. «usb-флэшки» подключаются через интерфейс sata, как и традиционные современные «винчестеры», но, в отличие от «винчестеров», рапортуют о том, что они являются съёмными.

посмотреть результат такого рапорта в операционной системе gnu/linux можно в файле /sys/block/имя-устройства/removable. например, так сообщает о себе «usb-флэшка» с именем sdf:

$ cat /sys/block/sdf/removable
1

а вот так сообщает о себе «винчестер» (sda):

$ cat /sys/block/sda/removable
0

кстати, этот рапорт ничуть не изменится, если «винчестер» подключить не напрямую к sata-контроллеру на материнской плате, а, например, к контроллеру usb через «переходник» usb-sata/pata.

для «обхода» подобной логики программы-инсталлятора, как я понимаю, существует три пути (отсортированы по степени реалистичности):

  1. записать образ на cd/dvd или на «винчестер»
  2. изменить микро-программу внутри «usb-флэшки» так, чтобы она рапортовала о своей «несъёмности» (для некоторых устройств это возможно, но нет никаких гарантий, что устройство при этом не превратится в «кирпич»)
  3. «пропатчить» программу-инсталлятор так, чтобы она искала необходимые файлы и на съёмных sata/pata-носителях

Как сделать образ всей флешки?

спросил

Изменено
3 года, 9 месяцев назад

Просмотрено
615 раз

Сообщение ниже исходит из другого поста, и я попробовал его так, как они заявили. Сначала я подключил USB-накопитель:

 sudo mount -o ro,noexec /dev/sdb1 /media
 

Я установил его только для чтения, чтобы предотвратить повреждение или изменение USB при копировании, особенно если я перепутал , если и из . В сообщении ниже я не уверен, хотели ли они, чтобы я использовал sdb или sdb# для , если .

Прежде чем пытаться восстановить, я бы сохранил текущее состояние, создав резервную копию всего устройства поблочно: dd if=/dev/sdb bs=16M of=/somelargedisk/rawusbdrive , где /dev/sdb — это ваш USB-накопитель (проверьте, какой именно с помощью lsblk), а /somelargedisk/rawusbdrive — это путь и имя файла, которые вы выбираете на диске/разделе с большим количеством места. Затем, если средство восстановления, которое записывает на диск, причиняет больше вреда, чем восстановление, вы можете вернуться (обменять поля if и of).»

5

Лучший способ резервного копирования всего диска — через dd , потому что вы можете контролировать размер буфера для блочных устройств лучше, чем с кот . Пока USB-накопитель не смонтирован , запустите от имени root :

 dd if=/dev/sdb bs=16M of=/somelargedisk/rawusbdrive
 

, где /dev/sdb — это ваш USB-накопитель (проверьте, какой именно, используя lsblk ), а /somelargedisk/rawusbdrive — это путь и имя файла, которые вы выбираете на диске/разделе с большим количеством места.

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

Обратите внимание: dd может легко перезаписать все ваши данные без возможности восстановления (при разумных усилиях), если вы введете неправильные параметры!

Это было впервые упомянуто в моем комментарии к вашему другому вопросу
Лучший инструмент восстановления Linux для удаленных файлов с USB-накопителя?

14

/dev/sdb — это весь USB-диск, а /dev/sdb1 — это раздел на диске. Если вы хотите создать образ всего диска, вам нужно /dev/sdb .

Тем не менее, монтирование только для чтения в этом случае вам не поможет. Вы минуете файловую систему (именно здесь эффект только для чтения) и работаете напрямую с блочным устройством. Так что если вы перепутаете i и o , вы все равно испортите диск.

Здесь нет особой пользы от dd , вы также можете использовать cat :

 sudo cat /dev/sdb > /somelargedisk/rawusbdrive
 

(или pv для хорошего отображения прогресса.)

2

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie

.

Как записать образ флешки на диск?

  1. Монтаж
  2. Как записать образ флешки на диск?

Подготовка

Сначала вам нужно загрузить образ, который вы хотите прошить, на USB-накопитель, компактную флэш-память или SD-карту. Это может быть либо образ флэш-памяти IPFire, либо образ ISO. Чтобы узнать, какой из них подходит именно вам, ознакомьтесь с руководством по установке.

Внимание!
все данные на флешке или флешке будут перезаписаны!

Во-вторых, выберите способ ниже, который работает с вашей операционной системой.

Все архитектуры

Чрезвычайно простое в использовании, часто обновляемое программное обеспечение для записи файла образа на диск памяти — Balena Etcher.

Microsoft Windows

Win32 Disk Imager

Этот метод использует Win32 Disk Imager и работает в Windows XP/Vista/7/8.

  • Загрузите новейшую версию Win32 Disk Imager
  • Установка образа диска Win32
  • Подключите USB-накопитель, который вы хотите использовать
  • Открыть Win32 Disk Imager
  • Нажмите на синюю папку, чтобы открыть диалоговое окно файла
  • Измените тип файла с «Образы дисков ( .img .IMG)» на « . »
  • Найдите и выберите файл ISO или образа IPFire (возможно, вам нужно сначала распаковать с помощью XZ, например, для Windows — все образы flash и arm имеют тип «*.xz»)
  • Выберите правильное «Устройство» (USB-накопитель)
    • Делайте , а не нажмите Читать!
  • Нажмите «Записать»

Готово!

После записи Windows может не распознать файловую систему на USB-накопителе и может предложить отформатировать USB-накопитель. Это нормально, поэтому форматируйте USB-накопитель , а не . Windows также может сообщать о низкой емкости (около 150 МБ), даже если емкость USB-накопителя была больше. Это нормально, вы можете легко восстановить полную емкость позже, если вам это нужно.

Rufus

Этот метод использует Rufus и работает для Windows XP/Vista/7/8/10.

  • Загрузите новейшую версию Rufus
  • Установите или используйте портативную версию Rufus
  • Подключите USB-накопитель, который вы хотите использовать
  • Открыть Руфус
  • Нажмите «ВЫБРАТЬ» рядом с «Выбор загрузки» > «Диск или ISO-образ»
  • Найдите и выберите IPFire ISO
  • Выберите правильное «Устройство» (USB-накопитель)
  • Нажмите «Пуск»
  • Появится окно «Обнаружен гибридный образ ISO», выберите «Запись в режиме образа ISO»
  • Нажмите «ОК»

Готово!

Если вы выберете «Запись в режиме образа DD» вместо «Запись в режиме образа ISO», вам будет предложено «загрузить установочный образ» во время установки ipfire. Установка завершится ошибкой, если программа установки ipfire не сможет получить адрес через DHCP.

Вам может быть предложено загрузить текущие версии Syslinux в виде ldlinux.sys и ldlinux.bss. Подтвердите, нажав «да».

Linux и другие *nix

Какое устройство является моим USB-накопителем?

Один из способов узнать это открыть терминал Linux и использовать команду:

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

  • Открыть терминал
  • Вставьте USB-накопитель
  • Вам придется размонтировать USB-накопитель, чтобы иметь возможность записи на него. Сделайте это с помощью команды:
 размонтировать /dev/sdX
 

Измените «sdX», чтобы он соответствовал вашему USB-накопителю.

Затем выполните следующие команды:

 dd bs=4M if=/path/to/ipfire-2.27-core172-x86_64.iso of=/dev/sdX conv=fsync oflag=direct status=progress
извлечь /dev/sdX
 

MacOS

Какое устройство является моим USB-накопителем?

  • Открытие терминала
  • Вставьте USB-накопитель
 список diskutil
 

Измените «diskX», чтобы он соответствовал вашему USB-накопителю.