суббота, ноября 01, 2008

FAT32 и большие файлы

В FAT32 есть ограничение на максимальный размер файла - 4Гб. Но при попытке записать файл большего размера вряд ли вам будет выдана внятная диагностика. Вы получите что-то вроде "Недостаточно места на диске" или "Ошибка записи файла". А ваш любимый download-менеджер просто подвиснет, скачав файл на, скажем, 98%.

Совсем плохо в такой ситуации не технарям, которым всё происходящее кажется каким-то мистическим действом.

41 коммент.:

jia3ep комментирует...

Есть ещё «не технари», которые используют FAT32? :)

Алёна комментирует...

2jia3ep:

Есть ещё «не технари», которые используют FAT32? :)

Сейчас легко можно купить внешний винт с FAT32.

Сергей Семёнов комментирует...

to jia3ep:
Есть ещё «не технари», которые используют FAT32? :)

О да!!! Есть еще даже такие, которые используют Win95/98.

Анонимный комментирует...

А о чем вообще пост? Или просто чтобы написать? Алена, от тебя всегда ожидает что-то интересное, необычное. А тут - просто факт давности 90ых годов, влияющий на жизнь пользователя только при определенной кривизне рук.

З.Ы. Мну не блогер, т.ч. аккаунта нет.

MinimumLaw комментирует...

Нда... Осталось дождаться порта ZFS на всеми любимую операционную систему ;-)
А что до мистики - дык она везде... Сегодня в очередной раз порабовала конструкция типа
(WORD)*((WORD*)&Data[2]).
Не знающий 100% решит что я таким образом каким-то своим богам молюсь =)
А FAT-32 - единственная реально кросс-платформенная FS. Поэтому скорой ее смерти не предвидится. Жаль только, что никто не хочет озадачиться FAT-64 или еще лучше FAT-128.
А было бы очень и очень неплохо...

Анонимный комментирует...

Есть-есть. Ещё есть внешние шары/ftp и др, на которых легко может стоять fat32.

PS: в ентерпрайзных решениях для бэкапа данных до сих пор стоит юзкейс по обработке этого ограничения. :)

Анонимный комментирует...

Гм. У меня выдаёт системную ошибку что диск полон или врайт протектед.

Dreamer комментирует...

>Сегодня в очередной раз порабовала конструкция типа
(WORD)*((WORD*)&Data[2]).

а почему не написать: (WORD)*(Data+2) ?

Анонимный комментирует...

Еще более интересно в этой ситуации технарям:
1) размер файла формально ограничен не 2^32, а (2^32)-1
2) еще более интересное состоит в том, что такой файл под XP у меня получилось сделать только на FAT32 с кластером в 16 кб. А вот если размер кластера 4 кб, то максимальный файл, который удется записать "с первого раза" = (2^32)-4096.
3) дальше еще интереснее. Программа дописывает в конец файла по одному байту, пока удается. После записи 4095 байт в конец такого файла его размер вырастает только на 1 байт.

Алёна комментирует...

2Анонимный:
А о чем вообще пост? Или просто чтобы написать?

Это очень печальный пост о том, как люди (не технари, это важно) почти месяц бились головой о стену, пытаясь понять в чем дело.

Мораль: программисты, пишите хорошую диагностику!

LG.BALUKATION комментирует...

хм, дык вроде былаж в Win2k иль чуть позже поддержка некоего подобия FAT64...

Про совместимость - с ростом объёмов носителей ИМХО фат теряет свою актуальность - какие-нить террабайтные диски форматировать в него кажется уже очень странной мыслью. Да и NTFS с недавнего времени умеет читаться во многих системах, отличных от Windows...

Денис Радченко комментирует...

Такой вот Windows. Понимаю, что нынешний ПК для обычных пользователей - какая-то магия вуду. Если сделать всех юзеров продвинутыми не удается, значит нужно упрощать интерфейс.

Денис комментирует...

тот же эффект при использовании smb!

пользуйтесь cifs! :)

nord комментирует...

Насчет того "а где вообще сейчас фат используют" ответ прост: на флешках. С появлением флешек объемом более 4 гигабайт это коснется весьма широких неподготовленных слоев населения.

Денис Радченко комментирует...

Вроде-как можно форматировать флешку под NTFS, благо Ubuntu 8.04 хорошо работает с NTFS из коробки.

Анонимный комментирует...

новая фс exFAT для флешек от мс:
http://ru.wikipedia.org/wiki/ExFAT
// andrei

Анонимный комментирует...

Fat32 - это ещё и внешние жёсткие диски, на которые записывают фильмы и смотрят через тот же xbox или ps

Abu комментирует...

FAT32 - отстой. Держать ее на офисных виндовых машинах подобно смерти. А =не технарям= ... ну кто ж им запретит-то кроме самой MS юзать FAT, копирить нудно и долго инфу на флэши больших объемов, форматить 80-гиговый внешний винт под FAT32 и прочей ерундой заниматься?

Вот, кстати, свежая новость по теме:

http://www.linux.org.ru/view-message.jsp?msgid=3218296&lastmod=1225591500076

