1

Кто-нибудь может объяснить, что происходит в системе после отключения CD-ROM во время работы с сеансом LiveCD?

Предположим, что я использую Ubuntu LiveCD, и вдруг случайно CD-ROM отключается на секунду, например, из-за отключения питания в случае внешних устройств или просто открытия лотка для CD, если ОС позволяет это сделать. Предположим, что через некоторое время CD-ROM снова подключен.

Может ли кто-нибудь объяснить, что именно тогда происходит, почему ОС перестает работать или, скорее, работает, но не так, как раньше, и как, если это возможно, можно вернуть стабильность и полезность и продолжить работу с пользователем?

По моим наблюдениям на основе Ubuntu LiveCD (версии до 12, версия ядра, вероятно, 2.6.XX) реакция системы выглядит следующим образом:

  • все приложения на рабочем столе X исчезают (я думаю, что это происходит из-за автоматической отправки сигнала уничтожения всем процессам, как будто ОС хочет завершить работу, но на самом деле она чего-то ждет) и выглядит как фоновое изображение с курсором, быть перемещенным все время
  • все TTY доступны и могут отображаться, но там есть только сообщения об ошибках, такие как INFO: task <process name>:<pid> blocked for more than 120 seconds и SquashFS error: unable to read [...]
  • я все время вижу мигающий '_' и могу что-то набрать, но нажав клавишу ввода, просто перехожу на новую строку, и, очевидно, ОС не выполняет это
  • ярлыки терминала для отмены и выхода из текущего процесса также не работают
  • Волшебные комбинации SysRq, как правило, работают, и я вижу фактический результат, но я не знаю, какая из них будет полезна в этом случае

Кто-нибудь может объяснить эту реакцию и сказать, что именно означают эти ошибки? И что тогда можно сделать, чтобы это исправить - есть ли способ для этого и почему нет, если так?

Здесь: https://unix.stackexchange.com/questions/76166/what-does-info-task-xxx-blocked-for-more-than-120-seconds-exactly-mean-on-lin Я только что прочитал что «если задача заблокирована, она ждет, когда ресурсы снова станут доступными». Так что, если я правильно понял, он ждет ресурсов - верно ли это или просто неправильная интерпретация, и он будет ждать бесконечно - CD-ROM обязательно подключится снова как можно быстрее. Как понять это?

Я знаю, что процессы ушли (или "заблокированы", как предлагают сообщения об ошибках?), Но как насчет файлов на виртуальном диске, они все еще там до перезагрузки? Возможно ли как-то получить к ним доступ? Или, например, просто извлечь текстовые строки и так далее?

Существует волшебный SysRq shourtcut, который перемонтирует файловые системы - есть ли шансы, что он поможет в таких ситуациях или его следует попробовать в конце после других испытаний? Если компакт-диск работает как виртуальная файловая система, какие эффекты могут принести файловые системы в этом случае?

1 ответ1

0

Я попробую сделать несколько ошибок:

  • SquashFS error: unable to read [...] , это ошибка при попытке доступа к файловой системе на самом компакт-диске. SquashFS , как отмечает Википедия, представляет собой сжатую файловую систему только для чтения, часто используемую для системных данных на LiveCD. Большинство ваших системных каталогов (вероятно, /bin , /sbin и некоторые другие), вероятно, находятся в этих файловых системах CD, поэтому, когда программе требуется доступ к этим каталогам, вы получаете ошибку.
  • <process name>:<pid> blocked for more than 120 seconds , возможно, из-за того, что какой-то процесс хочет что-то прочитать из SquashFS, а ядро блокирует его, потому что он получает ошибку чтения.
  • Мигание _ является нормальным (то есть Ubuntu не запускает getty на любом используемом вами TTY - я получаю его, нажимая Ctrl+Alt+F8 в совершенно нормальной системе). Однако, если он находится на более низком TTY (что-либо ниже TTY 7), это, вероятно, указывает на то, что Ubuntu не может запустить программу login в систему, потому что не может ее найти. Однако, если вы можете что-то напечатать, это означает, что у вас, вероятно, работает getty .
  • У SysRQ есть много возможных вариантов - Википедия дает полезный список . Вы можете попробовать Alt+SysRQ+u, чтобы увидеть, сможет ли Linux успешно перемонтировать файловые системы SquashFS, которые вы потеряли при удалении компакт-диска. Если это сработает, вы сможете снова получить оболочку - хотя я не знаю, восстановятся ли какие-либо другие ваши процессы.

Одна вещь, которую вы должны попробовать, это посмотреть, какие каталоги связаны с этими файловыми системами только для чтения. Для этого вам стоит попробовать mount | grep squashfs . Это выяснит, какие файловые системы хранятся на диске, и что будет затронуто, когда вы удалите их.

Что касается восстановления файлов в ОЗУ - они сохраняются до перезагрузки, но если вы не можете перемонтировать файловую систему и получить доступ к оболочке входа в систему, они почти наверняка будут забиты при перезагрузке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .