LINUX.ORG.RU

перенос ННД-диска в другую систему


0

0

есть SATA-диск с установленной системой, Федора 9, мат.плата на чипсете Nforce4 ultra, все работает нормально. Решил обновить систему, приобрел новый ящик с мат.платой на чипсете р45 (GA EP45-DS3, проц Интел Е8500 обновил биос. Подключаю вышеуказанный диск, запускается grub, далее идет распаковка ядра и после этого загрузка останавливается со следующей ошибкой (примерное содержание, точно не помню, пишу из другого места):

не могу найти /dev/sda3 (это своп-раздел) не могу найти /dev/root

в fstab разделы были указаны по меткам, типа "UUFGRT", изменил их на /dev/sda1 и т.д., в командной строке grub явно указал рут-раздел, т.е. root /dev/sda2, но все равно, по прежнему ошибка. В чем может быть дело? В новом чипсете (P45 ICH10)?

Раньше с переносом дисков с установленной системой на разные компы проблем не было

anonymous

Добавлю: в биосе по-умолчанию стоит не AHCI-режим, пробовал переключать и так и этак - результат тот же. Кстати, после установки виндовс, последний загрузился нормально, но после переключения в биосе на AHCI-режим, появляляся БСОД в самом начале загрузки, пришлось откатится в дефолтную конфигурацию биоса.

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

Mounted all the UUID's in /dev/disk/, the IDE drive came up

переписал все UUID's в /dev/h(s)dxy/

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

По ссылке написано, что SUSE находила SATA винты но их надо было монтировать через терминал... Я не понял, что это означает.

В любом случае смотрите сообщения ядра при загрузке, там должны быть фразы про контроллер и про жесткие диски... А вобще при смене материнской платы (чипсета дисковой подсистемы) надо пересобирать initrd. Грузитесь с CD-диска, запускайте консоль восстановления, если ваш SATA диск будет виден, то монтируйте его, chroot туда, смотрите какие модули загружены, правьте /etc/modprobe.conf, и делайте mkinitrd (прочитав man и создав копию старого initrd).

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

Попытался просто загрузить из СД, консоли восстановления, не получилось. Вспомнив про jmiccron, указал в строке all-generic-ide, и, о чудо, загрузился. Вот что выдал lsmod, касательно дисков: ata_generic sg sr_mod cdrom sd_mod pata_acpi ahci pata_jmicron libata scsi_mod

Почитал ман mkinitrd, там вроде написано, что sd_mod и scsi_mod грузятся автоматом. Какой модуль нужно указать в modrobe.conf для пересборки initrd? По логике pata_jmicron? И еще, нельзя ли в команде груба указать явно модуль, типа jmicron?

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

Уфф, вроде сделал инитрд-файл, указал --preload pata_jmicron, загрузился успешно. Остался один вопрос - при обновлении ядра, также меняется инитрд-файл, соответствующий номеру ядра. Следовательно, после обновления возможно повторение ситуации, как избежать пересоздания инитрд-файла?

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

Всё же непонятно. Если jmicron ответственен только за IDE, посколько в ICH9/10 нет поддержки IDE, то почему система не грузилась в родном режиме - AHCI-режиме? Понятно, когда через эмуляцию, т.е. в биосе выставлен IDE-режим , то тут без jmicron не обойтись (если я всё верно понимаю), но в AHCI не используется jmicron, но и система не грузится. Предположение: кривой биос, поскольку в винде тоже выдает БСОД.

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

>И еще, нельзя ли в команде груба указать явно модуль, типа jmicron?

Нет, через груб нельзя загружать модули ядра. В вашем случае груб трогать вобще не надо (если новый initrd назвать именем старого). Примерная схема загрузки ядра: BIOS загружает grub, grub загружает в память ядро и initrd (как ram-disk). После этого grub передает управления ядру, которое начинает выполнять загрузочный скрипт из initrd. Этот скрипт должен загрузить модули, дающие ядру доступ к жестким дискам и подпонтировать корневую fs. Насколько я занаю в Федоре монтирование корневого раздела идет по метке и перебираются все доступные системы диски. То есть прописывать в параметрах grub'а вместо метки /dev/sda2 не нужно, и править fstab пока без смысла, насколько я понял, до fstab дело вобще не доходит. Можно попробовать указать в параметрах загрузки ядра с жесткого диска (меню grub) этот самый all-generic-ide и пробовать загрузиться со старым initrd, может поможет...

>По логике pata_jmicron?

По идее, jmicron это PATA контроллер, видимо через него у вас подключен CD-ROM, но проблемма с загрузкой в том, что не виден SATA диск... По идее нужны ata_generic и libata.

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

to mky - спасибо за помощь. Как уже написал, всё, после пересборки инитрд, сейчас работает. Непонятные моменты остались, их я озвучил в своих двух предыдущих постах, если сможете, ответьте на них, пожалуйста.

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

Честно говоря не понимаю, как jmicron решил вашу проблемму. ИМХО, это просто поддержка ide-контроллера (того, у которого разъем на 40 штырьков). А SATA что в AHCI-режиме, что через эмуляцию, это интеловский чипсет --- piix в старых ядрах или через libata. Если вы оставили копию старого initrd, то можно попробовать сравнить их содержимое --- скопировать в /tmp, gunzip (если они сжаты с помощью gz) и потом монитровать в созданные в /mnt/ каталоги через опцию -o loop. И просто посмотреть, разные ли там модули, может в старом есть какой лишний модуль, или в новом появилось что-то кроме jmicron. И смотреть именно сами файлы *.ko, а не только команды их загрузки.

По поводу BSOD вобще ничего, разве что предположить, что для AHCI и для эмуляции офтопику нужны совсем разные драйвера...

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