Почему dd создает огромный файл, когда я пытаюсь создать резервный образ диска?

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

Однако, когда я запустил

sudo dd if=/dev/sda4 of=~/backup.img

, я в итоге получил ошибку, что на моем диске не хватило места. Это было странно для меня, так как раздел довольно большой, и у меня только что установлена ​​новая версия Ubuntu вместе с несколькими (маленькими) программами.

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

sudo dd if=/dev/sda4 of=/media/Ye\ Olde\ Data/ubuntu\ reinstall\ backup/backup.img

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

Что происходит? Неужели в / media смонтированы другие разделы, и поэтому он рассматривает другие разделы как часть / dev / sda4? Неужели dd копирует весь раздел побайтно, игнорируя, какие байты на самом деле содержат файлы?

И в любом случае, как мне правильно сделать то, что я пытаюсь сделать?

О, и вот моя информация на диске, на случай, если она имеет значение:

sudo sfdisk -l /dev/sda

Disk /dev/sda: 62260 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+     12-     13-    102400    7  HPFS/NTFS/exFAT
/dev/sda2         12+  14602-  14590- 117187500    7  HPFS/NTFS/exFAT
/dev/sda3      29192+  62260-  33069- 265622493+   5  Extended
/dev/sda4      14602+  29191-  14590- 117193728   83  Linux
/dev/sda5      61228+  62260-   1032-   8287232   82  Linux swap / Solaris
/dev/sda6      29192+  61227   32036- 257329138+   7  HPFS/NTFS/exFAT
1
задан 24 April 2014 в 04:17

2 ответа

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

при сжатии файла результата Вы оставите много свободного места, тем не менее, учитывая, что пробел сожмется далеко очень хорошо (остерегайтесь, это будет в вычислительном отношении очень тяжелым). Можно даже сжать вывод dd на лету с чем-то на строке dd if=/dev/sdaX | gzip -c > compressed_file.gz.

действительно важный:

, Кроме того, Вы не можете (никогда) не делать dd на живом (смонтированном) разделе, зарегистрированные данные будут полностью непоследовательны и абсолютно не полезны для резервного копирования. Думайте об этом: блоки данных постоянно выделяются, перемещаются и удаляются; похож на то, чтобы делать фотографию со временем с большой выдержкой к движущейся цели.

Для копирования раздела с dd необходимо загрузиться от различного - живой USB или что бы то ни было.

, Что было бы, я делаю для решения проблемы под рукой (уведомление, только универсальная инструкция, потому что необходимо знать то, что Вы делаете)

Право преимущественной покупки покупает Фантом Norton или исследует опции с открытым исходным кодом: partimage и clonezilla (никогда не тестировал меня).

опция Second делают это вручную:

  1. создают дополнительный раздел для резервных копий, называют его/dev/sdX (или используют раздел общих данных, безотносительно).

  2. для резервного копирования:

    • начальная загрузка с живым usb
    • монтирует, что реальный корневой раздел в/, реальном
    • , монтирует, что дополнительный раздел в/, дополнительном
    • , делает большой tar на строке (cd /real && tar cvf /extra/mybck.tar.gz)
  3. для восстановления

    • , начальная загрузка с живым usb
    • монтирует, что реальный корневой раздел в/, реальном
    • , монтирует дополнительный раздел в/, дополнительном
    • восстановление, на строке (cd /real && tar xvpf /extra/mybck.tar.gz), остерегается p опция сохранить метаданные
    • chroot в/, реальном
    • личинка обновления или загрузчик, который Вы используете

, можно занять место tar с предпочтительным archiver, просто быть уверены, что это будет уважать владение/режим файлов. rsync стоит исследовать.

0
ответ дан 24 April 2014 в 04:17

DD, вероятно, не является правильным инструментом, чтобы сделать резервное копирование. Как сказанный Rmano, это делает прямую копию/dev/sda4 (вероятно, к/dev/sda4).

Его ответ является пятном на.

Выезд rsync для того, чтобы сделать резервные копии.

0
ответ дан 24 April 2014 в 04:17

Другие вопросы по тегам:

Похожие вопросы: