3

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

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

1 ответ1

3

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

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

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

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

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

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

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

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


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

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

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

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