2

Я пытался войти в свой Ubuntu 14.04, но после ввода пароля я не смог увидеть значки или тире. Я сталкивался с этой проблемой раньше, и я знал решение также.
Проблема заключалась в том, что мой раздел Ubuntu был почти полон.

Я планировал переместить огромные загруженные файлы в мой раздел Windows. Я вошел в терминал Alt+Shift+F1 и установил свой диск Windows в /mnt .

Затем я переместил файлы с помощью mv на подключенный диск.
Файлы были успешно перемещены (я подтвердил это с помощью ls).
Я размонтировал диск и перезагрузил систему, и что я нашел?
Файлы исчезли.

Просто так. В чем может быть причина? Я также попытался восстановить файлы, но пока безуспешно!

РЕДАКТИРОВАТЬ: мне удалось восстановить некоторые файлы (не все). Файлы появились в проводнике, как только я запустил chkdsk на зараженном диске.

Некоторые файлы были повреждены (кластеры могли быть перезаписаны).

1 ответ1

0

Просто подсказка: проблема sync

Ядро хранит данные в памяти, чтобы избежать (относительно медленного) чтения и записи на диск. Это повышает производительность, но в случае сбоя компьютера данные могут быть потеряны или повреждена файловая система.

Команда sync гарантирует, что все в памяти будет записано на диск.

В вашем случае, вероятно, вы выключите компьютер, прежде чем он закончит физически копировать файлы.
К сожалению, простого ответа ls недостаточно, чтобы гарантировать, что ядро завершило их сброс.

Более того, если ваш жесткий диск был полностью заполнен, некоторая часть файлов должна оставаться только в памяти; Таким образом, после перезагрузки системы, нет возможности снова извлечь их из оперативной памяти.

В следующий раз вы можете попытаться избежать этой проблемы, выдав команду sync прежде чем отключить ее, и дождаться выхода из нее:

mv  From_Here To_There 
sync && echo " ### DONE : sync finish to work ##"

Ссылка

  • info coreutils 'sync invocation' вы можете прочитать больше

    'sync' записывает любые данные, буферизованные в памяти, на диск. Это может включать (но не ограничиваясь этим) модифицированные суперблоки, модифицированные inode и отложенные операции чтения и записи. Это должно быть реализовано ядром; программа sync делает только системный вызов sync.

Заметка

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

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