
Я пытался войти в Ubuntu 14.04, но после ввода пароля я не мог увидеть ни иконок, ни тире. Я уже сталкивался с этой проблемой раньше и знал решение.
Проблема была в том, что мой раздел Ubuntu был почти заполнен.
Я планировал переместить огромные загруженные файлы в раздел Windows. Я зашел в терминал и смонтировал свой диск Windows в . Alt+Shift+F1/mnt
Затем я переместил файлы с помощью mv
на свой смонтированный диск.
Файлы были успешно перемещены (я подтвердил это с помощью ls
).
Я размонтировал диск и перезагрузил систему, и что я обнаружил?
Файлы исчезли.
Просто так. В чем может быть причина? Я тоже пробовал восстановить файлы, но пока безуспешно!
РЕДАКТИРОВАТЬ :
Мне удалось восстановить некоторые файлы (не все). Файлы появились в проводнике, как только я запустил его chkdsk
на пострадавшем диске.
Некоторые файлы были повреждены (кластеры могли быть перезаписаны).
решение1
Просто подсказка:sync
проблема
Ядро хранит данные в памяти, чтобы избежать (относительно медленных) операций чтения и записи на диск. Это повышает производительность, ноесли компьютер выйдет из строя, это может привести к потере данных или повреждению файловой системы..
Команда `sync' гарантирует, что все данные из памяти будут записаны на диск.
В вашем случае вы, вероятно, выключаете компьютер до того, как он закончит физически копировать файлы.
К сожалению, простого ls
ответа недостаточно, чтобы гарантировать, что ядро закончило их очистку.
Более того, если ваш жесткий диск был полностью заполнен, какая-то часть файлов все еще должна быть только в памяти; таким образом, после перезагрузки системы нет возможности снова извлечь их с диска.баран.
В следующий раз вы можете попытаться избежать этой проблемы, дав sync
команду перед выключением и дождавшись ее статуса выхода:
mv From_Here To_There
sync && echo " ### DONE : sync finish to work ##"
Ссылка
info coreutils 'sync invocation'
вы можете прочитать больше'sync' записывает любые данные, буферизованные в памяти, на диск. Это может включать (но не ограничиваться) измененные суперблоки, измененные иноды и отложенные чтения и записи. Это должно быть реализовано ядром; программа 'sync' не делает ничего, кроме как выполняет системный вызов `sync'.
Примечание
Когда вы отмонтируете раздел, синхронизация предоставляется системой, но вам нужно дождаться, чтобы процесс отмонтирования завершился корректно. Если этого не произошло, у вас должна быть проблема, которую вы обнаружили.