В настоящее время дискеты являются староможными носителями для хранения/переноса данных. Хотя есть еше несколько случаев, когда вам необходимо их использовать, когда у вас нет других съёмных носителей информации, или когда вам нужно использовать то, что вы на них сохранили, на любом другом компьютере.
В этом разделе будет описано, как использовать дискеты во FreeBSD, то есть как их форматировать и копировать/восстанавливать данные с них. Но... на самом деле я написал это для того, чтобы помочь вам создать дискеты фиксированного размера.
Доступ к дискетам (как и к любым другим устроствам) осуществляется через файлы в каталоге /dev. Для непосредственного доступа к дискете вы можете использовать /dev/rfdX, где X означает номер привода, обычно это 0. Когда диск форматирован, вы можете использовать /dev/fdX, или любое другое устройство с именем /dev/fdXY, где Y означает букву. Это всё одно и то же.
Другими важными устройствами являются /dev/fdX.size, где size является размером дискеты в килобайтах. Эти устройства используются во время низкоуровневого форматирования для задания размера диска.
Иногда вам придётся создавать (в том числе повторно) эти устройства в каталоге /dev. Для этого вы можете вызвать:
# cd /dev && ./MAKEDEV "fd*"
Перед тем, как использовать дискету, её нужно отформатировать на низком уровне. Обычно это делается производителем, но вам может потребоваться выполнить это самим для проверки целостности носителя или достижения большей ёмкости диска.
Для форматирования дискеты на низком уровне, вам нужно воспользоваться утилитой fdformat. Она воспринимает в качестве параметра имя устройства. Мы будем использовать те самые устройства /dev/fdX.size, которые позволяют нам форматировать дискету объёмом, соответствующим её реальному размеру или явно его задавать. Так что вы вставляете новый 3.5-дюймовый диск в дисковод и выполняете:
# /usr/sbin/fdformat /dev/rfd0.1440
Это займёт некоторое время... При этом вы должны увидеть все дисковые ошибки (это может помочь вам определить, какие диски хороши, а какие являются запорченными).
Для явного задания размера дискеты, мы будем использовать другие устройства из /dev. Возьмём тот же самый диск и выполним:
# /usr/sbin/fdformat /dev/rfd0.1720
Это займёт несколько больше времени, чем раньше (работа с дисками при явном задании их размера идёт медленнее). Когда это будет закончено, вы получите дискету объёмом в 1720kb, но пока вы не будете замечать никакой разницы. Вы можете использовать другие размеры дисков, которые сможете найти в /dev, но самым стабильным/совместимым для 3.5-дюймовых дисков является 1720kb.
После низкоуровневого форматирования диска вам нужно поместить на него метку диска. Эта метка будет потом разрушена, но она будет нужна системе для определения размера диска и его характеристик.
Новая метка диска будет касаться диска в целом, и будет содержать полную информацию о параметрах обычной дискеты или дискеты с явно заданным размером. Теперь взгляните на /etc/disktab; вы обнаружите значения характеристик всех типов дискет.
Сейчас вы можете запустить disklabel примерно так:
# /sbin/disklabel -B -r -w /dev/rfd0 fdsize
Замените fdsize на fd1440, fd1720 или какой-либо другой размер, который захотите. Последнее поле указывает disklabel, какую запись нужно использовать из /etc/disktab.
Теперь ваша дискета готова к высокоуровневому форматированию. При этом на неё будет помещаться новая файловая система, которая позволит FreeBSD читать и записывать информацию на диск. После создания новой файловой системы метка диска уничтожается, так что если вы захотите переформатировать диск, вам придётся создавать метку диска повторно.
Теперь вы можете выбрать, какую файловую систему использовать с дискетой. Вы можете использовать UFS или FAT, хотя UFS не очень подходит для дискет. Выберите FAT, которая хороша для дискет.
Для размещения новой файловой системы на дискете выполните следующее:
# /sbin/newfs_msdos /dev/fd0
Так как ранее мы создали метку диска, то newfs сможет получить параметры диска и создать новую файловую систему. И теперь ваш диск готов к работе...
У вас есть два способа использовать дискету. Вы можете смонтировать диск командой mount_msdos или при помощи mtools. Mtools является великолепным пакетом, но его нужно устанавливать из системы портов.
Попробуйте его; выполните команду mdir. Если вы явно задавали размер диска, вы заметите его дополнительный размер!
Последнее замечание о дисках с явно задаваемым размером: они совместимы практически со всеми операционными системами без нужды в дополнительных утилитах для чтения и записи на них. Системы от Microsoft будут распознавать их без проблем. Но имейте в виду, что иногда сам дисковод не сможет прочесть их (это случается с очень старыми устройствами).