Собссно, сабж. В домашний сервер установил вместо маленького устройства hda большое sda. Систему решил перенести. Пока опыта мало, поэтому решил особо не изгаляться и тупо скопировал командой
dd if=/dev/hda of=/dev/sdb
Сработало. С нового диска Grub запускается, но дальше затык. Затык такой:
Waiting for root file system...
Ессно, первым делом поправил menu.lst и fstab. Заменил там все hda на sda. Всё равно не грузится. Проверил, убедился, что диск именно тот, который нужен. Погуглил, нашёл, что хорошо бы сделать update-initramfs. Вот тут начинается провал в знаниях. Что такое образ ядра, создаваемый при загрузке в оперативе, я понимаю. А вот как это точно работает и нужно ли его в самом деле обновлять при изменении типа контроллера, не знаю.
Запустился с дебиановского установочного CD, вошёл там в консоль, попытался запустить вышеуказанную команду. И наткнулся вот на что:
# update-initramfs -u -k all
update-initramfs: generating /boot/inird.img-2.6.26-2-686
mkinitramfs: missing hda root /dev/hda1 /sys entry
Остальные строчки можно не писать, я думаю - они не несут смыловой нагрузки. Итак, скрипт mkinitramfs за каким-то фигом пытается в /sys найти старое устройство hda, которого там нет, ессно. Следовательно, где-то в настройках этого скрипта отложилось, что надо искать такое устройство. Файлы, содержащиеся в /etc/initramfs-tools, я, согласно ману, попробовал покопать. Не нашёл там такой настройки.
Подскажите пожалуйста, где искать причину того, что mkinitramfs пытается создать образ для несущствующего устройства, и действительно ли в этом проблема, связанная с невозможностью найти root при загрузке?