Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

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

Полигон-2 »   Технический флейм »   Чтение дискет нестандартных форматов (Linux)
RSS

Чтение дискет нестандартных форматов (Linux)

<<Назад  Вперед>> Печать
 
shattered
Advanced Member


Всего сообщений: 953
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
17 фев. 2008
Предыстория: в московском клубе скопилось много дискет, в основном 5", но есть и 3". Почти все 5" дискеты — обычных форматов (360/720/1.2/1.44 + FAT12), но много и других. Хотелось быстро рассортировать их, чтобы затем снять образы с (возможно, ценных) дискет. Решили попробовать для этой цели Linux (Ubuntu 10.04).

Сортировка удалась, теперь остается только прочесть их :-)

Все это проверено на Ubuntu Server версии 10.10 (ядро 2.6.35). В 10.04 (ядро 2.6.32) были какие-то чудеса с автоопределением нестандартных форматов и просто их чтением — дискету удавалось прочесть через fdrawcmd, но dd всегда давал I/O error (а ядро выдавало весьма странные номера секторов и блоков в ошибках вида "end_request: ...")

1. Нужно сразу поставить fdutils, в них floppycontrol, superformat и другие. Их конфиги: /etc/mediaprm (много готовых описаний форматов), /etc/driveprm (тонкая настройка на конкретный флопповод), /etc/fdprm (для setfdprm).

/etc/driveprm нужно создать руками и записать в него результат измерений floppymeter. для этого потребуется одна бросовая дискета. измерения надо повторять при замене флопповода!

2. Полезно выключить block readahead ("blockdev --setra 1") — если ковыряемся в дискете командой dd count=1.

3. Если происходит странное, то можно попробовать reset: "floppycontrol --resetnow 2", если не помогает — выгрузить модуль и загрузить его заново.

Если физический формат дискеты неизвестен:
* можно попробовать определить его вручную, с помощью fdrawcmd, по инструкции.
* dskid из комплекта libdsk — почти то, что надо, но он умеет определять только известные ему форматы (втч. логические). т.е. даже если он сумел определить физический формат, то не сообщает об этом, а сразу пытается идти дальше и в результате мы видим невразумительную ошибку "Bad format".
* если ничего не помогает — возможно, формат не MFM, а FM (ДВК MX:), GCR (Apple Disk II, CBM 1541...), или же диск просто не форматирован.

Если мы уже знаем формат, то драйвер floppy можно обучить работать с ним. Документация (info fdutils) рекомендует делать нечто подобное (т.е. использовать minor number одного из предопределенных форматов):
[q]
mknod /dev/fd0cbm1581 b 2 80
chmod 666 /dev/fd0cbm1581
setfdprm /dev/fd0cbm1581 DD DS sect=10 cyl=80 ssize=512 fmt_gap=35 gap=12 swapsides
[/q]
(Лучше сразу описать формат в /etc/mediaprm, удобнее будет пользоваться setfdprm и superformat.)

Далее, чтобы снять посекторную копию, потребуется либо банальный dd (если дискета целая), либо safecopy и/или dd_rescue (если частично битая).
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
shattered Драйвер флоппи под Линух действительно очень хороший. Если может прочитать - прочитает.

Вот была еще тема:

topic/3000
<<Назад  Вперед>> Печать
Полигон-2 »   Технический флейм »   Чтение дискет нестандартных форматов (Linux)
RSS

0 посетителей просмотрели эту тему за последние 15 минут
В том числе: 0 гостей, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS