Снять образ с флешки linux

Обновлено: 04.07.2024

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

Примеры таких систем (те что проверял сам):

Всё просто: перед снятием образа запустил gparted и сократил размер раздела до минимального, чтобы свободного места оставалось не более 1%.

Дальше скопировать разметку диска и сами разделы через dd или ddrescue . Будет гораздо быстрее, чем делать образ через тот же Acronis.

Но обо всем по порядку, начну с того, что для работы нужна загрузочная флешка Linux , лучше с GUI, диск с которого снимаем образ и диск куда образ записывать.
В моем примере про Windows я работал с домашнего Ubuntu Linux, снимал образ с соседнего диска на ФС своего Ubuntu Linux.

В примере про Linux - я это делал на очень слабеньком компьютере, загружался с USB-флешки Альт-Линукс, образ снимал и разворачивал с локального SATA диска, образ записывал на внешний USB HDD диск.

Но все эти работы можно выполнять с флешки, если на флешке достаточно места.

Перенос ОС копированием файловых систем (из образа ФС)

1. Перенос операционной системы копированием файловой системы выполняется с минимальными затратами времени и позволяет решать задачи администрирования:

  • восстанавливать работоспособность системы после фатального сбоя;
  • разворачивать объемные системы по числу компьютеров с похожей архитектурой и программным обеспечением;
  • переносить систему при модернизации оборудования.

2. Для сравнения: установка операционной системы Альт-Линукс с базовыми настройками занимает не менее 30 минут на каждый экземпляр установки и требует интерактивного вмешательства администратора.

Перенос операционной системы копированием файловой системы занимает от пары минут и может выполняться одновременно (параллельно) на нескольких компьютерах одним администратором.

3. Перенос операционной системы копированием файловой системы выполняется в два этапа:

  • создание образа файловой системы;
  • восстановление операционной системы из образа.

4. Основные способы создания образа ФС:

  • копирование раздела файловой системы (блочный метод);
  • копирование файлов ОС и восстановление архитектуры ФС (файловый метод).

5. В инструкции представлены оба метода с применением к разным задачам. У каждого метода есть свои плюсы и минусы.

6. Блочный метод — копирует разметку диска и разделы диска целиком, он может быть применен к архивированию практически любой операционной системы и ее файловой системы, если файловая система поддерживает уменьшение своего размера, то этот метод один из лучших для применения в такой задаче.

Например, для файловой системы EXT4 или NTFS перед снятием архива размер раздела можно сократить до объема занимаемых данных, КПД метода в этом случае будет очень высок.

Но если исходная файловая система не может быть изменена в меньшую сторону, например XFS, то при наличии большого объема незанятого данными пространства, при архивировании - большая часть времени уйдет на сохранение пустого пространства раздела, КПД метода в этом случае будет не так хорош, как в предыдущем примере.

7. Файловый метод — очень зависит от Операционной системы и файловой системы, на которой она развернута. Для ОС Linux — это предпочтительный метод, т. к. он может быть применен фактически для любой файловой системы Linux.

XFS и EXT4 Linux лучше архивировать файловым методом.

8. Пример блочного архивирования файловой системы на примере переноса OS Windows NTFS.

8.1. Обычно для работы Windows использует два раздела — скрытый, размером от 512 Мб и системный, обычно это Диск С Windows. Дополнительные диски для копирования — не рассматриваем, т. к. их можно скопировать простым копированием файлов, они не влияют на работу ОС Windows и могут быть добавлены к системе в любой момент. При желании их так же можно скопировать блочным методом вместе с скрытым и системным разделами.

8.2. Этап создания образа ФС блочным методом.

8.2.1. Посмотреть разделы исходного диска с Windows fdisk

sudo fdisk -l

Диск /dev/sdb: 1,84 TiB, 2000398934016 байт, 3907029168 секторов

Disk model: Hitachi HUA72302

Единицы: секторов по 1 * 512 = 512 байт

Размер сектора (логический/физический): 512 байт / 512 байт

Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Тип метки диска: dos

Идентификатор диска: 0xb75549a0

Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип

/dev/sdb1 * 63 1028159 1028097 502M 7 HPFS/NTFS/exFAT

/dev/sdb2 1028160 132102143 131073984 62,5G 7 HPFS/NTFS/exFAT

Идентификаторы разделов и их файловой системы узнать командой blkid

/dev/sdb1: LABEL="System Reserved" UUID="38143AA4143A6552" TYPE=" ntfs " PARTUUID="b75549a0-01"

/dev/sdb2: UUID="94ECB0E5ECB0C332" TYPE=" ntfs " PARTUUID="b75549a0-02"

8.2.2. В примере /dev/sdb1 — скрытый раздел Windows, /dev/sdb2 — системный раздел Windows.

8.2.3. Подключить системный раздел Windows в папку /mnt:

sudo mount -t ntfs /dev/sdb2 /mnt

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

sudo umount /mnt

8.2.5. сократить раздел до минимального, не более 1-10% свободного места. Например к размеру данных добавить +200 МиБ. Для изменения размера задействовать графическую утилиту gparted (установка sudo apt-get install gparted):

Столкнулся с проблемой. Имеется флешка (загрузочная). Хочу создать с неё iso-образ, но информации на ней меньше гигобайта, а обрас получается размером с целую 16Gb флешку. Собственно аналогичная ситуация при резервном копировании целого жесткого диска. Когда там кроме операционки еще куча программ, но объем всёравно не превышиет 20 Гб однако создание образа занимает все 250Гб, что не кошерно, на мой взгляд. Как-то можно создать образ без пустого места на диске? Первое что приходит в голову это dd, но либо плохо искал, либо нет такой возможности (пропустить именно пустые блоки).

Сразу оговорюсь: акронис не интересует. Знаю, пользовался, прикольно, но не то, да и не всегда есть под рукой. И молчу уже про платность.




Clonezilla. Правда это мальца из пушки по воробьям, но работает



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

В любом случае спецсофт предпочтительнее будет.

Если у тебя на флешке iso-файл, то нужно определить его размер (isoinfo для этого), затем dd указать количество блоков и их размер, чтобы в произведении давало такой же размер. Можно не заморачиваясь взять блоки 2048 как на CD, а количество указать выданное isoinfo, хотя может для скорости это будет неоптимально, можно пересчитать, копируя блоками побольше количеством в соответствующее число раз меньше.

Если у тебя всё-таки не исошка, а какая-то файловая система, то нужно воспользоваться утилитой, которая работает именно с этой файловой системой (ntfsdump например), можно заполнить нулями свободное место и воспользоваться любым сжатием, а можно применить GNU ddrescue и сформировать sparse-файл, который будет размером в те же 16 гигбайт, но места будет занимать столько, сколько участков не с нулями.

Xenius ★★★★★ ( 24.11.15 17:23:40 )
Последнее исправление: Xenius 24.11.15 17:23:55 (всего исправлений: 1)

то надо будет сначала каким-нибудь вайпером по свободному месту пройтись, чтобы там нули были.

dd if=/dev/zero of=/file/on/mounted/filesystem и потом удалить этот файл.


на уровне блочного устройства, можно применить тока сжатие. на уровне ФС есть интересные варианты

С помощью dd создать файл нужного размера, создать с помощью fdisk в этом файле таблицу разделов с нужным количеством самих разделов и с помощью mkfs нужные файловые системы на этих разделах. С помощью losetup создать блочное устройство, разделы смонтировать, примонтировать образ и с помощью cp скопировать файлы. Затем с помощью dd скопировать первые 446 байт загрузочного сектора образа в MBR файла и с помощью dd залить получившийся образ на флешку.


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

