Дублировать почти пустой диск?

Дублировать почти пустой диск?

Какой самый быстрый способ в Linux, используя бесплатные инструменты, скопировать почти весь диск на другой идентичный диск? В данном случае это SD-карты, но я думаю, то же самое применимо к USB-накопителям, HDD и т. д.

У меня есть диск на 512 МБ, на котором всего около 10 МБ данных. Я хотел бы иметь возможность сделать точный, байт в байт дубликат, как вы бы получили, если бы вы просто сделали dd if=/dev/source of=/dev/dest, однако, я хотел бы что-то, что знает о файловой системе на исходном диске достаточно, чтобы знать, что ему нужно скопировать только очень небольшую часть диска.

Да, я знаю, что я мог бы объединить sfdisk, mkfsи tar. Но на самом деле я ищу однострочник для создания изображения и еще один однострочник для записи его на диск.

РЕДАКТИРОВАТЬ:Мне нужен инструмент, работающий с FAT16. ntfsclone, похоже, делает примерно то, что я ищу, за исключением того, что он работает только с NTFS.

ПРАВКА №2: partimageвыглядит многообещающе, поскольку он невероятно быстр, но не справляется с клонированием таблицы разделов.

решение1

это зависит от вашей файловой системы и ее размера, а также от того, находятся ли ваши данные в начале диска. поскольку вы можете использовать bs и count (возможно, также skip) в dd только для дублирования части данных, если вы знаете, где находятся данные. затем вам придется изменить размер вашей файловой системы, если результирующая файловая система будет отличаться.

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

есть ли смысл это делать? rsync или cpio должны работать лучше, если вы просто хотите дублировать данные.

Связанный контент