Старомодный (старой школы) способ будет использовать dd.
G-Man говорит: «Восстанови Монику»
1
Другим вариантом является использование, например, split -b[bytes] yourbigFile
Валентина Баджрами
3
Если вы пытаетесь скопировать файл с плохого диска, то - ddrescueили нет - вы, вероятно, ошибаетесь. Поскольку файл зависит от файловой системы, и поскольку файл, скорее всего, не является смежным, выполнение операций чтения для получения его с неисправного устройства почти наверняка потребует большего количества обращений к диску, чем вы можете себе позволить. Я бы изобразил блочное устройство на известном исправном устройстве как можно ближе к одному проходу, а затем максимально сосредоточил усилия по восстановлению на смонтированном файле образа.
mikeserv
Ответы:
14
Используйте ddrescue, который предназначен для этого типа сценария.
Он использует файл журнала для отслеживания частей данных, которые он успешно скопировал - или иным образом. В результате вы можете останавливать и перезапускать его столько раз, сколько необходимо, при условии сохранения файла журнала.
noerrorПозволяет попытаться продолжить , когда он сталкивается с ошибкой, и syncделает площадку не удалось блоки с нулями. Так что в идеале вы должны получить нужный файл, но с нулями для блоков, которые он не может прочитать. Тем не менее, это зависит от вашего жесткого диска, что он на самом деле будет делать. Некоторые жесткие диски просто закрываются, когда они видят ошибку, и тогда вы все равно не получите свои данные.
dd
.split -b[bytes] yourbigFile
ddrescue
или нет - вы, вероятно, ошибаетесь. Поскольку файл зависит от файловой системы, и поскольку файл, скорее всего, не является смежным, выполнение операций чтения для получения его с неисправного устройства почти наверняка потребует большего количества обращений к диску, чем вы можете себе позволить. Я бы изобразил блочное устройство на известном исправном устройстве как можно ближе к одному проходу, а затем максимально сосредоточил усилия по восстановлению на смонтированном файле образа.Ответы:
Используйте
ddrescue
, который предназначен для этого типа сценария.Он использует файл журнала для отслеживания частей данных, которые он успешно скопировал - или иным образом. В результате вы можете останавливать и перезапускать его столько раз, сколько необходимо, при условии сохранения файла журнала.
Смотрите Ddrescue - инструмент для восстановления данных
источник
Использование
dd
.Это может многое сделать, но вам нужна следующая форма:
Например, чтобы скопировать 2-й в 4-й килобайт из файла, вы должны сделать:
Учитывая особенности того, что вы пытаетесь сделать, вы также можете попробовать добавить
conv=sync,noerror
:noerror
Позволяет попытаться продолжить , когда он сталкивается с ошибкой, иsync
делает площадку не удалось блоки с нулями. Так что в идеале вы должны получить нужный файл, но с нулями для блоков, которые он не может прочитать. Тем не менее, это зависит от вашего жесткого диска, что он на самом деле будет делать. Некоторые жесткие диски просто закрываются, когда они видят ошибку, и тогда вы все равно не получите свои данные.источник