LINUX.ORG.RU

Проблема с жестким диском (LBA28+HPA+Linux=WinXP[FAIL])

 


0

1

Доброе время суток! Озадачился установкой Linux(Slax) в дополнение к уже обжитой винде(т.е. DualBoot), но есть небольшая проблема, суть которой описана ниже.

Собственно есть ноутбук Toshiba Portege 4010 9-летней давности, к нему был куплен винт Samsung на 160гб. Установленная Windows XP жутко на нем тормозила, особенно при загрузке. Выявил, что проблема в IDE контроллере(ALi m5229), который глючит на пространстве за пределом в 128гб и начинает использовать процессор для приема-передачи (т.е. PIO). Винда же, 6 раз обнаружив ошибки в DMA режиме на этом пространстве, полностью переводит винт в режим PIO. Никакие извращения в попытке сохранить честно купленный объем в целости не прокатили, поэтому пришлось урезать обьем с помощью фирменной утилиты hutil и MHDD (и тем и другим одинаково). Винда стала работать нормально.

Теперь, собственно, сабж. При установке или запуске лайфсиди ЛЮБОГО линукса (Даже Mandriva 2005 LE, исключая системы, аналогичные Alt Linux Junior 02, которая видит только 128гб и чуть менее бородата, чем сам ноутбук, но это ведь старье, вы же понимаете) лочка HPA каким-то неведомым образом сбрасывается, виндовс начинает видеть весь объем диска и опять жестко тупит (причем в вышеперечисленных утилитах ясно пишется, что лочка все-же стоит), после чего приходится сбрасывать лочку и ставить заново. При этом, в зависимости от линукса, жесткий работает в PIO режиме (Mandriva, KDE klax 3.4) или UDMA33(Slax; IDE контроллер понимает 66, а жесткий умеет 100), что по сравнению с виндой на 66 не катит.

Вопрос простой - какими способами можно заставить линукс НЕ видеть весь обьем диска и/или не корректировать его? Я пытался сливать данные на компьютер и пробовать пункт DCO Set Max Address (Device Configuration Overlay), но из-за излишней глючности hutil (или ее проблем в работе с подобным железом), которая почти каждый пункт сеет окнами [Operation Aborted/Cancelled by user] изза чего к каждому пункту надо знать свой подход, потерпел неудачу. Отрыл в нете какой то патч ide_disk.c, но он просто разрешает DMA для <128gb и при этом позволяет работать с оставшимся местом в PIO (а не отключает поддержку LBA48 насовсем, что равносильно Слаксу, ибо не катит), но на него куча жалоб. Просьба знающим помочь с этой проблемкой. Да, онли линукс или виндовс - конечно вариант, но хотелось бы иметь обоих представителей, ибо на компе установлен линукс. Использовать для своих злодейских целей Вин98 ...ммм... неактуально, да и не факт что заработает. Благодарю за внимание (:.



Последнее исправление: Setsuna (всего исправлений: 2)
Ответ на: комментарий от vurdalak

Так и делал. При правке поправилось.

Setsuna
() автор топика

>UDMA33(Slax; IDE контроллер понимает 66, а жесткий умеет 100), что по сравнению с виндой на 66 не катит.

hdparm раньше позволял выставить udma режим, но, ИМХО, UDMA33 и так должно хватать.

Не знаю, как работает hutil, но, может при загрузке Линукса поможет hda=noprobe (для старых ядер).

mky ★★★★★
()
Ответ на: комментарий от mky

Насчет UDMA33 - в принципе вы правы, виндовс по подсчетам выдает 14 мб/сек, а Слакс немногим более 15. (копирование с одной папки в другую). С другой стороны 66 предпочтительней при копировании с внешнего диска (правда, когда пцмциа - юсб 2.0 разветвитель под ноут отрою). Насчет hda=noprobe - Слакс 6.2, соответственно ядро новое, но попытка не пытка, попробовать можно.

Setsuna
() автор топика
Ответ на: комментарий от Setsuna

Небольшой апдейт: Узнал, что чистая винхп без сервиспака не знает LBA48, если кто знает, расскажите подробнее, ибо наткнулся на посты с проблемой записи в начало диска при запросе записи на >128гб. Драйвера от оригинального вин2к не прокатили (прижились, но все 160гб на законном месте). Так же узнал, что DCO - расширение UltraATA 6, когда у меня 4. В связи с этим утилита глючила, а HDAT2 выдавала ошибку DRQ=0. Если я воткну 2.5 жесткий диск на IDE шину компьютера, работать будет? (собственно вопрос в подаче питания)

Setsuna
() автор топика
Ответ на: комментарий от Setsuna

ЕМНИП, офтопик без LBA48 при адресации к «далёким» секторам попадёт на начальные. Поэтому, просто не нужно создавать раздел/файловую систему за 128 Гигабайтом и всё.

Если я воткну 2.5 жесткий диск на IDE шину компьютера, работать будет? (собственно вопрос в подаче питания)

Там были пассивные переходники http://www.geeks.com/details.asp?invtid=ADP2535S-BULK&cat=CCD и раньше они были везде, а сейчас, когда IDE не нужен, не знаю, получится его купить.

mky ★★★★★
()
Ответ на: комментарий от mky

Да, вы немного не по теме (: у меня вин, жесткий и контролер как раз таки понимают лба48. Вроде нашел решение банально оставить пару мегабайт неразмеченного пространства в конце урезанного диска благодаря одной догадке. Установщик винды стал видеть 131 гиг вместо 152. Сегодня проверю линукс, отпишусь. Кстати, диск тоже иде.

Setsuna
() автор топика
Ответ на: комментарий от Setsuna

Малость полегчало. Но только малость. Лочка все равно слетает );

Setsuna
() автор топика
Ответ на: комментарий от Setsuna

Насчет hda=noprobe - Слакс 6.2, соответственно ядро новое


Если не работает, можно посмотреть тут - http://kerneltrap.org/mailarchive/linux-kernel/2007/6/12/102956

Ну или поставить старее, поменять контроллер (что в принципе нереально).
Снести винду/купить новый ноут :)

amorpher ★★★★★
()
Ответ на: комментарий от amorpher

также нереально ): надо будет попробовать таки врубить DCO с компа, но все доступа никак не получу. А в линуксе при загрузке возможно выставление принудительного режима UDMA?

Setsuna
() автор топика
Ответ на: комментарий от Setsuna

Не интересовался даже никогда, думаю что-то должно быть — поищи.

amorpher ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.