# 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 user@host «dd of=/home/user/DEVICE.img».
Когда-то читал исследование, согласно которому очень большая доля жестких дисков на барахолке подвергается восстановлению данных без привлечения чего-то специализированного, и содержит конфиденциальную информацию. Чтобы на носителе ничего нельзя было восстановить — можно забить его нулями:
# dd if=/dev/zero of=/dev/DEVICE
Думаю, понятно на что нужно заменить DEVICE. После проведения лекций по Linux, я очень тщательно стал следить за тем, что пишу.
Проверить можно тем же dd, но преобразовав данные в hex:
# dd if=/dev/sda | hexdump -C
Должны посыпаться нули.
________________________
ddrescue /dev/hda /dev/hdb mapfile – копировать все с HDA на HDB даже если диск биттый
___________
Клонировать флешку или записать образ.
dd if=/dev/sdX of=/dev/sdY
Где sdX – флешка с которой делаете копию (у вас сейчас похоже sdc), а sdY – куда делаете копию (у вас cdd).
Если перепутаете, то сотрёте всё с исходной флешки, потому можно сделать с промежуточным образом. Вставляем флешку с которой делаем копию и пишем:
Код: [Выделить]
sudo dd if=/dev/sdd of=image.dd bs=4096 conv=noerror
после окончания, вытаскиваем эту флешку, вставляем чистую, и
Код: [Выделить]
sudo dd if=image.dd of=/dev/sd(какая у вас будет буква)