LINUX.ORG.RU

Непонятки с флешкой

 


0

1

Имеется планшет-китаец. На борту якобы 4Gb флеша. Действительно, android говорит, что 4. Подключил к десктопу — тоже говорит 4. Начал закидывать файлы и в один прекрасный момент при создании директории ошибка:

mkdir: cannot create directory ‘flf’: Cannot allocate memory
Памяти свободной показывает ещё много. Да и, самое интересное, — новые непустые файлы создаются без проблем. А вот пустую директорию создать не может.

fsck.vfat не работает:

dosfsck 3.0.17, 29 May 2013, FAT32, LFN
Seek to 3925536256:Invalid argument

Открыл parted-ом. Диск неразмечен, таблицы нет. Ладно. Создал таблицу, один primary раздел, отформатировал в fat32. И — диск вдруг стал 2GB.

Disk /dev/sdc: 1945 MB, 1945108480 bytes, 3799040 sectors

В parted посмотрел — неразмеченных областей на диске нет. fsck говорит OK. Андроид тоже видит 2Gb.

Вопрос: почему так?



Последнее исправление: meduza (всего исправлений: 3)

Они пошутили?

anonymous
()

man китайские флэшки

Они и 128 GB могут в гиговую «запихнуть» и продать по соответствующей цене.

alozovskoy ★★★★★
()

Ну что ж, есть один вариант как откачать флешку, спасал меня много раз, и флэха до сих пор живёт и радуется. Извлеки флешку из устройства и подключи через карт-ридер, так будет надёжнее.

Далее, выясняешь устройство флешки:

fdisk -l
Затем, форматируешь её:
mkfs.vfat /dev/sdX
После этого забиваешь нулями:
dd if=/dev/zero of=/dev/sdX
После всего этого, открываешь любимый партишн-менеджер, создаёшь новую таблицу разделов, и раздел. После этого флешка должна быть как из магазина

slip
()

Совсем забыл сказать:

Предложенный мною способ используешь на свой страх и риск, есть шанс, что после этих манипуляций флешка двинет кони окончательно.

slip
()
Ответ на: комментарий от slip

Во-первых, я уже переразбивал и переформатировал флешку. Сейчас она правильная и чистенькая, а раньше была непонятно чем — без разделов, и со странным размером. Я почти уверен, что реальный размер флешки *всегда* был 2Gb, но китайцы её руками исправили, чтобы она казалась 4Gb. Меня интересует, как это они сделали, почему была вышеуказанная ошибка (когда не создавалась пустая директория, но создавались непустые файлы).

Во-вторых, не распарсил вашу магию. Вы сначала создаёте ФС, а потом её стираете, забивая нулями. После разбивки же — ФС не создаёте. Да и какой смысл в забивании нулями?

meduza
() автор топика

Подключил к десктопу — тоже говорит 4

4 Гбайт фигурировало в /proc/partitons или в выводе df ?

mky ★★★★★
()
Ответ на: комментарий от meduza

Меня интересует, как это они сделали

Делов-то, если в таблице разделов поковыряться, то можно и не такое сделать.

cadaber ★★
()

Вопрос: почему так?

дык давно известно, что если сделать образ диска в Over9000Gb, то его потом можно залить на диск в 1Gb. И он будет выглядеть везде как диск в Over9000Gb. Вот так с тобой и поступили. :(

drBatty ★★
()
Ответ на: комментарий от meduza

Меня интересует, как это они сделали

скорее всего не со зла. Наверное они заливали образ в 4Г на флешки в 4Г. И всё было хорошо. А потом китаец Ляо заметил, что этот образ можно жно залить во флешку в 2Г, и всё будет работать также. Ляо получил премию — миску риса и презерватив. А ты — более дешёвый девайс.

drBatty ★★
()
Ответ на: комментарий от drBatty

Да не. Флешка была девственно чиста на момент покупки. Ну разве что андроид там несколько служебных файлов поместил.

meduza
() автор топика

Если речь о внутреннем флеше (/dev/block/nand*), то там 4GB на все и на ведройд и на /sdcard и на этот самый /sdcard остается около 2G.

Видимо сделали чтобы /sdcard видился как 4GB...

Советую в ведройде выхлоп cat /proc/partitions посмотреть.

anonymous
()
Ответ на: комментарий от meduza

на заводе надо думать какой-то образ готовый заливают во флеш. Я про него и говорил. Естественно, геометрия источника должна соответствовать геометрии приёмника (число цилиндров, головок и секторов. man CHS). А если секторов больше, образ всё равно зальётся, и всё будет работать, пока не попытаться получить доступ к несуществующим секторам. Можешь попробовать сам снять образ большой флешки, и залить в маленькую.

drBatty ★★
()
Ответ на: комментарий от drBatty

Флешка была девственно чиста на момент покупки.
нулями забита что-ли?

Он воткнул ее в usb порт и флешка залила половину клавиатуры чем-то красным.

anonymous_sama ★★★★★
()
Ответ на: комментарий от MiniRoboDancer

Да я хотел сказать без «чем-то красным» просто:

Он воткнул ее в usb порт и флешка залила половину клавиатуры

Но потом, таки решил уточнить свою мысль, но как-нибудь помягче..

anonymous_sama ★★★★★
()
Ответ на: комментарий от meduza

Во-вторых, не распарсил вашу магию. Вы сначала создаёте ФС, а потом её стираете, забивая нулями. После разбивки же — ФС не создаёте. Да и какой смысл в забивании нулями?

Читаем внимательно:

После всего этого, открываешь любимый партишн-менеджер, создаёшь новую таблицу разделов, и раздел.

mkfs, в моём случае используется для очистки флешки.

Забивание нулями это современный способ низкоуровневого форматирования, лечит если не все, то почти все проблемы.

slip
()
Ответ на: комментарий от meduza

А вообще мой вам совет: Прибейте флешку к стенке как трофей, и сходите купите новую, а то 100% будет та же ситуация, что и с моей, когда она сдохла утянув за собой всё что на ней было.

slip
()
Ответ на: комментарий от meduza

Добрый дядя китаец перешьёт за тебя.

anonymous
()

Максимальное количество файлов в корневом каталоге 512

в это не упираешься?

bl ★★★
()
Ответ на: комментарий от slip

Читаем внимательно:

Куда уж внимательнее. Какой смысл в mkfs *перед* забиванием нулями?

Забивание нулями это современный способ низкоуровневого форматирования, лечит если не все, то почти все проблемы.

И что он там лечит? У забивания нулями только один смысл — проверить на запись каждый ячейку диска. В моём случае, очевидно, были проблемы логического уровня.

meduza
() автор топика
Ответ на: комментарий от meduza

Завязывай уже с этими нищебродски-говноедскими штучками.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.