vak: (Default)
[personal profile] vak
Какие версии MS-DOS умеют файловую систему FAT32 и длинные имена файлов? Чтобы без проблем файлами через SD карточку с линуксом обмениваться. Да почти никакие не умеют. Есть два варианта: неофициальный микрософтовский MS-DOS 7.1 и чуть менее неофициальный айбиэмовский PC DOS 7.1.

MS-DOS 7.1 (он же Win98) всем хорош, скачать его нетрудно, но он требует процессора не ниже i386. Что делает его непригодным для моей задачи - реплики XT-шки.

Остаётся PC DOS 7.1. Когда с середины 90-х Микрософт задвинул дос на дальнюю полку, IBM продолжила его развивать. Есть такой крутой чувак Вернон Брукс, он возглавил айбиэмовскую команду, и до 2003-го они это дело тащили. Добавили и поддержку больших дисков, и длинные имена файлов с FAT32. Видимо нужно кому-то было, может для встроенных применений. И всё продолжает работать на самом простом процессоре 8086 или 8088, к нашему удобству.

Где взять этот самый последний DOS от IBM версии 7.1? Бинарники доступны с официальных сайтов, но надо знать подход.

Есть такой IBM ServerGuide Toolkit. Скачать его можно с сайта Lenovo: ibm_sw_sgtk_1_3_07_anyos_anycpu.zip. Внутри имеются бинарники PC DOS 7.1. Покажу как сделать из них загружаемый флопик.
wget https://download.lenovo.com/servers/mig/systems/support/system_x/ibm_sw_sgtk_1_3_07_anyos_anycpu.zip
unzip ibm_sw_sgtk_1_3_07_anyos_anycpu.zip
cp sgdeploy/sgtk/ads/images/tk_scrub.vfd floppy.img
mdel -i floppy.img ::*.bat
mdel -i floppy.img ::*.sys
mdel -i floppy.img ::dos/*.*
mcopy -i floppy.img sgdeploy/sgtk/DOS/*.* ::dos/
mcopy -i floppy.img sgdeploy/sgtk/DOS/cfgfiles/*.* ::dos/
Готово! В файле floppy.img находится бутабельный флопик.

Чтобы создать раздел FAT32 на диске, используйте команду FDISK32. Размер раздела должен превышать 520 мегабайт, иначе выйдет обычный FAT16. Форматировать раздел FAT32 надо командой FORMAT32.

Можно на этот же флопик положить и Волков Командер для удобства:
wget https://vc.vvv.kyiv.ua/download/vc405sw.zip
unzip vc405sw.zip -d vc
mmd -i floppy.img ::vc
mcopy -i floppy.img vc/*.* ::vc/
Вот так оно смотрится под QEMU.

Готовый образ лежит здесь: pcdos7.1vc.img

Date: 2026-02-22 07:32 (UTC)
From: [personal profile] litwr
Благодарности за инструкции. Однозначно, надо переходить на PC-DOS. А MS-DOS 8 - это какое-то недоразумение. Хотя есть ещё и DR-DOS 8.1 (2005), но похоже последний PC-DOS всё же лучше. И полезные утилиты из DR-DOS можно просто скопировать.

Date: 2026-02-23 11:48 (UTC)
From: [personal profile] litwr
Может стоит взять chkdsk из PTS-DOS, FreeDOS, DR-DOS 8.1 или MS-DOS 8? Утилиты из DR-DOS, FreeDOS, PTS-DOS не привязаны к системе. В DR-DOS да и в других много всяких полезных штук.

Date: 2026-02-22 12:35 (UTC)
chaource: (Default)
From: [personal profile] chaource
Какие версии MS-DOS умеют файловую систему FAT32

"Я знаю по-французски считать и знаю по-нѣмецки животъ - деръ магенъ" (Данiилъ Хармсъ)
https://lib.ru/HARMS/xarms_prose.txt#17

Date: 2026-02-22 15:08 (UTC)
From: [personal profile] slider2
В давние времена была еще такая приблуда для DOS монтирующая NTFS раздел как диск - емнип называлось это NTFSDOS, от Winternals. Не знаю, требует ли она 386 процессор (вполне возможно что требует), но в досе работало.
Тоже в общем способ поддерживать большие партишины в ДОС.

Date: 2026-02-24 20:10 (UTC)
From: [personal profile] slider2
Конечно не грузится, но собственно и не нужно - особо большой системный диск для DOS, да и для Win9x не нужен, большой раздел это просто был способ использовать большие диски со старыми системами.

Date: 2026-02-25 15:33 (UTC)
From: [personal profile] slider2
В принципе да, но при необходимости чинить файловую систему можно и не в досе.

FAT32 для диска C: хороший вариант - поддерживается практически в любых OS, длинные имена файлов, большой размер диска и т.п.

В принципе для системного диска DOS и древний FAT16 может быть ОК, макс размер партишина небольшой (по нынешним временам), но для DOS много и не надо. Вроде бы FAT16 все еще поддерживается в современных OS. Пожалуй главный недостаток - длинные имена файлов в досе будут видны как сокращенные, если DOS не поддерживает VFAT extension. С этим в общем-то можно жить (если на C: держать только DOS и мин набор тулзов а для всех остальных файлов сделать отдельный большой партишн уже с FAT32), но несколько неудобно. Но зато гарантированно работают все версии DOS, кроме совсем уж древних.

Может стоит поддерживать и FAT16, и FAT32 для системного диска?
Edited Date: 2026-02-25 15:34 (UTC)

Date: 2026-02-22 18:12 (UTC)
doldonius: (Default)
From: [personal profile] doldonius
Вроде бы, FreeDOS с чем-то там из актуальных FS был совместим. Или он не считается?

Date: 2026-02-22 19:42 (UTC)
doldonius: (Default)
From: [personal profile] doldonius
Жаль, забавная была игрушка.