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

Previous Entry Share Next Entry
Еще о дисках с 4096-байтовым сектором
emuzychenko
Матушке на работе прикупили новый ноутбук Asus с Win7. Он не просто тормозил, он ТОРМОЗИЛ!!! К примеру, постояв пару недель выключенной, система после включения взялась себя обновлять, и обновляла около часа. Индикатор диска при этом светился непрерывно - я ни разу не заметил, чтобы за это время он хоть раз моргнул. Для запуска любого приложения - хоть Task Manager, хоть Word - требовалось около полуминуты. Даже когда закончилось обновление, файловые операции выполнялись в несколько раз медленнее, чем положено.

"Технические специалисты", в принципе, соглашались, что это не совсем нормально, но ничего из ряда вон выходящего в этом не усматривали. Ну тормозит - так то ж семерка, хуле. Диск, конечно, не самый быстрый - WD7500BPVT, но, блин, семерка на WD2500 и WD3200 работает куда быстрее, а плотность записи у них ниже. Тут я и обратил внимание на букву "P" в суффиксе BPVT - это признак 4096-байтового сектора (advanced format drive). Заглянул в MBR - так и есть, раздел D выравнен, а C - нет. Отсюда и тормоза. Но непонятно, каким образом Win7 ухитрилась создать невыравненный раздел - винда ж еще с висты приучена его выравнивать. Похоже, это намудрили ребята из Asus с разверткой предустановленной системы.

Ну, не беда - производители на этот случай предусматривают песциальные утилиты для выравнивания разделов. Правда, свободно раздавать они их упорно не хотят - только после создания аккаунта и ввода серийного номера диска. Слава богу, у меня еще с лета остался аккаунт на wdc.com. Скачал оттуда Acronis Drive Align specially for WD 2.0.111. Размерчик у дистрибутива - 69 метров, развернулся он в 75, плюс поставил .NET Framework 4. Я положительно теряюсь в догадках, как такое убожество может занимать столько места. Ну и сама идея .NET состоит в том, что часть функций выносится во фреймворк, да только код от этого не уменьшается, а только пухнет.

Запустил - так и сказала, что partition C not aligned. Отметил его, жму Next/Proceed - что-то делает около секунды, сообщает: Completed successfully. Ну, теоретически могла подвинуть посредством резервных секторов, проверяю MBR - раздел на месте. Запускаю снова - опять говорит Not aligned. Перегрузил - аналогично. Удалил pagefile/hiberfil, дефрагментировал, сжал до 35 Гб, перегрузил - то же самое. То есть - стопроцентное, патентованное фуфло.

Скачал Parted Magic - это загрузочный CD с Linux, под которым установлены GNU Partition Editor и другие полезные утилиты. Сдвинул раздел на мегабайт (меньше не дает) с выравниванием по этому самому мегабайту - весь процесс занял минут 25.

Перегружаю - винда выкидывает ошибку 0xC0000225. Понятно, сбились параметры в BCD. Пришлось грузить BartPE, искать 32-разрядный BCDEdit.exe, и лечить по этому рецепту (разумеется, добавив ключ /store c:\boot\bcd.

  • 1
гыгык. А все грабли от того, что разделы до сих пор принято выравнивать на дорожку, сектора в дорожке считаются с 1 и в дорожке их 2^N-1, что ни разу не делится на 8.

кстати, некоторые утилиты "переформатирования" тупо сдвигают нумерацию секторов на единицу, итого 63й сектор, с которого типично начинается первый раздел, становится 64м.

Каким образом сдвигают - внутри самого диска? А из сектора 0 тогда что читается?

>Каким образом сдвигают

циклически. На уровне логической адресации.
по адресу 0 читается физически последний сектор, если я не обсчитался и не ошибся с направлением сдвига.

Если сам диск такой режим поддерживает - вполне годится, когда все разделы смещены одинаково. У меня основной, на 50 гиг, был смещен на 4 сектора, а второй, на 650, стоял нормально. :)

только вот размер раздела, типично, кратен 2^N-1, а не 2^n, что добавляет радости.
хотя, сейчас вроде даже винда умеет нормально работать с разделами, начинающимися не с начала дорожки.

Вообще, забавно, насколько живуч идиотизм: в начале 90-х, когда клепали 32-разрядные винды, даже у нас почти невозможно было купить винт, отличный от IDE и SCSI - и там, и там трансляция. Однако ж, до середины 2000-х упорно равняли разделы по цилиндрам...

нумерация секторов в дорожке с 1 - тоже идиотизм.

и таки да, совместимость с идиотизмами - это страшно.

Разделы уже давно принято адресовать через LBA — GPT про CHS вообще ничего не знает.

всё равно все, буквально все программы при создании раздела пытаются выравнивать "на дорожку".

Вы создайте диск, основанный не на MBR и сразу всё поймете.

  • 1
?

Log in

No account? Create an account