Я использую dd
создать изображение моего раздела начальной загрузки на Ubuntu 14.04. Это - мой первый раз, делая это.
В проверке использования на моем диске я использовал df -h
. Вы будете видеть что мой /dev/sda1
раздел 5.8G в размере...
bash$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 220G 5.8G 203G 3% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.9G 4.0K 3.9G 1% /dev
tmpfs 797M 976K 796M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 30M 3.9G 1% /run/shm
none 100M 28K 100M 1% /run/user
/dev/sda5 239G 32K 239G 1% /windows
Я пытался создать в изображении и сохранить его в /tmp
со следующей командой:
bash$ sudo dd if=/dev/sda1 of=/tmp/ubuntu.image
Это начало создавать изображение в моем /tmp
dir, но когда я проверил его прогресс, изображение, продолжал расти до хорошо по 30G, прежде чем я отменил его.
Это поднимает несколько вопросов в моем уме:
/dev/sda1 220G 5.8G 203G 3% /
/dev/sda1
220 ГБ в размере и использовали 5,8 ГБ. Так:
dd
делает копию байта для байта, таким образом, общий размер вопросов раздела, не, что находится в разделе. можно сжать получающееся изображение с помощью gzip
или xz
:
sudo dd if=/dev/sda1 | xz > /tmp/ubuntu.image
dd
+ сжатие является самым простым путем. В противном случае рассмотрите что-то как partimage
. Хорошо... у Вас есть хорошие ответы о размере dd
файл (который, если несжатый является тем же размером раздела).
, Но я вижу другую проблему здесь: Вы имеете:
bash$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 220G 5.8G 203G 3% /
[...]
... и /tmp
не смонтирован в другом месте, таким образом, это находится на /dev/sda1
, и /dev/sda1
смонтирован.
Поэтому, если Вы делаете:
sudo dd if=/dev/sda1 of=/tmp/ubuntu.image
Вы копируете изображение /dev/sda1
раздел в файловой системе на том же разделе ---, который вызовет:
для заполнения раздела прежде команда будет иметь шанс закончиться (думайте об этом), если сжатие на лету и быть удачным, но
для записи файла с абсолютно непоследовательной копией того раздела; смонтированные разделы изменяются все время в многозадачной операционной системе.
Как показывает опыт, Вы dd
раздел только, когда это не смонтировано .
, Кроме того, учитывая, что раздел /
раздел Вашей системы, и что Вы выполняете команду как корень, Вы полностью заполните свой корневой раздел (корень, зарезервированное пространство будет израсходовано), и Вы рискуете должны загружать со спасательным диском к восстановлению путаницу...
Это - мое понимание, которое dd
делает точный клон диска, включая вакуум. Если Ваш диск составит 220 ГБ, [то 112] сделает копию, которая составляет 220 ГБ, независимо от того, сколько из того пространства используется.
Этот ответ на ServerFault рекомендует передать по каналу до gzip
, который должен быть довольно эффективным способом сжать неиспользуемое место.
dd if=/dev/sda1 | gzip -c > /tmp/ubuntu.image
можно также хотеть дефрагментироваться сначала и записать нули в вакуум, оба из которых могли теоретически сделать сжатие более эффективным.