Мы объясним два способа достижения этого: через интерфейс командной строки (CLI) и программу с графическим интерфейсом пользователя (GUI).

Создание ISO-образа с загрузочного USB-накопителя с помощью dd.

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

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

Обязательно замените /dev/sdb1 на USB-накопитель и /home/itisgood/Documents/Linux_Mint_19_XFCE.iso на полное имя нового ISO-образа.

В приведенной выше команде опции:

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

Создание ISO-образа с загрузочного USB-накопителя с помощьюGnome Disks

Он используется для форматирования и разбиения дисков, монтирования и размонтирования разделов и запроса S.M.A.R.T.

Если в вашей системе нет утилиты gnome-disk, вы можете установить ее, выполнив следующую команду.

После успешной установки диска Gnome найдите и откройте его из системного меню или тире.

Затем из интерфейса по умолчанию выберите загрузочное устройство из списка подключенных устройств на левой панели, щелкнув по нему и выбрав параметры диска.

Затем нажмите кнопку «Создать образ диска», как показано на следующем рисунке.


В диалоговом окне укажите имя ISO-файла, его местоположение и нажмите «Начать создание».

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

Вот и все! В этой статье мы объяснили два способа создания ISO из загрузочного USB-накопителя в Linux.

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

Существует несколько программ с графическим интерфейсом, предназначенных для создания 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-диск.

Если эту опцию не указывать, 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, освоили кое-что новое, позволяющее ускорить и упростить решение некоторых задач.

01_usb-flash_01

sudo dd if=/dev/sdc of=image.iso

Чтобы узнать, как обозначается Ваша флешка в системе, можно к примеру запустить утилиту Диски, или программу GParted и посмотреть в них, а если через Терминал, то поможет команда:

sudo fdisk -l

Диски_633

-dev-sdc - GParted_634

dm@dm-System-Product-Name:</p>
<p>Если хотите видеть процесс создания флешки, то тут есть несколько путей. Первый путь я не буду рассказывать, потому как он мне не понравился, а вот альтернативное решение этой проблемы выглядит намного лучше. Для этого нужно будет установить улучшенную версию dd, которая носит название dcfldd.</p>
<p><em> sudo apt-get install dcfldd </em> </p>
<p>Сотрудники лаборатории DoD Computer Forensics Laboratory (DCFL) внесли некоторые изменения в команду dd, тем самым улучшив ее и применяя в своих исследовательских работах. В итоге на свет появилась команда dcfldd, которая обеспечивает хеширование копируемых данных через некоторые промежутки времени для их аутентификации. Более того, dcfldd работает гораздо быстрее, чем dd. Теперь, если Вы хотите именно видеть прогресс копирования, либо создания образа, Вам нужно выполнить команду:</p>
<p><em> sudo dcfldd if=/dev/sdc of=image.iso </em> </p>
<p><em> sudo dd if=image.iso of=/dev/sdc </em> </p>
<p>Ну а если у Вас пустая флешка имеет тот же размер, что и носитель с нужными Вам данными, то можно просто скопировать все содержимое первой флешки сразу на вторую, минуя создание образа на жесткий диск. В этом случае команда будет следующей:</p>
<p><em> sudo dd if=/dev/sdb of=/dev/sdc </em> </p>
<p>По этой схеме можно копировать, создавать образы не только флешек, но и жестких дисков целиком, либо их разделов, CD/DVD дисков и т.д. Но об этом в следующей статье.</p>
<p>Выбор flash-накопителей остается только за вами. Можно записать загрузочный образ на обычные флешки, от известных брендов: Transcend, Kingston, Apacer, Silicon Power и других производителей, а можно немного отличиться и выбрать для себя ювелирные флешки со стразами, бриллиантами и другими украшениями. Хотя это конечно же будет выбор прекрасной половины человечества. Хотя на работу, записанного образа, внешний вид устройства не влияет абсолютно.</p>

</p>
<div><sjdiv id=

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