3

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

Эта проблема

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

  • Поскольку целью являлась страховка системы как есть, резервная копия должна была быть "нетронутой" информацией до любых изменений, которые могли бы что-либо изменить или привнести какие-либо новые риски.

  • Средство сжатия разделов Windows заранее сообщит вам, насколько сильно оно сократит раздел. Я хотел изображение только той части раздела, которая осталась бы после усадки.

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

Концепция решения

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

Идея:

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

Казалось бы, это сырье для расчета параметров dd . Соединение частей - это то, чего я раньше не делал. Итак, вопрос :

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

Предостережение

Определение и копирование нужного раздела раздела из чистого металла выглядит так, как будто это должно быть просто. Однако, один момент, который неясен, связан с тем, привязана ли NTFS MFT к исходному размеру раздела, так что восстановление его в уменьшенном разделе приведет к его повреждению, по крайней мере, за пределами возможности чего-то вроде chkdsk восстановить.

Цель вопроса

Конечной целью является создание частичной резервной копии образа раздела Windows, как описано. Эта проблема никогда не привлекала решения в первоначальном вопросе, поэтому этот вопрос призван предложить семя потенциального подхода. Однако моя концепция может не сработать. Таким образом, в то время как решение dd находится в центре внимания этого вопроса, я не исключаю альтернативного решения, использующего встроенные или общедоступные бесплатные инструменты. Таким образом, успешный ответ может быть:

  • Работающее решение на основе dd
  • Авторитетное и окончательное объяснение того, почему решение на основе dd не может работать (или, по крайней мере, нельзя доверять надежной работе)
  • Альтернативное решение, которое решает поставленные задачи.

добавление

Ответ Камиля Мачоровского указывает на еще один вопрос:« Клонировать только используемое место на жестком диске», это довольно похоже, но я не верю, что это дубликат. Некоторые ключевые отличия:

  • Этот вопрос стремится клонировать только использованное пространство. Этот стремится клонировать определенный раздел раздела.
  • Этот вопрос не имеет особых ограничений на получение результата. Это требует, чтобы изображение было в первозданном текущем состоянии, без каких-либо изменений или риска для содержимого, что исключает любой тип "подготовки".
  • Этот вопрос касается всего диска и файловой системы Linux. Этот раздел о разделе и NTFS.

1 ответ1

2

Я могу сказать, что это проблема XY и реальный вопрос: как клонировать только используемое пространство с жесткого диска (или раздела)? Я не хочу указывать на другой ответ без объяснения, почему он должен быть лучше, чем предложенная вами идея; так вот оно:

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

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

Много раз я делал что-то похожее на то, чего вы хотите достичь, в основном с NTFS. Мой способ работает независимо от того, где в файловой системе находятся свободные фрагменты. В принципе:

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

Это может занять много времени. Убедитесь, что файловая система исправна. Также не делайте этого, если вы подозреваете, что диск неисправен.

Вы можете найти более подробную информацию в моем ответе на уже упомянутый вопрос. Важным отличием является то, что вы будете читать свой единственный раздел с помощью dd , а не весь диск.

К сожалению, такое изображение не может быть восстановлено в сокращенном разделе. Изображение будет полезно, если процесс сжатия завершится неудачно и вы потеряете исходные файлы. Я думаю, что вам нужен инструмент, который может создавать резервные копии файлов (и метаданных внутри файловой системы), чтобы иметь возможность восстановить на меньший раздел. Ну, dd не такой инструмент.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .