Меню

Чем клонировать флешку с linux

Как клонировать флеш(Flash), CF(Compact Flash) карту или винчестер с помощью Linux комманды dd

(способ подходит как для любых флеш карт так и для USB стиков или винчестеров, везде где требуется 1:1 RAW копирование/клонирование)

Следущая ситуация: есть CF(Compact Flash) карта на 8Гб с неизвестной файловой системой и ее надо скопировать, а ещё лучше клонироват на другую CF карту такого же обьёма. При подключении через USB Card Reader под Windows — показывается что карта пуста и предлагается её отформатировать(чего делать конечно нельзя, мы то знаем что там есть данные).

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

Правильный и более «чистый» способ сделать такую задачу — это использовать Linux и комманду «dd«.

Для этого не нужно инсталлировать сам Linux. Достаточно скачать ISO дистрибутив Ubuntu Linux(http://www.ubuntu.com/download/ubuntu/download), прожечь его на CD, стартовать компьютер с него и выбрать далее «Live System» — система стартует прямо с CD.

Подключаем через внешний USB Reader нашу CF карту. В принципе можно уже начинать работу с «dd«, но мы не знаем имя нашей подключенной через USB карты(диска). Идем в «Ubuntu Software Manager»(интернет должен быть, обычно Ubuntu сразу распознаёт все сетевые карты и соединения) и инсталлируем «Mount Manager». Запускаем его и видим все наши диски включая CF карту. Допустим ее имя — /dev/sca1

Теперь запускаем терминал.

Важная информация:
— две карты одной ёмкости не равны на самом деле. Мой опыт: только две карты одного производителя, да и то не всегда одинаковы по ёмкости. Иногда различие в несколко байт, а у разных производителей, хоть и размер например 8Гб указан, может отличаться значительно.
— клонировать можно только или на диски/карты одной ёмкости или большей
— команда «dd» не делает никакого вывода во время работы, может показаться что всё зависло, но это не так.. клонирование 8Гб у меня заняло около 50 минут. В конце «dd» выдаёт «sammary» как прошло копирование/клонирование.

— Копируется все действительно 1:1, включая все BOOT сектора, MBR и так далее.

Последовательность действий такая:

1. делаем дамп данных с карты/диска на локальную плату:

sudo dd if=/dev/sda1 of=/home/myfolder/cf_card_image.dat bs=4096 conv=notrunc,noerro

if — название, имя карты/диска

of — путь на локальной плате и имя нашего «card image».

2. вставляем чистую карту или диск в USB reader

3. копируем данные из дампа обратно на карту/диск

sudo dd if=/home/myfolder/cf_card_image.dat of=/dev/sda1 bs=4096 conv=notrunc,noerro

Ну и все на этом. После завершения работы «dd» получаем две абсолютно одинаковые карточки.

Источник

Клонирование USB Flash с установленной системой.

Имеется сервер на Debian. Система установлена на USB флешку. Размер флешки 7,46GB (8GB). На ней разделы: /boot — 256MB, swap — 3GB, /(root) — 3GB. Оставшееся место (около 1G) не размечено.

Хочу сделать полную копию (вместе с MBR и GRUB’ом) этой флешки на случай отказа текущей. Взял вторую 8-ми гиговую флешку — а она чуть меньше по объему — 7,43GB. Clonezilla не захотела делать дубликат на флешку меньшего объема даже не смотря на то, что все разделы должны уместиться. Хотя на флешки большего объема делает без проблем.

Читайте также:  Portable applications on linux

Как лучше и проще сделать дубликат?

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

Как банальный вариант — dd наверное прокатит, конечно. Но копировать он точно будет дольше.

Я думал над вариантом:

Я бы архивировал все разделы в отдельные архивы. Места меньше занимает. Когда нужно восстановить на другую флешку — руками создал нужные разделы, установил grub и распаковал архивы. И по поводу отдельного /boot — не уверен, что он нужен. Да и swap тоже. Тогда всё сильно упрощается.

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

Источник

Как создать точную копию USB (загрузочная, стоит LINUX) на другой USB в ***.img?

Всех Приветствую. Суть проблемы такая. Имеется NAS QNAP, хочу сделать копию DOM. DOM — это по сути обычная загрузочная флешка на 10pin USB, которая вставляется сразу в MB)
на DOM имеется несколько разделов:
/dev/sda1 (boot)
/dev/sda2
/dev/sda3
/dev/sda4 (ext)
/dev/sda5
/dev/sda6
нужно создать на флешке /dev/sdb файл образ в формате *.img

пробовал clonezila, но она почему то не сохраняет в img (скорее всего что то не так делаю, level nix пока low=)

  • Вопрос задан 19 сент.
  • 162 просмотра

нужно создать на флешке /dev/sdb файл образ в формате *.img

пробовал clonezila, но она почему то не сохраняет в img

в данном случае img это просто приставка которая ни к чему не обязывает, можно хоть *.xxx писать

если вам нужно клонировать полностью диск sda на sdb, то загрузитесь с какого-нибудь linux liveUSB и выполните команду:

естественно перед этим убедившись что /dev/sda и /dev/sdb это действительно то что вам нужно, ну или выставьте нужные, посмотреть какие диски можно через команду
lsblk -o +MODEL
и еще, принимающая сторона, здесь /dev/sdb, должена быть больше или равна /dev/sda по объёму
если же вам нужен просто образ в виде файла, то

ну а уже сам файл name.img пишите на диск sdb предварительно его примонтировав

Через dd можно создать копию

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

Все операции надо выполнять от имени пользователя, которому даны подобные привилегии. В простейшем случае от root-а (Но аккуратно! dd не зря в шутку называют data destroyer, одно неловкое движение — и Вы отец!):
1. Подключайте оригинальную флешку с DOM в USB 3.0 (так будет всё быстрее, а если нет USB 3 , то в USB 2)
2. Смотрите как она определилась. Для этого воспользуйтесь командой
# fdisk -l
и
# lsblk
Вообще-то, достаточно и одной из них, но для надёжности выполните обе и убедитесь, что результат совпадает. К примеру, у меня на Ubuntu 20.04 LTS подключённая 8Гб флешка отобразилась так:
# fdisk -l
.
Диск /dev/sdb: 7,48 GiB, 8019509248 байт, 15663104 секторов
Disk model: Disk
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x0d4f1b4a

Читайте также:  Ускорить windows 10 20h2

Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип
/dev/sdb1 * 0 1722367 1722368 841M 0 Пустой
/dev/sdb2 232 3111 2880 1,4M ef EFI (FAT-12/16/32)
.
и
# lsblk
.
sdb 8:16 1 7,5G 0 disk
├─sdb1 8:17 1 841M 0 part /media/user17/SYSRCD603
└─sdb2 8:18 1 1,4M 0 part
.
Из обоих результатов я делаю вывод, что моя флешка получила имя в системе /dev/sdb
и из вывода lsblk я так же вижу, что раздел /dev/sdb1 примонтировался к /media/user17/SYSRCD603
3. Это нам ни к чему и я отмонтирую этот раздел командой
# umount /dev/sdb1
И Вам надо будет сделать так же с каждым разделом, который примонтируется куда-то. Так как на Вашей флешке аж 6 разделов, то теоретически они все могут примонтироваться и лучше их отмонтировать.
4. Подготавливаем место для сохранения файла образа, который будет создан.
Предварительно подумав куда мы его хотели бы сохранить. Не плохим вариантом будет примерно такой каталог:
/home/user_name/01_backup/MOD/
где user_name — это имя учётной записи под которой Вы работаете. Для понятности будем далее считать, что это имя user1
./01_backup/MOD/ — это подкаталоги, которые надо создать. Например, командой
mkdir -p /home/user1/01_backup/MOD/
или двумя последовательными командами
mkdir /home/user1/01_backup/
mkdir /home/user1/01_backup/MOD/
5. Делаем собственно необходимый нам образ оригинальной флешки MOD в файл пока на жёстком диске в созданном в П.4 каталоге
# dd if=/dev/sdX of=/home/user1/01_backup/MOD/mod.img
где sdX — это имя устройства флешки, которое мы определили в П.2 У меня это sdb
Моя команда будет выглядеть так:
# dd if=/dev/sdb of=/home/user1/01_backup/MOD/mod.img
У Вас это может быть sda или что-то другое, sdс например.
Команда dd выполняется «молча». И в зависимости от типа разъёма USB2 или USB3 и объёма флешки это может длится и даже час и более. Поэтому полезно использовать параметр progress
Тогда будет видно как движется процесс и движется ли он вообще, в таком варианте команда будет выглядеть так:
# dd if=/dev/sdb of=/home/user1/01_backup/MOD/mod.img status=progress

6. По окончании работы dd полезно «посмотреть» на полученный файл с точки зрения здравого смысла, а именно, его размер должен быть примерно равен объёму флешки. Это наталкивает на мысль, что полезно было бы его сжать, но это уже дело отдельной статьи.
7. Отключаем оригинальную флешку MOD
8. Подключаем флешку взятую для хранения файл образа и копируем на неё файл любым удобным способом. Помним, что накопители отформатированные в файловой системе FAT32 не могут хранить файл размером 4Гб и более.
Фух.

