Евгений Музыченко

Previous Entry Share Next Entry
WD и DNS одновременно съехали с глузду
emuzychenko

У Алечки в ноутбуке сдох жесткий диск. Собственно, это было вполне предсказуемо после падения работающего ноутбука со стола - удивительно, что диск после того еще несколько месяцев исправно работал. Сдох, впрочем, как-то странно - SMART чистый, ни одной ошибки, а инициализироваться либо совсем не хочет, либо делает это несколько минут. При подключении через USB-адаптер сначала вел себя нормально, потом перестал работать, теперь снова худо-бедно работает, периодически давая сбои, но отражать их в SMART категорически отказывается.

Ладно, заехал я в DNS возле ГУМа, поймал первого попавшегося под руку мальчика, попросил показать, какие у них есть диски на 2.5 дюйма. Он мне открыл список обычных 3.5. Когда я повторил, что нужен 2.5 - переспросил: "внешний"? Получив ответ "внутренний, в ноутбук", мальчик долго тупил, открывая и закрывая разделы каталога, но так и не сумел найти нужного, и озвучил вердикт: "у нас их нет!". Я имел наглость усомниться, после чего мне был указан (со словами "он все знает") другой менеджер по имени Константин.

Для Константина не составило труда открыть нужный раздел, но диска на 250 Гб там не оказалось. Он предложил взять на 320, я согласился. Заплатил, он мне принес диск WD3200BPVT. Я его тут же спросил, чем маркировка BPVT отличается от BEVT, которые идут уже несколько лет, и которую имеет сдохший WD2500BEVT. Константин пожал плечами и ответил, что отличия какие-нибудь мелкие и несущественные. Я, на всякий случай, уточнил: "все стандартно, просто вставляю в ноутбук взамен старого?", на что он ответил в том же духе.

Принес домой, вынул из пакета, посмотрел внимательно на наклейку. Там было предупреждение, что это "advanced format drive</a>", и предложение зайти на www.wdc.com/advformat для правильного использования под WinXP. Гугление подсказало, что это новый модный формат дисков с секторами по 4096 байт вместо 512, принятый совсем недавно - в январе 2011. Ну, думаю, какие проблемы -наверняка, как это уже не раз бывало при появлении новых стандартов, там на сайте лежит утилита, которая переключает диск в режим совместимости.

А вот хрен-то-там. На сайте пишут, что для переключения в совместимый режим есть перемычка у дисков 3.5, а для бучных предлагают скачать утилиту для выравнивания разделов, размером 45 Мб. Неслабо так, а если я сейчас в каком-нибудь Египте, и доступ к интернету у меня роуминговый, по $7 за мегабайт? Диск стоит $45, утилита встанет в семь раз дороже - хорошее сочетание.

Ладно, жму Download - оно мне отвечает, что это продукт ограниченного использования, и права на его скачивание у меня нет. Слегка охреневаю - такие вещи всю жизнь были доступны для скачивания всеми желающими. Смотрю, оно там рядом предлагает зарегистрироваться - черт с вами, открываю форму. Форма требует ни много ни мало, как обязательного ввода адреса и телефона. Ну, это уже вообще наглость - ввожу "hui vam" и 7-777-7777777. Ага, сработало. Снова жму Download - снова жалуется, что права нет. Начинаю снова изучать страницу - вижу там "Register product". Ладно, хрен с вами, прохожу регистрацию диска, введя серийный номер и ответив на кучу вопросов о том, кто я такой, сколько мне лет, зачем мне нужен этот диск и т.п. Злость на этих уродов становится все сильнее, и в поле для комментариев я им написал, что жлобство не есть хорошо, и не стоит издеваться над пользователями без крайней нужды.

Наконец, утилита скачивается. Устанавливаю, втыкаю диск через USB-адаптер, запускаю - и привет: все подключенные (в том числе и через USB) диски обнаружены, но ни одного диска "advanced format" среди них не найдено. Это ж какими кривыми руками нужно писать софт, чтобы не суметь у диска определить размер сектора - при том, что любой нормальный софт его определяет? Кстати, утилита называется "Acronis Align Tool", так что еще непонятно, у кого руки кривее.

Стал изучать, как диск выглядит из системы. Что характерно, XP не выдала каких-либо предупреждений о том, что диск ограниченно совместим с нею, однако для внешнего диска, подключенного к уже загруженной системе, это неудивительно - тут размер сектора не важен совершенно. В статьях по этой технологии пишут о дисках с "родным" 4096-байтовым сектором, и о дисках 512e, умеющих эмулировать 512-байтовый. Судя по всему, этот BPVT должен быть 512e, однако там говорится, что fsinfo должна его видеть, как 512-байтовый, а она видит 4096.

Создал пару разделов, переписал со старого диска ntldr/ntdetect, каталоги Windows, Program Files и Documents and Settings. Собственно, как проделывал много раз до этого, но там были стандартные диски с 512-байтовым сектором. Поставил разделу флаг Active, воткнул в ноутбук, включил - на экране появилась одинокая буква "f". :) Выключил, включил снова - то же самое. То есть, загрузчик что-то там читает, куда-то грузит, но в итоге не в состоянии даже выдать текстовое сообщение об ошибке.

Перед тем, как лезть hex-редактором, решил еще немного поизучать вопрос. И наткнулся на любопытные статьи у MS:

512-byte Emulation (512e) Disk Compatibility Update
Information about Microsoft support policy for large-sector drives in Windows

