Этот вопрос связан содин из нескольких лет назад, где я искал способ сделать частичную резервную копию образа. На эту часть так и не ответили, так что это отдельный вопрос для нее.
Проблема
Я планировал уменьшить раздел Windows и хотел сначала сделать резервную копию образа, для страховки. Если бы потребовалось восстановление, резервную копию нужно было бы восстановить на сжатом разделе.
Поскольку целью было страхование системы в ее текущем состоянии, резервная копия должна была содержать «чистое» содержимое, до внесения каких-либо изменений, которые могли бы что-либо изменить или создать новые риски.
Инструмент сжатия разделов Windows заранее сообщает, насколько он сократит раздел. Мне нужно было изображение только той части раздела, которая останется после сжатия.
У меня была резервная копия на основе файлов, поэтому я не беспокоился о файлах, которые могли оказаться за пределами области сжатия и потенциально не попасть в резервную копию.
Концепция решения
Здравый смысл подсказывает, что эти требования не могут быть выполнены с помощью dd
. Однако, зная достаточно, чтобы быть опасным, есть подход, который, кажется, должен быть решением (я предполагаю, что dd
решение на основе ) будет выполнено из Linux).
Идея:
dd
имеет параметры, позволяющие указать начальное и конечное местоположение.- Любой инструмент управления разделами покажет, где на диске находится этот раздел.
- Инструмент сжатия раздела Windows отображает, насколько сильно он сожмет раздел Windows.
Это, кажется, сырой материал для расчета dd
параметров. Собирать части вместе — это то, чего я раньше не делал. Так чтовопросявляется:
- как определить
dd
параметры, отражающие сжатую часть раздела - команда
dd
для копирования соответствующей части на резервный диск - команда
dd
для восстановления этого образа в то же место на исходном диске
Предостережение
Определение и копирование нужного раздела раздела с голого железа выглядит как нечто простое. Однако неясно, привязан ли NTFS MFT к исходному размеру раздела, так что восстановление его на сжатом разделе приведет к его повреждению, по крайней мере, за пределами возможности чего-то вроде chkdsk
восстановления.
Вопрос Цель
Theконечная цельзаключается в создании частичной резервной копии образа раздела Windows, как описано. Эта проблема никогда не привлекала решения в исходном вопросе, поэтому этот вопрос призван предложить зерно потенциального подхода. Однако моя концепция может не сработать. Таким образом, хотя решение и dd
является фокусом этого вопроса, я бы не стал исключать альтернативное решение с использованием встроенных или общедоступных бесплатных инструментов. Таким образом, успешным ответом может быть:
- Рабочее
dd
решение - Авторитетное и окончательное объяснение того, почему
dd
решение на основе -не может работать (или, по крайней мере, нельзя быть уверенным в его надежной работе) - Альтернативное решение, которое достигает поставленных целей.
Приложение
Ответ Камила Мациоровски определяет еще один вопрос:Клонировать только используемое пространство на жестком диске, это довольно похоже, но я не думаю, что это дубликат. Некоторые ключевые различия:
- Тот вопрос пытается клонировать только используемое пространство. Этот вопрос пытается клонировать определенную часть раздела.
- Этот вопрос не имеет никаких особых ограничений для получения результата. Этот требует, чтобы изображение было в первозданном текущем состоянии, без изменения или риска для содержания, что исключает любой тип "подготовки".
- Тот вопрос касается целого диска и файловой системы Linux. Этот вопрос касается части раздела и NTFS.
решение1
Я могу сказать, что этопроблема XYи настоящий вопрос таков:Как клонировать только используемое пространство на жестком диске(или раздел)? Я не хочу указывать на другой ответ без объяснения, почему он должен быть лучше, чем ваша предложенная идея; поэтому вот он:
В общем, не гарантируется, что свободное пространство будет собираться в самом конце файловой системы, даже после дефрагментации. Я не знаю семейства NTFS и FAT достаточно хорошо, чтобы быть уверенным, но подозреваю, что могут быть некоторые структуры данных, которые занимают дальние сектора большой файловой системы, независимо от того, насколько она пуста.
Поэтому я скептически отношусь к идее сохранения только частичного образа. Возможно, есть файловые системы, которые это переживут, может быть, NTFS — одна из них — я не знаю.
Много раз я делал что-то похожее на то, чего вы хотите добиться, в основном с NTFS. Мой способ работает независимо от того, где в файловой системе находятся свободные куски. В основном:
- записывать нули в файл до тех пор, пока не останется места,
- синхронизация,
- удалить файл нулей,
umount
,- перенести изображение в разреженный или сжатый файл.
Это может занять много времени. Убедитесь заранее, что файловая система исправна. Также не делайте этого, если вы подозреваете, что диск неисправен.
Более подробную информацию вы можете найти вмой ответ на уже упомянутый вопрос. Важное отличие в том, что вы будете читать с помощью , только один раздел dd
, а не весь диск.
К сожалению, такой образ не может быть восстановлен на сжатый раздел. Образ будет полезен, если процесс сжатия не удастся и вы потеряете исходные файлы. Я думаю, вам нужен инструмент, который может делать резервные копии файлов (и метаданных внутри файловой системы), чтобы иметь возможность восстановить на меньший раздел. Ну, dd
такого инструмента нет.