Источник

Чем клонировать флешку с linux

07 дек 2018, 22:34

. с клона загрузочной флешки загрузиться не удалось.

Соответственно два вопроса:
1. ЧЯДНТ?
1.1. Полувопрос не совсем в тему (но любопытно): По ссылке на которую я опирался (в «руководстве к действию) говорят, что bs зависит от кеша диска.
Так вот: Как узнать какой кеш у флешки (-ек), чтобы ускорить клонирование? 20 минут, кмк на 32 ГБ как-то долговато. вам так не кажется?

2. и может быть кто знает более простые способы склонировать флешку? (утилиты, программы, свои «маленькие хитрости»)

Также из близких по смыслу вариантов можно воспользоваться clonezill’ой. Но для текущей задачи (клонирование флешки) грузиться с livecd с клонзилой мне показалось сложноватым ходом.
4. Еще colonel , подкинул ссылку в которой предлагают использовать для подобных задач такие команды как cat image.iso > /dev/sdb или cp image.iso /dev/sdb . Там же обсуждаются плюсы и минусы этих вариантов.

Читайте также:  Ubuntu linux чем открыть

Спасибо также slant и WWolf помогавшим мне советами в чате.
Пожалуй, это все, что меня интересовало по этому вопросу.

клонирование флешки

07 дек 2018, 22:47

клонирование флешки

07 дек 2018, 23:41

клонирование флешки

08 дек 2018, 00:00

Может.
А еще может быть такая подлая штука, как тупой контроллер у второй (целевой) флешки.
Флешка может быть загрузочной (для BIOS) в двух режимах — как эмуляция fdd и как эмуляция hdd. Некоторые тупые контроллеры не позволяют одну (а в особо тяжелых случаях даже обе) эти возможности. Кстати, именно поэтому, иногда одной программой для записи образ записывается и работает, а другой — нет. Часть этих программ умеет проверять эти тонкости и на лету править загрузку.

А в случае uefi — там все проще и одновременно сложнее, т.к. от самой конкретной uefi может зависеть.

клонирование флешки

08 дек 2018, 00:18

по фигу, можно вообще не указывать, или напсать 4М, например. Это размер блока, который dd будет прожевывать за раз. Влияет на скорость и оптимальность работы, но не на результат записи.

quote=slant post_id=70760 time=1544216404 user_id=726]
А еще может быть такая подлая штука, как тупой контроллер у второй (целевой) флешки.
[/quote]
Тоже может.
Короче, я бы проделал для начала

дождавшись окончания записи!

И, кстати, может оказаться еще один прикол — целевая флешка фейковая. Скажем, на 16 или даже 8 гигов, а не на 32.

клонирование флешки

08 дек 2018, 00:36

Короче, я бы проделал для начала

Код: Выделить всё

sudo dd if=/dev/sdb of=/dev/sdc status=progress oflag=sync

дождавшись окончания записи!

клонирование флешки

08 дек 2018, 00:57

О! Хороший вопрос.
Особенно приятно отсутствие буквы «ы» в слове «попробовать».

С тупейшей программой копирования файлов dd может конкурировать только тупейшая программа копирования файлов cp Сокращение от аглицкого слова copy (копировать куда-нибудь), а не от русского срать (куда-нибудь). Хотя.

Вам нужно понять, что в юникс-подобных системах «всё есть файл». (Как всегда в сложных системах, есть нюансы, но не в этом простом случае.)

В данном случае команда dd тупейшим образом копирует посекторно файл (инпут файл, if) if=/dev/sdb в аутпут файл of=/dev/sdc .
Файл /dev/sdb — это исходная флешка.
Файл /dev/sdc — это целевая флешка.

Если на флешке есть запись о разделе №1, линукс будет видеть, кроме /dev/sdc (флешка целиком) еще и отдельно раздел на этой флешке — /dev/sdc1 — в виде отдельного самостоятельного файла.
А если скомандовать

программа копирования будет писать содержимое ВСЕЙ флешки №1 в ПЕРВЫЙ РАЗДЕЛ размеченного пространства на флешке №2.
И саму разметку разделов не затронет.

То же самое (копирование содержимого блочного устройства, содержимого раздела на блочном устройстве, куда угодно, на другое блочное устройство, в стандартный поток, на вход другой программы, в файл на диске, на ленточном хранилище) — с выполнением разнообразных сопутствующих кунштюков, если хозяин велит — может делать и команда cp — а какая лучше — вопрос религиозный. Обе лучше.

Такой вот юникс, это вам не тупорылая винда с ее «диском цэ».

Источник

Adblock
detector