Принудительно размонтировать в Ubuntu, чтобы исправить проблемы после спящего режима нетбука

Единственное, что мне на самом деле нужно знать, это как выполнить размонтирование, когда устройство занято. umount -f не работает Следующее описание является просто предысторией того, почему мне нужно это сделать, если кому-то удастся придумать лучшее решение. Если там невозможно сделать это, я с радостью приму объяснение, почему бы не ответить.

Проблема в том, что всякий раз, когда я переключаю свой нетбук в спящий режим, моя точка монтирования прерывается Маунт все еще существует и работает mount отображает это как обычно:

/dev/mmcblk0p1 on /home/ilari/storage type ext4 (rw,nosuid,nodev,uhelper=hal)

Однако любая попытка чтения / записи на него терпит неудачу с Input/output error,

Если какие-либо программы открыты, попытка размонтировать устройство завершается неудачно с

umount: /home/ilari/storage: device is busy

Кажется, проблема в том, что устройство /dev/mmcblk0 исчез из системы во время сна. Но здесь происходят странные вещи. Предыдущее устройство еще доступно, только теперь стало /dev/mmcblk1! И я могу смонтировать его снова в ту же точку, что делает вывод mount довольно забавно

/dev/mmcblk0p1 on /home/ilari/storage type ext4 (rw,nosuid,nodev,uhelper=hal)
/dev/mmcblk1p1 on /home/ilari/storage type ext4 (rw,nosuid,nodev,uhelper=hal)

Дело в том, что когда я делаю это, точка монтирования работает так же, как и до сна! Открытые программы могут снова использовать файловую систему, как будто ничего не произошло.

Но система накапливает несколько (вышедших из строя) устройств, что выглядит довольно схематично. Поэтому я хотел бы размонтировать предыдущую точку монтирования, прежде чем перемонтировать "новое" устройство в ту же точку.

Как я могу принудительно размонтировать, когда устройство занято? Желательно автоматически при пробуждении и с автоматическим перемонтированием. Любая помощь приветствуется.

(Конечно, я мог бы закрыть все открытые программы, а затем размонтировать их, но в любом случае это в значительной степени противоречит цели режима сна.)

РЕДАКТИРОВАТЬ: Как упоминалось в комментариях, это, вероятно, хорошая идея, чтобы размонтировать систему перед сном, а затем перемонтировать ее при пробуждении. Фактически, это, кажется, даже останавливает устройство от изменения его индекса, поэтому оно остается /dev/mmcblk0, Проблема в том, что я могу размонтировать его только после закрытия всех программ, которые его используют. (Обратите внимание, что это работает и после сна - закрывая все программы, я всегда могу размонтировать точку останова.) umount -f тоже не помогает, отвечая дополнительным umount2: Device or resource busy,

Я использую Ubuntu Netbook Remix 9.10 на Acer Aspire One. Точка монтирования находится в fstab по UUID файловой системы (поэтому, конечно, почему перемонтирование работает, даже если имя устройства изменилось). Естественно, альтернативным решением этого является предотвращение изменения номера устройства, но я боюсь, что это будет гораздо более сложной проблемой.

2 ответа

Решение

Вы пробовали -f флаг для umount?

umount -f /home/ilari/storage

Выполнение чего-то подобного автоматически сделало бы небольшой сценарий /etc/pm/sleep.d/, Но я рекомендую вам отключить при переходе в режим сна и повторно подключить при пробуждении. Недавно я получил хороший ответ, который должен сказать вам, что нужно сделать, чтобы написать этот маленький сценарий.

Есть ли umount -l /home/ilari/storage Работа? У меня нет хорошего раздела для тестирования, но он может делать то, что вы хотите.

Другие вопросы по тегам