LINUX.ORG.RU

Флешка USB 2.0 изменение геометрии

 , ,


0

1

Есть noname флешка 128Гб, изначально, была отформатирована в vfat - но для линукса очень медленная ФС и глючная, потому хотел переформатировать в exfat, но из-за оооочееееньььь малой скорости (что-то около 8кб за 5 минут) что-то пошло не так, поэтому поигрался с hdparm, на какой-то опции, hdparm вывалил кучу вопросов смысла которых не понимаю, но смысл сводился к размеру секторов и их количеству, и таких вопросов было оооооочень много, так что везде нажимал , в результате возникла новая геометрия разметки с такими вот числами:

# hdparm /dev/sda

/dev/sda:
 multcount     =  0 (off)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 1024/0/62, sectors = 0, start = 0

Изначально была с такими числами:

# hdparm /dev/sda

/dev/sda:
 multcount     =  0 (off)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 15297/255/63, sectors = 245760000, start = 0

Можно ли вернуть размеры геометрии на первую ?

Попробовал сбросить до заводских настроек при опции «dco-rectory» (изменено умышленно) получаю такой вывод:

/dev/sda:
 issuing DCO restore command
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

…и размеры остаются прежними…

fdisk, mount устройство /dev/sda не находят, хотя lsblk видит:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    1     0B  0 disk 

Скорее всего, через hdparm, выполни обратные команды.

медленная ФС и глючная, потому хотел переформатировать в exfat

Ты что, с ума сошёл? (с) Карлсон. Exfat в принципе у тебя будет ещё более глючная. Посмотри темы на форуме. У кого-то при работе в разных ОС (Windows, Linux, MacOS) файлы пропадают, то в одной видятся, в другой - нет.

Реализации в каждой ОС разные и стабильного формата нет.

Если тебе нужна exfat - используй её только в одной ОС и лучше в Windows, т.к. это в первую очередь их разработка. Официально драйвер они не открывали.

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

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)

поигрался с hdparm, на какой-то опции, hdparm вывалил кучу вопросов смысла которых не понимаю, но смысл сводился к размеру секторов и их количеству, и таких вопросов было оооооочень много, так что везде нажимал

Возможно надо опять запустить hdparm с какой-то опцией, но в этот раз ввести числа правильно)

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

Если тебе нужна exfat

…для совместимости. Для флешки хорош ext2 но её нигде больше не прочтёшь, всё остальное «с журналированием», что не есть хорошо…

будет тебе уроком Ну, да: урок (желательно щадящий) мне и нужен :) Но я ни за что не поверю, что линукссофт не умеет делать всё, что делает оффтопный, надо много знать и ещё больше понимать…

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

…для совместимости

Для совместимости как раз FAT32 - она стабильна и существует уже лет 30. Ещё со времён Win95.

А exfat, как я уже сказал напротив будет глючить, теряться файлы, ломаться, плюс проверять её лучше в одной ОС, да и работать тоже.

Пока нет нормального стабильного драйвера в Linux.

что линукссофт не умеет делать всё, что делает оффтопный

В случае exfat - не умеет.

kostik87 ★★★★★
()

Я не понимаю какая ещё геометрия на USB Flash носителе? Эта геометрия ещё в 90-ых устарела.

Форматирование под любую ФС не требует измерения никакой геометрии. Флешка – это просто массив байт фиксированного размера и форматирование заключается в записи базовых структур ФС в эти байты.

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

Exfat в принципе у тебя будет ещё более глючная.

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

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

как будто vfat сильно в этом отличается.

Отличается. У FAT есть двойное резервирование собственно File Allocation Table.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от X512

сюрприз, у exfat тоже (кстати, пример очередного лоровского звездежа насчёт «сПиЦиФиКаЦыЯ нИ АпУбЛиКоВоНа»).

но, кстати, не сильно оно помогает, когда fsck спрашивает «какую копию использовать?», а ты ваще хз, какая из них битая.

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

Но я ни за что не поверю, что линукссофт не умеет делать всё, что делает оффтопный

Если соответсвующего софта просто нет, то как он будет уметь делать что-то?

Прошивки всех накопителей кривые и глючные, у флешек особенно. То, что флешка притворяется диском, не означает, что она умеет делать все низкоуровневые команды типа переключения геометрии, secure erase и пр. От какой-то команды у неё слетела таблица трансляции, контроллер решил, что у неё размер 0 байт. Из этого состояния контроллер выводится только фирменым софтом, под каждую модель (чип) своя программулина. И они только под винду и далеко не для всех доступны. Производители не выкладывают этот софт, он случайно утекает. Спецификаций тоже не выкладывают. Мало кто хочет заморачиываться, дизассемблировать/реверсить такой специфический софт, чтобы написать мало кому нужную open source версию...

Что есть можно посмотреть на usbdev.ru, там можно найти софт (под винду), который напишет какой чип контроллера на флешке, потом поискать для этого контроллера, если повезёт, будет бинарник под винду, если повезёт он вашу флешку перепрошьёт.

mky ★★★★★
()

noname флешка 128Гб

оооочееееньььь малой скорости (что-то около 8кб за 5 минут)

geometry = 1024/0/62, sectors = 0, start = 0

Я не уверен что дело в hdparm. Флешка, вполне вероятно, сдохла ещё раньше - и ты видел эти симптомы в виде неадекватной скорости работы, а hdparm-ом ты просто привёл её формальное описание в актуальный вид (т.к. она сдохла то и секторов на ней больше нет).

Но есть шанс что надо просто вызвать hdparm ещё раз и ввести ему правильную геометрию. Впрочем, медленную скорость это не исправит, так что флешку всё равно в мусорку.

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

Впрочем, медленную скорость это не исправит

Как ни странно но именно эту проблему и именно этой флешки исправила FreeBSD: записал «нули» именно на устройство, а не на раздел, после чего fdisk стал видеть прежнюю разметку:

******** Working on device ********
parameters extracted from in-core disklabel are:
cylinders=15297 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won't work with BIOS for partitions  not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=15297 heads=255 sectors/track=63 (16065 blks/cyl)

fdisk: invalid fdisk partition table found
Media sector size is 512
Warning: BIOS sector numberling starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165  (0xa5), (FreeBSD/NetBSD/386BSD)
   start 63, size 245746242 (119993 Meg), flag 80 (active)
       beg: cyl 0/ head 1/ sector 1;
       end: cyl 960/ head 254/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>

После чего эту разметку стираем, и создаём новую, после чего форматируем в новую файловую систему, и…

# hdparm -tT --direct --offset 10 /dev/sda

/dev/sda:
 Timing O_DIRECT cached reads:    64 MB in  2.03 seconds =  31.56 MB/sec
 Timing O_DIRECT disk reads (offset 10 GB):  76 MB in  3.05 seconds =  24.92 MB/sec

moskvich
() автор топика
Последнее исправление: moskvich (всего исправлений: 1)

vfat - но для линукса очень медленная ФС и глючная

Самая беспроблемная ФС, если не считать ограничение на размер файла и отсутствие Unix-атрибутов. Есть ядерный драйвер, который работает по дефолту.

Vidrele ★★★★★
()