Нашёл интересный набор программ (ddrescue). У неё, помимо полезных функций самой программы, есть очень подробно и грамотно расписанный мануал (все бы так писали!, https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html).
При описании опции -D (она же --odirect), указано, что «Some OSs have a bug that prevents them from detecting write errors properly (or at all) on some devices if direct disc access is not used for outfile. »
У меня вопросы.
Вопрос № 1. В каких дистрибутивах ОС, основанных на ядре Линукса, такой упомянутый баг существует?
Я ради эксперимента решил потестировать старые дискеты (да-да, те самые дискеты для FDD 3,5"), благо на материнской плате есть такой разъём и сохранился флопарь.
Прочитал образ с дискеты с помощью dd успешно. Все 1440 КиБ (2880 секторов по 512 байт) видны. Значит флопарь вроде бы ещё жив. Но... при попытке записать тем же dd образ загрузочной дискеты от FreeDOS 1.0, флопарь зависает и с ним же туда уходит процесс. Лампочка на приводе горит, флопарь спит, нету звуков работы головки. Крутится ли диск, я не могу сказать, его не слышно вроде.
Насколько я понимаю, процесс висящий в списке, имеет состояние D, это непрерываемый процесс ядра если я правильно понял, да? Он вешает систему во время выключения/перезагрузки (бесконечное ожидание завершения, которого так и не наступает).
Вопрос № 2. Это тот самый упомянутый в мануале ddrescue баг? Или что это?
Попробовал записать образ дискеты с помощью ddrescue. На позиции 39936 Байт утилита зависла. Точно так же как и зависал dd. Вот жесть.
Вопрос № 3. Как такое может быть? Читает 100% правильно, а при записи висяк. Куда копать?
P. S.
В ХРюше записал образ на дискету с помощью rawritewin с пол тыка. Вот это чудеса механизации. Правда, прочитал этот образ с трудом. Первая попытка оборвалась на ошибке хэш-суммы CRC примерно на 86% чтения. Вторая попытка начала усиленно скрежетать головками примерно на 91% дискеты, со скрипом но прочитал со второй попытки. Сверил SHA-1 и MD5 исходного образа и прочтённого после записи — совпадают. Уря.
Прочитал эту дискету в Дебиане. Так же, только со второй попытки. Видимо конечные дорожки скоро умрут...
Пойду попробую записать и проверить в FreeDOS.
Что же получается... линукс разучился писать дискеты. Как так? Где же хвалёная надёжность Дебиана?... Современные ОС даже элементарные операции делают с трудом...
Заранее, благодарю.