Є mmc-карта (TS512MRMMC4 - узяв з братового телефона для "експерименту"), в якої перестав правильно визначатись розмір:
було (і є)
513785856 bytes або 1003488 блоків,
після "експерименту"
![Сумний :(](https://linux.org.ua/Smileys/yabb/sad.gif)
карта каже, що у неї є
4294967808 bytes тобто 8388609 блоків.
Спроба щось записати чи прочитати у блоки понад 1003488 веде до матюків у
/var/log/syslog про помилки читання/запису (те саме відбувається і при під'єднанні картки). Спроба обійти проблему:
[root@localhost log]# mkdosfs -F 16 -I /dev/sdc 1003488
mkdosfs 2.11 (12 Mar 2005)
Warning: block count mismatch: found 4194304 but assuming 1003488.
також вдало не закінчилась - карта почала розпізнаватись із розміром в 1GiB (якщо mkdosfs запускався з ключем "-c", то знову сипались повідомленняу
/var/log/syslog). Проблему тимчасово вирішив так: створив на картці первинний розділ із FAT16, який закінчується саме на 1003488-му блоці.
Питання ось у чому - як можна поміняти таблицю розділів картки, щоб вона почала визначатись правильно? (спроба поміняти к-сть головок/секторів_на_доріжку/циліндрів за допомогою fdisk теж провалилась
![Плачу :'(](https://linux.org.ua/Smileys/yabb/cry.gif)
)