ОБНОВЛЕНИЕ: Кажется, что mountall висит внутри подпрограммы emit_event (), которую он вызывает после / перемонтируется для создания события с таким эффектом. Внутри emit_event он вызывает ply_boot_client_flush (), затем создает массив env, вызывает upstart_emit_event (), затем dbus_pending_call_block (). И там это висит. Итак, есть идеи, почему dbus_pending_call_block зависает бесконечно? Сломанный плимут? DBus? выскочка? Есть предложения по исправлению или дальнейшей диагностике?
Перезагрузка моей Ubuntu 10.04 LTS, 64-битная машина AMD зависает на 100%. Индикатор доступа к диску не горит, но клавиши alt-sysreq работают. Аппаратное обеспечение - ноутбук Lenovo W700ds. Теперь я заранее извиняюсь, потому что я очень ограничен в информации о системе, которую я имею в наличии, и в том, что я могу с ней сделать (потому что она не загружается). Я могу загрузиться с 10.04 CD - используя его как аварийный диск. Я могу fsck, монтировать, читать и писать в мои разделы - они в порядке. Я уже пытался переформатировать своп с помощью mkswap. У меня есть 4 раздела ext4 в моей системе: sda1 - это /, sda2 - это / usr, sda3 - это / home, и 4-й, который я использую для хранения данных / sdb1 (это весь диск, монтируется в точке монтирования / hdb, которую я создал) , Также есть / sda4, который является swap. Прямо сейчас я пишу это из браузера, который я открыл в «спасательной сессии» из 10.
Я был бы очень признателен за предложения / комментарии о том, что я могу сделать, чтобы помочь диагностировать, что висит, почему и что я мог сделать, чтобы это исправить. Я уже выполнил веб-поиск, но ничего нового не нашел (некоторые сообщения об ошибках 1-1,5 лет с похожими симптомами, но их исправления не работали).
Я установил 10.04 на новый диск первого июля, а затем использовал aptitude, чтобы обновить все. С тех пор я установил многопакетов (я прикреплю журнал dpkg ниже). С sda 750GB (/ 20GB, / usr 80GB) у меня было много места для установки пакетов, которые я «когда-нибудь смогу использовать». Интересно, один из этих пакетов, который я установил, испортил мою систему? Я установил ядро 2.6.32-32-generic и перезагрузился, но с тех пор установил гораздо больше пакетов. Я перезагружаю эти машины настолько редко, насколько это возможно - предпочитая переводить их в спящий режим при перемещении с места на место. Однако в последнее время я заметил странное поведение, связанное с де-гибернацией: когда система выйдет из режима гибернации, она вызовет экранную заставку gnome с паролем, необходимым для разблокировки - ну, он не узнает мой пароль! Мне пришлось alt-F1, войти в систему как root, и убить заставку. Тогда все будет хорошо, или так казалось. Также, после спячки я часто видел на экране мигающий разноцветный мусор. Это ушло бы, поэтому я не пытался найти причину. Другим, возможно, важным моментом является то, что мне нужно было использовать «nomodeset» при установке 10.04, и при вызове аварийной оболочки с того же компакт-диска, если я использую только nomodeset, он будет зависать с мигающим светодиодом NumLock или Caps Lock ( сбой?), но если я также использую «noapic nolapic acpi = off», то все в порядке. Я попробовал эти варианты с моей системой, чтобы увидеть, излечивают ли они проблему зависания при загрузке - они этого не делают. если я использую только nomodeset, он в конечном итоге будет зависать с мигающим светодиодом NumLock или Caps Lock (сбой?), но если я также использую «noapic nolapic acpi = off», то все в порядке. Я попробовал эти варианты с моей системой, чтобы увидеть, излечивают ли они проблему зависания при загрузке - они этого не делают. если я использую только nomodeset, он в конечном итоге будет зависать с мигающим светодиодом NumLock или Caps Lock (сбой?), но если я также использую «noapic nolapic acpi = off», то все в порядке. Я попробовал эти варианты с моей системой, чтобы увидеть, излечивают ли они проблему зависания при загрузке - они этого не делают.
Это машина, которую я использую как для работы, так и почти для всего остального, поэтому ее повторная загрузка является главным приоритетом. / дом не поврежден, что хорошо. Но я почти сошел с ума, пытаясь диагностировать (а тем более исправить) причину зависания ботинка.
Я загружаю систему, и она запускает скрипт конфигурации mountall в /etc/init/mountall.conf. Я вижу вывод от mountall, выполняющего fsck - 4 строки, в которых говорится: fsck из util-linux-ng 2.17.2 (по одному на раздел ext4). Затем от fsck есть еще 4 строки, информирующие пользователя о том, что разделы признаны «чистыми». И это все - все просто останавливается. Индикатор активности диска гаснет. Я могу использовать ключи alt-sysreq, но они пока не доказали свою полезность. Я видел сообщение об ошибке, в котором один пользователь использовал alt-sysreq-i для уничтожения процесса, и он бросил его в оболочку. Для меня это говорит, что он убил процессы (udev и udev-bridge и plymouth, говорит, что он вызывает udev и т. Д.), Но я не получаю никакой оболочки.
Я пытался определить, что именно висит. Для этого я возился с /etc/init/mountall.conf. Я добавил строки эха, и я добавил опцию -v (подробный) в exec mountall. Никакие линии эха после exec mountall не показаны, так что это может означать, что mountall зависает. Или, возможно, он не отображает последний из выходных данных - в этом случае mountall мог завершиться, и что-то еще может зависать. Я отмечаю, что alt-sysreq-i не говорит, что mountall убит. Я попытался сузить то, что система может зависать, закомментировав sda3 (/ home), swap и sdb1 (/ hdb) из fstab, но все равно зависает.
Есть много, что я могу сделать сам, но чувствую, что я здесь над головой. Я хотел бы, например, получить исходный код для mountall, добавить напечатанные флаги, перекомпилировать и вставить его в мою систему - чтобы сузить A), если mountall на самом деле висит, и B) на чем он висит. НО, я не могу загрузить свою машину в оболочку, из которой можно скомпилировать - а среда на спасательном диске - только 2.6.32-28-generic # 55 - поэтому она не будет соответствовать моей системе. Я хотел бы удалить или переустановить пакеты, но, опять же, я не могу загрузить свою машину и сделать это.
(мой файл журнала dpkg занимает несколько МБ, поэтому я прикреплю его в следующем диалоговом окне)
Спасибо Грег