[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