Questão Arquivos desaparecidos depois de remontar a partição NTFS. Por quê?


Eu estava tentando fazer o login no meu Ubuntu 14.04, mas depois de digitar a senha, não consegui ver nenhum ícone ou traço. Eu já havia enfrentado esse problema antes e também sabia a solução.
O problema era que minha partição Ubuntu estava quase cheia.

Eu planejei mover os enormes arquivos baixados para minha partição do Windows. Entrei no terminal Alt+Mudança+F1 e montei minha unidade do Windows em /mnt.

Então eu mudei arquivos usando mv para minha unidade montada.
Os arquivos foram movidos com sucesso (confirmei isso com ls).
Desmontei a unidade e reiniciei o sistema e o que encontrei?
Os arquivos foram desaparecidos.

Bem desse jeito. O que pode ser a razão? Eu também tentei recuperar os arquivos, mas sem sucesso até agora!

EDITAR: Eu consegui recuperar alguns dos arquivos (não todos). Os arquivos apareceram no explorador assim que eu corri chkdsk na unidade afetada.

Alguns arquivos estavam corrompidos (os clusters podem ter sido sobrescritos).


2


origem


Você desligou o Windows corretamente ou você hibernou? Se você hibernou, o sistema de arquivos do Windows pode não ser consistente e você pode danificá-lo ao montá-lo e modificá-lo. - NZD
@NZD Foi devidamente desligado - CyberGeek
No Ubuntu, a unidade do Windows é montada como NTFS ou NTFS-3g? O Linux não pode gravar em NTFS, apenas NTFS-3g. O comando mount para NTFS provavelmente contém um argumento umask = 0222 para remover todas as permissões de gravação. Se esse é o problema, não houve escrita. (Mas isso não explica a confirmação.) - fixer1234
Você verificou com sudo ls /mnt onde a partição ur ntfs está montada em / mnt - Bharat G
@BharatG Sim, foi montado. - CyberGeek


Respostas:


Apenas uma sugestão: um sync problema

O kernel mantém dados na memória para evitar fazer disco (relativamente lento)   lê e escreve. Isso melhora o desempenho, mas se o computador   falhas, os dados podem ser perdidos ou o sistema de arquivos corrompido como resultado.

O comando `sync 'garante que tudo na memória seja gravado no disco.

No seu caso, provavelmente você desligue o computador antes que ele termine de copiar fisicamente os arquivos.
Infelizmente o simples ls A resposta não é suficiente para garantir que o kernel termine de liberá-los.

Além disso, se o seu disco rígido estiver completamente cheio, alguma parte dos arquivos ainda deve estar apenas na memória; assim, após a reinicialização do sistema, não há como extraí-los novamente do RAM.

Da próxima vez você pode tentar evitar este problema dando um sync comando antes de desligar e aguardar seu status de saída:

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

Referência 

  • info coreutils 'sync invocation' você pode ler mais

    'sync' grava todos os dados armazenados na memória em disco. Isso pode   incluem (mas não se limitam a) superblocos modificados, inodes modificados,   e leituras e escritas atrasadas. Isso deve ser implementado pelo kernel;   o programa 'sync' não faz nada além de exercitar a chamada de sistema `sync '.

Nota

Quando você desmonta a partição, a sincronização é dada pelo sistema, mas você precisa esperar que o processo de desmontagem seja concluído corretamente. Se não, você deve ter o problema que encontrar.


0