Как избежать повреждения архивов ISO?

Так возникла проблема, когда был поврежден ISO 16 ГБ (скорее всего, моя собственная ошибка с использованием стандартного диалогового окна копирования Windows вместо правильного инструмента копирования, такого как robocopy с проверкой robocopy ).

Мне потребовалось несколько часов, но мне удалось восстановить ISO (в основном я перестроил поврежденные части и перекомпилировал их). А именно, некоторые .rar архивы внутри него были нечитабельны, но сам ISO был доступен для чтения.

Поэтому мне интересно, как я могу еще больше защитить что-то подобное от повторения? Очевидно, правильный инструмент копирования, но, возможно, что-то еще? Возможно, что он установлен как «только для чтения», я мог бы вообще не перемещать эти файлы, и если мне нужно получить к ним доступ, это будет только для открытия / извлечения.

Большие операции копирования файлов могут вызывать скрытые аппаратные сбои, особенно в исходных и целевых дисках, но действительно в любой точке передачи (как указал Фоши). Проблема особенно острая, когда вы перемещаете архивы в отличие от отдельных файлов – несколько неправильных бит в неправильном месте могут оставить вас с unmountable iso или unopenable rar. Несмотря на это, архивы – отличный выбор для передачи файлов, так как легко проверить, что вы сделали подлинную копию.

Процесс заключается в следующем:
1) Создайте хэш MD5 исходного архива,
2) Выполните копию,
3) Создайте хеш MD5 скопированного архива,
4) Сравните результаты.

Любая разница в двух архивах приведет к неудачному совпадению хэшей и предупреждает вас о плохой копии. Под окнами вы можете использовать WinMD5Free .

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

A) Запуск memtest из загрузочного CD-диска linux (или Windows 7 имеет нечто похожее) покажет проблемы с вашим баром (они, как правило, сами узнают через BSOD, но это не мешает проверить).

B) Дисковая утилита, такая как MHDD или Spinrite, может восстановить исходный диск, переместив данные с плохих в хорошие сектора, повторно попробуйте прочитать, пока хорошая копия не будет сделана даже из довольно поврежденных секторов. Плохие сектора затем помечены как непригодные для использования. Запустите те же инструменты на целевом диске, чтобы очистить там плохие секторы. (Не используйте chkdsk (встроенная утилита Windows). Несмотря на то, что исправление ошибок в простой файловой системе подходит, это приведет к довольно ужасающему повреждению ваших данных, если ваш накопитель имеет множество плохих секторов и не оставляет вам ничего, кроме кучи бесполезных .chk в качестве компенсации).

C) Измените соединительные кабели.

Если что-то повреждается при передаче, которое не имеет никакого отношения к файловому формату, и я бы проверял оба устройства, а также любой носитель, который он передавал (кабель USB? SATA?)

Чтобы убедиться, что это не повторится, у вас есть много вариантов. Robocopy будет хорошим и эффективным методом, поскольку отказ не потребует перезапуска, но есть также «Копирование Windows», как TeraCopy, которые делают работу лучше и, возможно, стоит переключиться только потому, что. Если вы абсолютно не потеряете этот файл, вы можете попробовать поместить его в разделенный архив rar с избыточными фрагментами, чтобы его можно было перестроить даже с потерей целостности данных в некоторые из архивов (хотя это больше данных для передачи, что может не звучать Великий). Установка бита только для чтения не поможет, поскольку файл не записывается, по сути, он просто не написан прямо на другом конце.

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

Храните файлы внутри файла, предназначенного для архивирования, например, RAR-файл с записью восстановления.

  • Каков самый простой стандарт, способный создать Segfault в C?
  • Давайте будем гением компьютера.