
Ubuntu 14.04에 로그인하려고 했지만 비밀번호를 입력한 후 아이콘이나 대시가 표시되지 않았습니다. 나는 이전에 이 문제에 직면한 적이 있었고 해결책도 알고 있었습니다.
문제는 내 Ubuntu 파티션이 거의 가득 찼다는 것입니다.
다운로드한 대용량 파일을 Windows 파티션으로 옮길 계획이었습니다. 터미널에 들어가서 Windows 드라이브를 . Alt+Shift+F1/mnt
mv
그런 다음 를 사용하여 파일을 마운트된 드라이브로 옮겼습니다 .
파일이 성공적으로 이동되었습니다( 으로 확인했습니다 ls
).
드라이브를 마운트 해제하고 시스템을 재부팅했는데 무엇을 찾았습니까?
파일이 사라졌습니다.
그냥 그렇습니다. 이유는 무엇일까요? 또한 파일 복구를 시도했지만 지금까지 성공하지 못했습니다!
편집하다 :
일부 파일(전부는 아님)을 복구하는 데 성공했습니다. chkdsk
영향을 받은 드라이브에서 실행하자마자 파일이 탐색기에 나타났습니다 .
일부 파일이 손상되었습니다(클러스터를 덮어썼을 수 있음).
답변1
힌트를 하나 드리자면:sync
문제
커널은 (상대적으로 느린) 디스크 읽기 및 쓰기를 방지하기 위해 데이터를 메모리에 유지합니다. 이렇게 하면 성능이 향상되지만컴퓨터가 충돌하면 데이터가 손실되거나 결과적으로 파일 시스템이 손상될 수 있습니다..
`sync' 명령은 메모리의 모든 내용이 디스크에 기록되도록 합니다.
귀하의 경우에는 파일을 물리적으로 복사하기 전에 컴퓨터를 끄는 것이 좋습니다.
불행하게도 간단한 ls
대답만으로는 커널이 플러시를 완료했다는 것을 보장하기에는 충분하지 않습니다.
게다가 HDD가 완전히 가득 찬 경우에도 파일의 일부는 여전히 메모리에만 남아 있어야 합니다. 따라서 시스템을 재부팅한 후에는 해당 파일을 다시 추출할 수 있는 방법이 없습니다.램.
sync
다음 번에는 끄고 종료 상태를 기다리기 전에 명령을 제공하여 이 문제를 방지할 수 있습니다 .
mv From_Here To_There
sync && echo " ### DONE : sync finish to work ##"
참조
info coreutils 'sync invocation'
더 읽어보실 수 있어요'sync'는 메모리에 버퍼링된 모든 데이터를 디스크에 씁니다. 여기에는 수정된 슈퍼블록, 수정된 inode, 지연된 읽기 및 쓰기가 포함되지만 이에 국한되지는 않습니다. 이는 커널에 의해 구현되어야 합니다. 'sync' 프로그램은 'sync' 시스템 호출만 수행합니다.
메모
파티션을 마운트 해제하면 시스템에서 동기화가 제공되지만 마운트 해제 프로세스가 올바르게 완료될 때까지 기다려야 합니다. 그렇지 않다면 발견한 문제가 있어야 합니다.