Aparentemente, a resposta está aqui: /superuser/251537/mount-specific-ntfs-directory-on-linux, no entanto, não está funcionando como o esperado.
Eu tenho um sistema de inicialização dupla com Windows 7 e Ubuntu 13.04 (atualizado a partir da 12.10) e quero acessar minhas pastas pessoais do Windows 7 para leitura e gravação. Segui as instruções de acordo com o link fornecido e meu /etc/fstab
arquivo fica assim:
/dev/sda1 /media/windows ntfs ro,umask=0222,defaults 0 0
/media/windows/Users/MyUser/ /home/myuser/Windows ntfs-3g rbind,user,umask=0222,defaults 0 0
/media/windows/Users/OtherUser/ /home/otheruser/Windows ntfs-3g rbind,user,umask=0222,defaults 0 0
Quase funciona como esperado. Meu partição do Windows está em /media/windows/
com permissões somente leitura e minha pasta pessoal do Windows está em ~/Windows
. No entanto, essa pasta pessoal também é somente leitura.
Nota: estou configurando isso em um ambiente de várias sessões, portanto, preciso que ele funcione para minha sessão e para as sessões de outros usuários. Eu preciso que cada usuário possa acessar e poder escrever e ler suas pastas do Windows no Linux.
/root/
(que está funcionando). Minha solução atual usa as dicas fornecidas pelo falconer, ajThapa, totti e yilmi, nenhuma delas está funcionando conforme o esperado na pergunta original (as proteções não são suficientes), mas está funcionando (os usuários têm acesso rw aos dados). Todas essas respostas mencionadas foram votadas.Respostas:
A questão do superusuário vinculado acima é para montar a partição e o subdiretório no modo somente leitura . Você precisa apenas do subdiretório (pasta pessoal) para ser lido / gravado.
Primeiro verifique se o seu sistema pode montar a partição NTFS no modo de leitura e gravação
Agora teste se o fs montado é gravável. Caso contrário, pare aqui e faça outra pergunta neste site.
O problema é que o subdiretório de uma partição montada em RO não pode estar no RW. Portanto, a solução é montar a partição do Windows no RW em um local oculto e inacessível. Então, vamos montá-lo em / root / win, que é inacessível para usuários não-root (sem
sudo
)Como usuário root , siga as
etapas
1. Monte a partição do Windows no RW
2. Ligue-o
3. Vincule uma instância somente leitura da partição do Windows
Agora tudo deve ficar bem. Além disso, você pode desmontar a partição do Windows, mas eu aviso em algum sistema que tornará o vinculado (@home) inacessível. O código é
umount /root/win
Como alternativa, você pode montar a partição do Windows no RW em / media / windows (em vez de / root / win) e vincular imediatamente a montagem no mesmo ponto de montagem (/ media / windows) para que ninguém (nem mesmo a raiz) possa escrever no partição (mas na pasta do usuário).
fonte
Remounting is not supported at present. You have to umount volume and then mount it once again.
Duvido que a resposta do superusuário vinculado seja funcional. (Embora eu não possa experimentá-lo.) De
man mount
:Também duvido que seja possível fazer
--rbind
parte de um sistema de arquivos com um driver de sistema de arquivos diferente (ntfs vs ntfs-3g).Quando
rbind
o comando mount ignora todas as opções, nada se torna leitura / gravação. E como o driver ntfs do kernel não suporta gravações, obviamente arw
opção também não ajudará. Use o driver ntfs-3g.Basicamente, o que você deve fazer é isso (em um terminal):
(Eu acho que isso
--rbind
também é desnecessário,--bind
deve ser o suficiente.)E com relação ao comentário sob a pergunta: é claro que você não precisa reiniciar o sistema para teste, basta usar o
mount
comando como fiz acima. (E desmonte com oumount
comando.)Depois de confirmar que isso funciona como pretendido, basta modificar a montagem e adicionar as opções desejadas: uid, gid, umask, etc.
fonte
mount
, no entanto, quando encontrar a configuração funcional, desejarei fazê-lo automaticamente,/etc/fstab
por qualquer outro meio. (Com a Ob Pergunta: como faço para traduzirmount
comandos emfstab
parâmetros?)fstab
é apenas um arquivo que é analisado sequencialmente pelomount
comando na inicialização. Mas acho que o Ubuntu não usa,mount
masmountall
na inicialização, que pode não executar os comandos no fstab sequencialmente. Então, sim, colocar esses parâmetros de comando simplesmente parafstab
não funcionar. Mas você sempre pode colocar simplesmente os comandos de montagem de trabalho em um script de inicialização (por exemplo/etc/rc.local
) ou fazer um trabalho inicial com eles. O mais importante no seu caso é descobrir um esquema de montagem funcional, tornando fácil a montagem automática na inicialização.man mount
ou aqui . Breve história: primeiro campo: dispositivo a montar, segundo campo: ponto de montagem, terceiro campo: tipo fs (mais precisamente driver fs), quarto campo: opções de montagem, o outro campo é menos importante agora. Portanto, no comando mount, a string que escrevemos atrás-t
fica no terceiro campo, a string que escrevemos atrás-o
entra no quarto campo.Veja se isso ajuda ...
Se
sda1
já estiver montado/media/windows
, você pode desmontá-lo com:Em seguida, crie o diretório
windows
em/media/
:Edite o
/etc/fstab
seguinte:( Nota : altere os valores uid e gid como para o usuário. Para obter o uid e gid de um usuário, você pode usar o comando
id -u username
eid -g username
resp.)Agora você pode montá-los com o comando:
Agora vá para os diretórios religados e veja se você pode editar o arquivo. E você deveria estar pronto.
fonte
/media/windows
(não relatadasls
, mas posso editar arquivos) como root, no entanto, nos diretórios locais que precisosudo
, para modificar os arquivos./media/windows
a/home/someotheruser/Windows
.Faça todos os seus testes antes de editar seu arquivo de configuração do fstab.
Bem, você provavelmente sabe que o sistema de arquivos NTFS é automaticamente montado em somente leitura se o sistema de arquivos estiver sinalizado como sujo. O que você deve fazer primeiro antes de tentar qualquer uma das respostas é montar o disco no Windows e executar o chkdsk antes de tentar montá-lo novamente.
Além disso, se a montagem em rw ainda falhar, tente montar com diferentes opções de tipo de montagem, como
sudo mount -t ntfs
ousudo mount -t ntfs-3g
Depois que o fs estiver montado no rw, você poderá fazer o seguinte:
mount --bind /media/MOUNTPOINT/TARGETFOLDER /home/SHAREDDIRECTORY/
mount -o remount,ro /home/SHAREDDIRECTORY/
ou
sudo gksu nautilus
ousudo gksu dolphin
para abrir um explorador com direitos sufonte
chkdsk
. Havia realmente algumas corrupções na partição NTFS, e agora eu posso escrever na unidade montada comsudo
.Por que não tentar montá-lo com o atributo de leitura e gravação
rw
:?/ dev / sda1 / media / windows ntfs rw , umask = 0222, padrões 0 0
fonte
Não tenho muita certeza, no entanto, você pode tentar isso por favor. Após a montagem do inversor, dê o seguinte comando no terminal
digite sua senha administrativa e, na janela gráfica que é aberta, você poderá clicar na unidade e alterar as permissões de leitura / gravação.
Deixe-me saber se isso funciona. Há ajuda disponível para uso do nautilus com interface gráfica com privilégios de root.
fonte
Eu recomendaria o uso do sudo chmod.666 ~ / Windows
https://help.ubuntu.com/community/FilePermissions
fonte
sudo
). Ele rejeita o comando dizendo que o sistema é somente leitura. Nem mesmo em/media/windows/
que é toda a partição (e que não seria o comportamento esperado)A maneira mais fácil de montar o Windows como leitura e gravação é simplesmente reiniciá-lo ou desligar completamente. A partição NTFS hiberna quando o "desligamento rápido" é usado. Este princípio é abordado em mais detalhes neste link.
fonte