Анонимный комментирует...

вот авишки если записывать через VFW > 2Гб то оно и не скажет ничего вообще, а полученный файл только для VirtualDub получается ))

MinimumLaw комментирует...

2 Dreamer (и мало ли кто еще почитать захочет про (WORD)*(...)

http://minimumlaw.blogspot.com/2008/11/blog-post.html

_winnie комментирует...

Иллюстрация:
http://pics.livejournal.com/ru_ikari_kun/pic/00156sfs

Анонимный комментирует...

to MinimumLaw
Ну дык эта... сразу надо было говорить, что Data - BYTE а не WORD.
(WORD)*(Data+2) - по стандарту именно так как у вас в блоге написано и должно пониматься: (Data+2)- указатель на BYTE, * - разадресуем, получаем BYTE, (WORD) - приводим к WORD. Компилятор, работающий не так - неправильный компилятор!

Кстати, вот вам еще вариант :)
*((WORD*)Data+1) или ((WORD*)Data)[1]

Анонимный комментирует...

Использую только Fat32 для всех внешних дисков и флешек потому, что MacOSX не умеет писать на NTFS. Вот и весь сказ. Насколько я знаю, то алгоритм работы с NTFS на запись микрософтом не открыт официально. Так что это просто проприетарный закрытый формат. А ext2, не поддержиается виндой. Вот и выходит, что между виндой и маком без дополнительных стороннизх драйверов для обмена данными между обеими ОС подходит только FAT32.
P.S. Извините за анонимность, но OpenID с ЖЖ поему-то не срабатывает.

Алёна комментирует...

2Анонимный:

P.S. Извините за анонимность, но OpenID с ЖЖ поему-то не срабатывает.

Если бы я была против анонимных комментариев, я бы их отключила :-)

Вообще глюки какие-то с ЖЖшным OpenID, народ уже жаловался...

LG.BALUKATION комментирует...

Анонимный, как насчёт ntfs-3g - есть в портах.

AlexeyK77 комментирует...

2 lg.balukation: Я же не говорил что нет вообще возможности писать NTFS в macosx. Её нет в стандартной поставке. Но за наводку спасибо!

nvy комментирует...

Я, например, использую FAT32.А что,уже не надо?
Не технарь (в смысле,профессионально системным программированием не занимаюсь)

Abu комментирует...

В Total Commander есть плугин для ext2/ext3

Алёна комментирует...

2nvy:
Я, например, использую FAT32.А что,уже не надо?

Ну если файлы многогиговые не собираешься туда складывать, то всё нормально...

nvy комментирует...

А я так и делаю.

Анонимный комментирует...

С этим FAT32 совсем недавно был забавный опус - оказывается на флешки нельзя записать файлы больше 4х гигов... сам столкнулся и не сразу разрулил. Полная история - http://samorodkin.livejournal.com/2008/11/06/

andrewm комментирует...

"нетехнари" пишется слитно; раздельно пишется когда после слова идёт союз "а", например,
"не технари, а гуманитарии"

Surzh комментирует...

И вот не спится людям же с Win... :)

кстати, где-то в рунете натыкался на драйвера Ext3 под форточки

Анонимный комментирует...

Да полно таких дров, всегда юзаю и счастлив

Surzh комментирует...

не... я год назад переполз на сторону пингвинов и сползать не собираюсь. Вспоминаю Win, как самый страшный период моей жизни :)

Анонимный комментирует...

Кто же вам мешает использовать NTFS на флэшках\везде?

nvy комментирует...

Кто его знает...в моём случае - сила инерции мышления

Разработчик FAT логического драйвера комментирует...

ФАТ действительно не такой гибкий, как, например, ExtX. Но при нормальной реализации, сделать поддержку файлов > 4 ГБ - как 2 пальца. А по поводу максимальноко размера: там можно отдавать максимум (0x0ffffff0 - 2) кластеров файлу.
Могут быть заморочки в драйвере устройства. По поводу NTFS - некоторая информация у своободного сообщества имеется - появилась и библиотечка в портах. Но в целом ее
нужно покупать - если что серьезное происходит. Стоит около 7 тыр евриков.

Анонимный комментирует...

>>Кто же вам мешает использовать NTFS на флэшках\везде?

Контроллеры флешек оптимизированы под fat32. Поставить туда ntfs - значит убить флешку, или сильно сократить срок её жизни.

Анонимный комментирует...

>>Контроллеры флешек оптимизированы под fat32. Поставить туда ntfs - значит убить флешку, или сильно сократить срок её жизни.

Уже второй год на 16Гб флешке с ntfs 2 раза в день копирую туда, сюда файл размером в 6 Гб и ничего ;)

Анонимный комментирует...

У меня MAC и я привык к тому что все работает. ]купил внешний HDD на 1Тбт и не проверил как он форматирован (нужно срочно перекидывать информацию). И вот теперь, спустя неделю, при копировании файлов mkv (я занимаюсь торрентами) высветилась ошибка. проверил диск, а там FAT32. на диске свободного места всего 5%, информацию перенести некуда, что делать не знаю.