4

При копировании / загрузке большого файла (3+ ГБ) контрольные символы впоследствии не совпадают.

Методы попытки:

  • Соединительный кабель для передачи данных между двумя компьютерами. (исходная сумма была в порядке)
  • Скачать с основного сайта.
  • Копировать из другого раздела. (оригинальная сумма была в порядке)

Файл является ISO для ОС на основе Debian. (но это не единственный файл, у которого были проблемы ...)

Я использую Ubuntu 15.10 вместе с Mac OSX El Capitian, и у меня была эта проблема на обоих. Однако с Mac я в конечном итоге смог получить файл правильно.

Я запустил команду badblocks (на весь диск) и fsck.ext4 (только на разделе Ububntu) с live CD, и о проблемах не сообщалось. Более того, отчет SMARTS для накопителя сообщает, что с диском все в порядке.

Может ли это быть сбой диска, и могу ли я что-нибудь сделать, чтобы проверить целостность жесткого диска?

ОБНОВИТЬ:

Так что происходит еще одна интересная вещь ... Я побежал sha1sum один раз и получил:87004a6bea1ff1792f733f9048b3c43b7a2c66af Я просто побежал еще три раза и получил 6607f5a66aee980a8958bb99f9871158a852a319 91b8a6674b9a90ab07c151cedc203a2d9806193f и 076d303bbbce719edffd9ed821bc83c448d42bb4 Я не внес никаких изменений в этот файл ... Есть идеи?

ОБНОВЛЕНИЕ 2:

Я просто перезапустил свою систему, и сумма перестала "сдвигаться" ... Так что, похоже, я мог обрезать его в середине записи, даже если cp вернул ... Я смущен в этом пункте относительно того, почему это висит в буфере так долго. Кто-нибудь знает, что я могу сделать по этому поводу?

1 ответ1

3

Я предполагаю плохое ОЗУ - это может привести к небольшим ошибкам при копировании файлов и может быть очень прерывистым, если это только небольшая часть оперативной памяти, которая не всегда используется. Я ожидаю увидеть упоминание об ошибках чтения с диска в dmesg или /var /log /syslog.

Проверьте с помощью memtest на несколько проходов, когда компьютер «прогрелся». Я читал, что запускать его в течение 24 часов - это 100% надежный тест, но всего несколько минут обнаружат большие ошибки, а час должен быть хорошим.


Если файлы помещаются в ОЗУ, они могут считываться с диска только один раз, а последующие чтения - из дискового кэша в ОЗУ. Чтобы очистить / очистить кэш диска и попробовать другое чтение с диска, запустите:

sync; echo 3 | sudo tee /proc/sys/vm/drop_caches

Повтор 3 очищает все кэши, повтор 1 очищает только кэши страниц (дисковые кэши и другие кэши, я думаю), 2 освобождает восстанавливаемые объекты плиты (включая dentries и inode) - см. Документацию ядра для /proc /sys /vm /*

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