Como montar automaticamente o NTFS hibernado para somente leitura?

6

Existe alguma maneira de configurar o Ubuntu desta maneira:

Se eu não conseguir montar o sistema de arquivos no modo rw , monte-o no modo ro no mesmo diretório.

Como resultado, não devo encontrar a notificação de que o sistema não pode montar o sistema de arquivos (Ignorar ou notificação de correção manual). Portanto, quando eu inicio o sistema, devo ter minhas partições ntfs montadas no modo rw ou ro, dependendo se as janelas estão em hibernação.

entrada fstab:

#/dev/sda7
UUID=D0B43178B43161E0 /media/Dane           ntfs    defaults,errors=remount-ro 0        1

Resultado "mount -a":

The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Failed to mount '/dev/sda7': Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the 'ro' mount option.

Eu tenho o Ubuntu 13.10 e o win8. Eu uso o boot seguro do uefi.

    
por Piotr 02.11.2013 / 15:04

3 respostas

1

Eu encontrei uma maneira de montar uma partição do windows hibernada em modo somente leitura quando qualquer erro ocorre

Espero que funcione para você também. Estou descrevendo abaixo como fazer isso.

  • Abra o arquivo /etc/rc.local com privilégios de root em qualquer editor.

    sudo gedit /etc/rc.local
    
  • Agora adicione as seguintes linhas finalmente:

    sudo mount /dev/sda7 /media/Dane
    if [ $? -eq 14 ]
    then
      sudo mount -o ro /dev/sda7 /media/Dane
    fi
    exit 0
    

    Se exit 0 já estiver escrito, exclua a duplicata. Certifique-se de que /etc/sda7 é a partição do Windows que você vai montar quando ocorrer um erro e se já houver um diretório chamado Dane criado em /media . Se não, então, altere /dev/sdaX de acordo e crie o diretório.

  • Atualize agora usando o seguinte comando:

    sudo update-rc.d -f /etc/rc.local
    

    Não tenho certeza se esse comando é necessário ou não, mas apenas execute o que cada mensagem que ele fornece.

  • Agora, finalmente, reinicie o sistema quando o Windows estiver em hibernação.

Uma pequena descrição:

O comando escrito no arquivo /etc/rc.local , na verdade, é executado antes e depois da inicialização do sistema, portanto, atua como uma inicialização. O primeiro comando no script tentará montar a partição e obter o código de erro retornado. então $? é 14 quando ocorre algum erro. $? é 16 quando a partição já está montada e tentando montá-lo novamente ...

Responda se algo der errado. Eu estarei esperando por sua resposta ..

    
por Saurav Kumar 02.11.2013 / 16:11
4

Antes de tudo, você precisará encontrar o ID do dispositivo usando:

sudo fdisk -l

Procure pelo que está formatado como NTFS em System e lembre-se do id do dispositivo (deve ser parecido com / dev / sda2). Em seguida, crie o diretório de montagem e monte-o.

mkdir Windows
sudo mount -o ro /dev/sdaX Windows

(Substitua X pelo seu ID de dispositivo)

    
por 1lann 02.11.2013 / 15:13
0

Esta é a minha solução, não é a melhor.

Acabei de adicionar a segunda entrada ao fstab com a opção nobootwait. Se a primeira entrada não funcionar, a segunda entrada funciona e nenhuma mensagem é informada pelo sistema. Se a primeira entrada funcionar, a segunda entrada não funciona devido à primeira entrada. Vamos ver se vai funcionar corretamente: D

#/dev/sda7
UUID=D0B43178B43161E0 /media/Dane           ntfs    defaults,nobootwait,errors=remount-ro 0        1
UUID=D0B43178B43161E0 /media/Dane           ntfs   suid,dev,exec,auto,nouser,async,nobootwait,ro    0       2
    
por Piotr 02.11.2013 / 20:05