HDD AHCI не видится в BIOS после установки на него windows 7 x64?
Доброй ночи, Хабр!
Недавно купил себе диск wd4500hlhx (sata-3), отклонировал на него систему, и перевел в биосе настройки с ide на ahci. Все работало, но были какие то лаги, иногда проскакивали ошибки в приложениях, и решил я переставить систему.
Забекапил, отформатировал, начал ставить и в конце установки windows 7 сказала, что нужна перезагрузка. В биосе комп повис с надписью «ищю диск в port1 на ahci...» так и висел, пока я пил чай.
Перевел в биосе обратно на ide — работает. Опять отформатировал диск, переставил в биосе на ahci и опять попытался поставить систему, безуспешно.
Надо сказать, что форматированный диск в биосе виден и грузится на ура.
Биос последний.
Сейчас диск стоит, как ide с системой, при перестановке в ahci не виден в биос.
Как перевести комп на ahci, в чем может быть проблема? Может кто сталкивался?
PS железо: mb Asus Maximus Extreme lga775 (контроллер intel ich9r)
wd wd4500hlhx / wd2002faex update
Обновил биос и зашил в него ich9r RAID v8.5 Rom. (было 7.5)
Похоже, что я нашел ответ на свой вопрос. Вечером попробую.
the problem is in disk geometry detection in AHCI mode. for example:
1. get empty disk. check didk geometry with system info. you will see Tracks/Cylinder = 255, Sectors/Track = 63. Create 100MB NTFS partition with Windows Disk Manager. Reboot. Check disk geometry - it changes!
2. Why disk geometry changed? because BIOS thinked that partition end is aligned to end of cylinder. So it uses END CHS value for first partition and LBA END for counting new geometry. In my case I saw the following
record in master boot record.
END CHS = DF 13 0C (END HEAD = 0xDF) Disk Geometry Tracks/Cylinder chaged after reboot from 255 to 224. 224 = 0xE0 = 0xDF + 1
As you can see DISK GEOMETRY IS DETERMINED BY END CHS VALUE FOR 1ST PARTITON
3. Now imaging the following you again get empty disk with geometry 255/63. Create partition with size 101MB or 352MB or 705MB or there are pretty much other sizes. These sizes are specific - after creating partition with this size you will get ZERO in end chs for 1st partition.
Reboot now - and you will see that bios hangs - cause disk must have positive Tracks/Cylinder. How to fix this?
-DO NOT USE AHCI
or
-use large 1st partitions more than 8GB (end chs for such partition always FE FF FF).
Я нашел объяснение тому, что диск не находился биосом.
При установке windows 7 я не создавал вручную партиции, их создала сама windows, причем сделала это очень странно, оставив по несколько байт неразмеченного места в начале и в конце диска. (Видно например acronis 'ом и подобными программами)
Контроллер интел не справился с задачей чтения такой маленькой партиции и, как следствие, диск не увидел.
Что я сделал чтобы перевести диск в режим AHCI:
1) Достал свой старый hdd диск с полки, и сделал на него клонирование disc to disc. (использовал norton ghost v11.5)
2) Вставил диск с виндой и стер первый hdd.
3) Отклонировал обратно так, что неразмеченных мест не осталось.
4) В реестре поправил ветку, включающую поддержку AHCI
5) В биосе поменял настройки диска на AHCI и загрузился.
Надеюсь кому то кроме меня мои исследования пригодятся!
Вы бы указали все железо + гугл в помощь по ключевому слову "<модель материнки> ahci". А вообще очень похоже на баг биоса. Попробуйте откатить на предыдущую(ие) версии и посмотреть как ведет себя BIOS+HDD на них.
В первой ссылке нет решения, во второй не про биос, а про саму винду.
Впрочем я уже сделал новый биос в котором обновил intel ich9r ROM и сегодня буду пробовать перешить. Надеюсь заработает.
Можно просто всегда выставлять hex-редактором в первом секторе по смещению 0x1C3 FE FF FF, и по необходимости фиксить первый раздел. Я просто удалил первые маленькие разделы. Хотя баг конечно отвратительный, подробное описание есть тут forum.giga-byte.co.uk/index.php?topic=8585.0