В первой они пишут, что диски 512e под XP и 2003 работать вроде как могут, но возможны непредсказуемые эффекты, и MS за такое использование никакой ответственности не несет. Их вполне можно понять - система разрабатывалась в те времена, когда размер сектора HDD железно и бесспорно был 512, и ради преодоления барьеров с адресацией секторов изобретались все новые и новые стандарты, но на размер сектора посягнуть не смели. Никто не поручится, что где-то в коде не поленились спросить размер сектора у диска, и не заложились на 512. Да и пусть даже в системе все отлично - есть ведь куча внешне безобидных и давным-давно вылизанных утилит, которые на таких дисках могут дать прямо-таки разительный эффект. :)

Подумал, что ну ее нах, такую возню с непредсказуемым эффектом. Позвонил в DNS, объяснил, в чем дело, спросил, как и где поменять диск на обычный. Выслушал набор обычных в таких условиях отмазок - "но вы же вскрыли упаковку!", "а у нас все работает!", "приносите ноутбук, мы все настроим!", упирая на то, что я при покупке сознательно заострил внимание на маркировке, но получил заверение, что диск самый обычный. В итоге они согласились на замену. Правда, нормальных дисков у них не оказалось вообще, так что пришлось оформлять возврат.

А если по-человечески, то все это делается гораздо проще. Во-первых, у дисков такого смешного размера нет никаких проблем с адресацией - а следовательно, и нужды переводить их на 4-килобайтный сектор. Собственно, физические секторы у дисков уже больше двадцати лет гораздо больше 512 байт, и с тех же времен отработана технология трансляции логических секторов в физические. У каждого диска есть внутренний буфер, и ему глубоко по барабану, блоками какого размера с ним обменивается компьютер, лишь бы они не были слишком мелкими, а современные ОС в основном используют страничные блоки размером в те же самые 4096 байт. Так что применение нового стандарта для дисков меньше 2 Тб - чистой воды раскидывание пальцев и надувание пузырей.

Во-вторых, даже если решили выпускать новые модели с новыми параметрами - что мешает по умолчанию ставить их в режим совместимости, как это делалось все эти годы при смене стандартов, а в современный режим переводить утилитой или снятием той же перемычки? Какого черта сначала убирать из прошивки давно отработанную трансляцию (от которой там наверняка осталась бОльшая часть, ибо внутри диска выгодно читать/писать большими блоками, 4096 для этого слишком мало), а потом делать эту монстроидальную утилиту для выравнивания разделов? Ведь даже при наличии утилиты может оказаться невозможным адекватное восстановление данных с бэкапа сдохшего диска старого типа на диск нового типа.

В общем, очередной идиотизм.


  • 1
4к сектор - это не из-за проблем с адресацией, а чтоб иметь меньше всяких контрольных/восстановительных сумм.

Производители в своё время хвастались, что переход на 4к сектора позволяет нахаляву поднять емкость чуть ли не на 10%.

>Собственно, физические секторы у дисков уже больше двадцати лет гораздо больше 512 байт

ээ.. пруфлинк?

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

Когда я последний раз интересовался физическим размещением данных на блине (где-то конец 90-х) - вроде бы уже применялись физические секторы большего размера. Правда, давно это было, могу путать.

Запись одиночного случайного сектора - явление редкое, и работа одиночными секторами всегда будет в разы медленнее, чем блоками большего размера. Уже очень давно эффективная работа начинается где-то с блока 8-16 кб, и любой вменяемый софт работает блоками. Сомневаюсь, что из-за буферизации и перезаписи обмен одиночными случайными секторам мог бы стать еще медленнее.

Надо было ещё погуглить или спросить - и диск менять не пришлось бы. :)
Эти диски для совместимости со старыми системами эмулируют старый 512-байтный сектор, так что для системы ничего не меняется - просто при операциях записи такого 512-байтного сектора перечитываются и перезаписываются остальные семь "виртуальных" секторов, попавших на 4-килобайтный физический сектор. Проблема старых операционок в том, что при разметке диска начало раздела делается со смещением 63 сектора, в результате кластер в 4к оказывается размазан на два физических сектора с соответстующим падением производительности (я при экспериментах на эту тему наблюдал трёхкратное снижение скорости).
AFAIK тулза WDalign просто размечает диск таким образом, чтобы кластер выравнивался по физическому сектору. Это можно сделать и без неё линуксовыми утилитами разметки или просто создав разделы из Win7, а потом установить XP уже на готовые разделы.

Ну так я погуглил, и нагуглил вышеупомянутую статью MS о том, что она снимает с себя всякую ответственность. :) А становиться флагманом в экспериментах мне как-то не хочется. Если бы диск виделся системой, как имеющий 512-байтовый сектор, и весь риск заключался бы в тормозах на невыровненных разделах - черт с ним. Но диск-то представляется именно 4096-байтовым сектором, и MS совершенно права в своем нежелании дать гарантию, что в XP все правильно заточено на работу с такими секторами.

По уму, такие диски должны продаваться с ярко-красной наклейкой, чтобы и покупатель насторожился, и продавец не имел оснований благодушно пожать плечами. :)

давненько я не видел на ноутбуках XP.. ну разве что на допотопных.

Допотопные - это которым уже целый год, или аж два? :)

мммм... да нет, реально старые, лет по пять, по шесть. остальные на висте или семерке.

Так ты и говори сразу, что имеешь в виду предустановленную систему. :) Висту на компах сейчас держат только полные чайники или мазохисты, семерка немного получше, но в основном за счет красивостей, реально полезных вещей, отсутствующих в XP, в ней мало. Я свой бук брал в 2008 с вистой - сразу же снес и поставил XP. Алька свой брала год назад с семеркой - тоже попросила снести и поставить XP, на среднем буке та шевелится гораздо бодрее. На него винт и брался.

80% пользователей ноутбуков -- чайники)

  • 1
?

Log in

No account? Create an account