Linux: клонировать диск с операционной системой, без пустого пространства, что позволяет восстановить данные позже
У меня есть SSD с ОС Linux, который я сейчас не использую. SSD обычно находится на моем настольном компьютере, но я не буду использовать его некоторое время.
Я хотел бы использовать SSD в моем ноутбуке некоторое время. Так как они довольно дорогие, я не хочу покупать другую, пока у меня есть очень хорошая.
Я думал об использовании dd
клонировать диск, чтобы я мог восстановить его в будущем, если мне нужно, чтобы моя настольная система снова заработала. Однако его размер составляет 240 ГБ, но в настоящее время используется только 5 ГБ, поэтому в идеале я хотел бы иметь возможность клонировать его без использования всего этого пространства.
Было бы это возможно, если бы я сжал выходное ISO-изображение?
Могу ли я просто "скопировать" файлы, которые мне понадобятся позже (включая скрытые?), С помощью rsync? Это будет всего ~ 5 ГБ - но смогу ли я правильно восстановить эти файлы? например; Может потребоваться сохранить разрешения при этом, чтобы предотвратить проблемы при восстановлении файлов на SSD?
Есть ли лучший метод?
ОС является либо Debian/ Ubuntu.
1 ответ
Вам просто нужно сохранить файлы, свободное место не имеет значения (если вы не хотите восстановить его файлы позже), поэтому dd
Подобный инструмент будет начинаться с 235 ГБ (240 ГБ минус 5 ГБ) слишком много. Вместо того, чтобы тратить время и усилия и ограниченное время записи SSD, пытаясь заполнить все пустое пространство нулями, просто сделайте резервную копию 5 ГБ файлов.
rsync
И его --archive
флаг был бы хорош.
Для резервного копирования еще меньшего размера используйте образ squashfs. Это то, что использует большинство живых Linux-ISO. Запуск из другой работающей системы /ISO также позволит избежать каких-либо временных / используемых / заблокированных файлов. После монтажа (скажем, /mnt
) в основном это:
mksquashfs /mnt backup.squashfs
Вы можете использовать, вероятно, меньшее и медленное сжатие xz с:
mksquashfs /mnt backup.squashfs -comp xz -b 1048576
Затем просто смонтируйте и скопируйте файлы обратно, когда будете готовы. Делает хорошее общее резервное копирование, так как это произвольный доступ - вам не нужно сканировать весь.tar.xz или
Если вы перезаписываете загрузочный сектор (и GRUB), вы можете также сохранить его копию. Для MBR это только первые 512 байт, поэтому dd
хватит его в файл с именем MBR.dd
:
dd if=/dev/sda of=MBR.dd bs=512 count=1
GPT может использовать sgdisk
( ref answer on U & L) вроде:
sgdisk --backup=<file> <device>
Для восстановления резервной копии используйте:
sgdisk --load-backup=<file> <device>
Но игнорирование таблицы разделов также хорошо, у вас будет возможность создавать и восстанавливать разделы гораздо меньшего размера (используя только 5 ГБ из 240 ГБ), а также просто восстановить GRUB с живым ISO.