[Comm] Перспективы форматирования USB-flash в ФС отличные от FAT32

Михаил consc на mail.ru
Ср Сен 1 08:56:09 UTC 2010


Здравствуйте, Sergey.

Вы писали 30 августа 2010 г., 19:50:02:

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

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

Старые  BIOS  умеют  грузится  только  USB-ZIP.   А  как  по умолчанию
разбивается  там  диск,  я  не знаю.  Я как раз обладаю такой матерью,
которая видит флешку как ZIP. USB-HDD эта мать не понимает в принципе.
Без  MBR  на  диске  у меня получалось загрузить DOS. А вот с MBR нет.
Причем  кто виноват, толком не разбирался, но похоже, что именно код в
MBR,  который  ждет,  что  BOOT сектор находится на устройстве 0x80, а
BIOS вешает флешку на 0x00.

>> > Странно, без таблицы, начало fs совпадает с началом устройства и это 
>> > означает, что fs гарантированно выровнена по границам физического блока
>> 
>> Вот тут есть ряд замечаний.
>> Если   говорить   о   FAT,   NTFS,   EXT2   системе,  то  нужно что бы
>> не  начало  FS,  а  первый кластер был выровнен на границу физического
>> блока. Вот лично я так думаю.

> Именно так и есть - но специфические сложности с выравниванием есть только
> у FAT, у всех прочих ФС (в том числе и NTFS) достаточно обеспечить
> выравнивание начала раздела.

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

> Для FAT можно подстраивать выравнивание,
> например, параметром -R <number> для mkdosfs.  В принципе возможность
> такой подстройки даёт преимущество при создании загрузочной флешки, где
> для совместимости с разными BIOS может быть нельзя использовать совсем уж
> произвольные значения CHS, что может не давать выровнять именно начало
> раздела.

Тут  опять темный лес. По уму, BIOS должен загрузить код из MBR, а тот
уже   BOOT   сектор.  А  по факту наблюдал, что при загрузке код в MBR
игнорируется,  BIOS  без  его  использования сразу грузит код из BOOT.
Причем  грузятся  на этой матери флешки размеченные как в с MBR, так и
без  него.  Как  BIOS  определяет,  что  в  нулевом секторе сидит BOOT
запись, а не MBR, я откровенно не понял.

>> И  откровенно,  я  пока не слышал, какими блоками физически оперирует
>> флешка.

> Вот тут проводились эксперименты с разными флешками:

> http://forum.ixbt.com/topic.cgi?id=27:9465

Даже  первый  пост  не  дочитал.   Решение просто.  Ищется чип памяти,
установленного  во  флешке,  а  по нему тех описание.  Там четко будет
сказано,  размер "строки" этого контролера.  И есть одна подлость, что
первые(?)   несколько   секторов  используются  для  служебных нужд. А
любая  тестилка не зная размер внутреннего буфера флешки, и буфера USB
контролера покажет погоду на марсе.

-- 
С уважением,
 Михаил                          mailto:consc на mail.ru



Подробная информация о списке рассылки community