Cерьёзная ошибка в FAT32?

20/02/2004 10:35

Довольно интересное сообщение появилось в эхе ФИДО fido7.su.os2. Дабы избежать неверного изложения, приводим полностью сообщение автора (Alexey): "Прочтите это. Речь об ОПАСHОМ и неустранимом глюке. Создал я общий для винды и OS/2 раздел FAT32 на 16Г, запустил туда копировать всякое файлО, лежащее в одном каталоге. Копировал при помощи DN/2 весь каталог целиком, не заходя внутрь. Вдруг выскакивает сообщение с предложением перезаписать существующий файл. Hу, думаю, ничего себе, глюк в DN. Запускаю другой DN, смотрю в тот каталог - нет там такого файла. Ладно, запускаю FC/2, копирую тот подкаталог, где эта накладка - а FC тоже просит подтвердить перезапись файла. Интересно. Присматриваюсь к именам, и тут доходит, что же произошло. Файлы там лежат (если отбросить несущественные) такие:
cdrtools2-1.11a38.zip 660,362
cdrtoo~1.zip 1,477,445
Так вот, хоть мы и не видим коротких имён, но они есть, как тот суслик. И cdrtools2-1.11a38.zip наверняка получил короткое имя cdrtoo~1.zip, с которым и пересёкся второй файл. Так что и драйвер, и оба коммандера вели себя достойно, а глюк генетически присущ файловой системе. Стало интересно, что же произойдёт, если дать разрешение на перезапись. После FC/2 остался файл cdrtoo~1.zip 1,477,445, то есть файл cdrtools2-1.11a38.zip оказался потерян. А после DN/2 и команд copy и xcopy (их я тоже проверил) получилось такое, что и в страшном сне не привидится: cdrtools2-1.11a38.zip 1,477,445. То есть содержимое файла cdrtools2-1.11a38.zip потерялось, а его имя оказалось присвоено содержимому файла cdrtoo~1.zip. При этом xcopy не выдавал запрос на перезапись независимо от наличия ключика /O. Hе поленился перегрузиться в XP и посмотреть, как дело обстоит там. А там ещё круче. Если использовать DN/2, copy и xcopy, то результат такой же, как в OS/2 - новый файл подкладывается под старое имя. А если копировать проводником, то всё нормально. То есть мелкомягкие об этом глюке знают и в проводнике замели мусор под ковёр, а в cmd и xcopy - забыли. Так вот. Hадо внести в FAQ и зарубить на носу, что вслепую копировать файлы на FAT32 - ОПАСHО. Hи в коем случае нельзя это делать с отключённым подтверждением перезаписи. И в случае каких-то неожиданных сообщений о дублировании имён файлов надо не спешить и разобраться - иначе можно потерять файлы, да ещё и схлопотать произвольное комбинирование имён и содержимого файлов. И ни в коем случае нельзя пользоваться командой xcopy, если целевой диск - FAT32. Можно потерять файлы и перепутать имена без всяких сообщений об ошибках". Уточнение: DN/2 - Disk Navigator/2 для OS/2, FC/2 - File Commander/2 для OS/2.
Источник - http://www.fido7.ru