Здравсте!
Такая вот проблема:
Пришлось переносить линух с одного винта на другой. Так получилось что сделано это было через «посредника» — винта с ФС NTFS (вся файловая структура была перенесена из-под винды с помощью Тотала на этот винт). После этого всё перетаскивалось на третий винт: диск был побит на разделы аналогичным образом, каждый раздел был отформатирован в той же ФС что и первоначально использовалась на 1ой машине.
Установил груба с помощью Кноппикса. При загрузке на новой машине выдалась ругань:
unable to open an initial console.
С этой проблемой сталкиваться уже приходилось, поэтому после
создания консоли с помощью # mknod console c 4 64 эта вешч исчезла, но появилась новая….
Kernel panic. No init found….
При попытке явно указать ядру, где находится init:
В грубе kernel (hd1,0)/bzImage root=/dev/hdb3 init=/sbin/init
Выдает
Failed to execute /sbin/init.
Посмотрел права на исполнение, всё проставлено. В /etc/fstab всё вроде как правильно:
/dev/hdb3 / reiserfs notail 1 1
/dev/hdb1 /boot ext2 default 0 0
/dev/hdb2 none swap default 0 0
Initrd раньше не использовался. Ядро по большей части монолитное, модулей мало.
Версия ядра — 2.6.17. Используется udev.
Может есть какие версии.
Премного благодарен.
P.S. Единственное что поменялось после переноса — это то что вместо устройства hda стало использоваться hdb.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
выкидывай
смотри
линукс (права на все файлы и папки) — ntfs (усе права в топку) — линукс (права там же)
да же если запинаешь работать будет через ж.
в случае когда необходим перенос затарива (tar) тогда все ок будет
по тексту:
«Failed to execute /sbin/init.»
у тебя данный файл атрибут исполняемый потерял — как и усе остальные
Потерять-то потерял, но я ж руками восстановил права:
chmod -R 750 /usr/bin
chmod -R 750 /sbin
Я не надеюсь решить твою проблему (ибо считаю что нет понту так систему переносить), но хочу заметить, что права 750 на /usr/bin — это, гм, немного не то :)
Это ж надо вообще додуматься до такого — линух нв ntfs, а потом обратно
сказал же, что пришлось….
бывают же в жизни ситуации, когда приходится делать или никак, или через ж*
зачем же язвить сразу?
если понял в чем дело — поделись советом.
что такого изменилось при проделанной операции??
почему эти файлы успешно исполняются при монтировании раздела при загрузке с LiveCD?
>>что такого изменилось при проделанной операции??
Слетели права на абсолютно ВСЕ файлы в разделе.
да. прикольные у тебя права выставились..
750 это не то же самое, что и 0750, которое означает rwxr-x—
Что ты имеешь в виду?
а. ну, если тут уж до такого лентяйства дошло, то может и нормально у тебя выставилось….
правда, почему для Other нет прав на запуск/чтение — мне не очень понятно.
кроме того, некоторые программы должны иметь suid/sgid. поэтому — смотря какой у тебя дистрибутив, выполни восстановление файлов из пакетов. (правда, конфиги на всякий случай тебе надо скопировать, а то могут перезаписаться..)
а ты грубу об этом рассказал? (/boot/grub/device.map)
и потом. возможно, у тебя не собрался правильно initrd.
дело в том, что если у тебя нет статичного /dev/ со всеми записями на момент старта ядра, то у тебя не сможет быть примонтирован корень «/».
это вот обратная сторона использвоания udev…
хотя, странновато — какие строчки у тебя до «Failed to execute /sbin/init» ?
А ты что, всегда нолики впереди пишешь? :)
Да, я об этом уже писал.
Имхо, по-любому проще забекапить всякие /var, /etc, /home, /usr/local и т.п. и переставить систему.
Ну насчет проще — вопрос спорный.
У меня Гента, в течение эксплуатации не раз обновлял дерево, emerge качал из нета всё подряд. Жалка всё сносить:(((
В конфиге груба я вместо
root (hd0,2)
kernel (hd0,0)/bzImage root=/dev/hda3
прописал
root (hd1,2)
kernel (hd1,0)/bzImage root/dev/hdb3
Исправил /etc/fstab должным образом.
Вот с initrd не ковырялся. Почему ж, несмотря на использование udev, на ядрах 2.6.x всегда обходился без initrd, а тут вдруг он нужен? Насколько я понимаю, эта вешч нужна, если дрова для контроллера hdd или фс делаешь модулями, но у меня всегда такие вещи статично в ядро вкомпилены. Или я ошибаюсь?
По поводу 750: пробовал делать хоть 777 — итог один и тот же.
оставь /home, /etc, /usr/etc, /usr/portage. Ну или, если просто качать много не хочеться, то, как минимум, надо оставить /usr/portage/distfiles. Остальное `rm -rf’. на оставшееся исправляешь права и владельца (особливо в /etc надо быть внимательным насчёт прав), и устанавливаешь генту. Ну ессно без форматирования и подпихнув ему уже существующее дерево портажей.
оно у тебя точно root/dev/hdb3 или может всё-таки root=/dev/hdb3?
кстати, у меня какая мыслишка появилась: /sbin/init — это исполняемый файл, который, между прочим, требует определённых библиотек для запуска. В частности libc.so. А как после общения с ntfs чувствуют себя lib*.so симлинки, и исполняемые атрибуты на файлах куда эти симлинки указывают?