BIOS и GRUB по-разному считают жесткие диски. поможет ли правка DSDT?

Компьютеры Linux железо unix grub

мне довольно трудно сформулировать проблему, потому что я чайник. но попытаюсь, так как она реально достала.
у меня на компьютере установлено два жестких диска по SATA и один - по PATA.
так вот, BIOS уперто считает первым диском (hd0) - жесткий диск PATA. а Linux и GRUB установлены на одном из саташных винчестеров, и Linux называет свой винчестер sda, а паташный - sdc.
из-за этого GRUB очень мучается и путает винчестеры. например, после пересборки ядра и обновления GRUB загрузка не удавалась, и ядро паниковало, потому что оно считает диском sda тот самый винчестер, который BIOS считает hd2. также пару раз были связанные с этой проблемой неприятные ситуации с переустановкой граба.

короче, я надеюсь, что объяснил проблему. а вопрос состоит вот в чем: можно ли исправить таблицу DSDT и подсунуть ее ядру (при конфигурации это можно сделать) так, чтобы путаница прекратилась раз и навсегда? и если можно, то как именно?
или есть другие более простые решения проблемы?

Примечание:
сразу оговорюсь: что поставить GRUB на паташный винчестер - не вариант, потому что паташный винчестер старый и маленький, и я его использую для экспериментов с виндами, хакинтошами и прочим хламом. соответственно, его таблица разбиения регулярно меняется, не гвооря уже об MBR =)
ставить Linux на паташный винчестер тоже не буду, потому что он медленней саташных, по объему меньше и старый уже.

Примечание:
спасибо, Invid! нет, материнка на чипсете nforce4. но год выпуска 2005 =) так что, я думаю, проблема именно в этом и состоит. да, действительно, у меня почему-то было установлено значение в биосе, что ОС не pnp! я его поменял, сейчас проверю, помогло или нет и еще отпишусь.
а режимы SATA на моей материнке не меняются - увы...

Примечание:
таки да - os=pnp не помогает. понял по тому, что при загрузке без ключа root=/dev/sda2 ядро паникует.

Примечание:
но все-таки отказ от PATA нежелателен.

Примечание:
> в GRUB можно вместо HDD и партиции указывать UUID
петрушка в том, что там по умолчанию у меня так и сделано, но почему-то не загружается, пока не укажешь путь к файлу устройства в директории /dev =(

Примечание:
ладно, всем спасибо за ответы!
Ответы:
Материнка на Интел-чипсете?
Проблема в том, что интел-чипсеты с 2006 года не имеют контроллера P-ATA. Для его поддержки в материнки встроен дополнительный контроллер Jmicron (реже Marvel).
Ну а дальше уже вступает в силу тот факт, что биос и grub по-разному расставляют приоритеты...
Что можно сделать:
Убедиться, что контроллер S-ATA работает в режиме AHCI или как минимум IDE Enhanced. В них порядок устройств может быть различным. А в режиме IDE Compatible у вас вообще будут видны не все S-ATA порты.
Убедиться, что параметр PNP OS Installed включён (тогда биос не будет производить настройку железа сама, и оставит это дело операционке).
Хотел бы добавить, что в GRUB можно вместо HDD и партиции указывать UUID, а также привязать корневой раздел к UUID устройства.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.