LINUX.ORG.RU
ФорумAdmin

Проблема переезда на новую плату


0

0

Вобщем порядком достал меня мой старый элайтгрупп и решил я поменять его на гигабайт. И вот тут дебиан отказался грузится. Повисает на стадии Waiting for root file system и послед долгого ожидания выкидывает в инитрамфс не найдя указаного файла устройства. Указывал hda1, hdb1, hdc1, hdd1, sda1, sdb1, sdc1, sdd1 и т.д. Включал режимы NativeIDE и AHCI. Крайне не хочется переустанавливать систему, да и не факт что поможет.

Повисает на стадии Waiting for root file system и послед долгого ожидания выкидывает в инитрамфс не найдя указаного файла устройства.

Так надо было прямо в initramfs'овском шелле (busybox же?) посмотреть какие есть девайсы. Самый универсальный вариант, работающий с любым шеллом:

echo /dev/hd* /dev/sd*
Но в твоём случае скорее всего в ядре просто не оказалось драйвера для чипсета/контроллера.

И просто совет: лучше использовать метки разделов, UUID'ы или вообще LVM. Тогда точно не будет проблем, если ядро увидело диски не в том порядке и дало им другие имена.

Deleted
()
Ответ на: комментарий от artem-izh

Кстати на счет драйверов. При установке я указал "включить драйвера только для этой системы". Похоже именно это сейчас и сказалось. Это никак сейчас не исправить со слакса или лайф-сд?

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

Это никак сейчас не исправить со слакса или лайф-сд?

Можно. Универсальный вариант, который можно провернуть из любого livecd:

  1. Загрузить любой livecd.
  2. Поднять в нём сеть (чтобы достучаться до репозиториев родного дистрибутива).
  3. Примонтировать разделы жёстких дисков так, как они монтируются в твоей системе. Т.е. например:
    mkdir /mnt/corpse
    mount /dev/sda1 /mnt/corpse # корневой раздел
    mount /dev/sda2 /mnt/corpse/usr # раздел, на котором /usr
    
    и т.п.
  4. Примонтировать /dev и /proc (если не ошибаюсь, для работы сети нужен только /proc, но /dev может быть полезен например при восстановлении загрузчика):
    mount -o bind /dev /mnt/corpse/dev
    mount -t proc none /mnt/corpse/proc
    
  5. Скопировать resolv.conf, в котором содержатся адреса DNS-серверов (чтобы сеть работала):
    cat /etc/resolv.conf >/mnt/corpse/etc/resolv.conf
    
  6. За'chroot'иться в систему:
    chroot /mnt/corpse /bin/bash
    
  7. Установить переменные среды (точку в начале не забудь, это команда):
    . /etc/profile
    

После этого в системе можно работать почти как обычно. Например обновить/переустановить ядро apt-get'ом.

Повторяю, это *универсальный* способ. Возможно на livecd дебиана есть какая-нибудь rescue-утилита, которая сделает то что тебе нужно более простым способом.

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

Тыщу раз менял самыми разными вариантами - непомогло. На счет chroot.. идея конечно очень хорошая, и собственно я её проделал, но вот как поднять сеть от роутера в котором пашет dhcp? Я думал, что по умолчанию будет. Ан-нет. ifconfig видит интерфейс eth0, но не видит адреса и сети нет. Следовательно apt не может ничегго сделать.

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

Я болван) Надо было лишь запустить dhclient

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