Может ли редкая опция ddrescue облегчить клонирование диска на диск меньшего назначения?

Можно ddrescue использоваться для клонирования диска с большего диска на меньший с помощью --sparse вариант?

Эта дискуссия обрисовывает в общих чертах шаги использования ddrescue клонировать диски и важность использования одного и того же размера, но мне любопытно, есть ли способ вывести эту функциональность из ddrescue в некотором смысле против того, чтобы полагаться на более надежные инструменты, такие как True Image.

1 ответ

Решение

Краткий общий ответ: нет.

--sparse опция записывает разреженный файл (изображение) в файловую систему, которая поддерживает эту функцию. Из Википедии:

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

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

Я часто использую разреженные файлы в качестве изображений, в основном с dd, Это правда, вы можете сэкономить место и оптимизировать для этого (см. Мой ответ на другой вопрос; обратите внимание, что если вы используете ddrescue поскольку вы подозреваете, что ваш диск неисправен, или вы занимаетесь экспертизой или восстановлением данных, вам не следует "оптимизировать" его таким образом). Также верно, что разреженное изображение может быть достаточно маленьким, чтобы его можно было сохранить даже на существенно меньшем разделе, но это не клонирование; это просто сохранение большого файла умным способом.

Разреженный файл, который существует внутри файловой системы на диске, может быть правильным способом хранения данных, поскольку вы можете монтировать разделы и работать с ними (по крайней мере, в Linux Windows кажется не слишком умной; некоторые полезные инструменты: kpartx, mount -o offset=…). Тем не менее, ни файл, ни диск, на котором он находится, не могут заменить ваш исходный диск в BIOS/UEFI - я имею в виду, что вы не можете загружаться с него и запускать операционную систему, которая была на исходном диске (я полагаю, если не с виртуализацией). Для загрузки вам нужно по-настоящему клонировать одно устройство на другое. В этом случае нет уровня файловой системы, который понимает разреженные файлы, поэтому вам нужно, чтобы целевой диск был как минимум таким же большим, как исходный диск. (Удивительно, но даже больший диск может вызвать некоторые проблемы: вторичная таблица разделов GUID должна быть в самом конце; простое клонирование на диск большего размера приведет к неправильному положению.)

Вкратце: если вам нужно клонировать, чтобы заменить один диск на другой и загрузиться с последнего или использовать с ним Windows - тогда концепция "разреженного файла" вам не поможет. С другой стороны, если вы хотите заархивировать данные, метаданные, таблицу разделов, MBR, все вместе, тогда создание разреженного файла - это путь. Разреженный файл также будет хорошей идеей в качестве временного хранилища, если позже вы планируете косвенно клонировать его на достаточно большой диск.

Чтобы разместить все ваши данные на меньшем диске, который заменит исходный, вам нужен инструмент, который понимает разделы и файловые системы, с возможностью их сжатия. (Строго говоря, это тоже не будет клонированием.) ddrescue это не такой инструмент.


Два сценария, где ddrescue или же dd может успешно скопировать данные на меньший диск:

  • В конце исходного диска есть неразмеченное пространство, поэтому все разделы вписываются в цель.
  • Некоторые разделы (не относящиеся к процессу загрузки, если они есть) не подойдут, но вы все равно планируете удалить их (удалить из таблицы разделов) с целевого диска.

Ни один из этих сценариев не имеет ничего общего с разреженными файлами.

Другие вопросы по тегам