Eu tenho um dispositivo instalado com o Ubuntu 14.04.5 que possui um único disco rígido com um sistema de arquivos ext4.
Ao ler o documento Ext4 Filesystem , aprendi que o modo de dados padrão é o ordered
que apenas protege os metadados. No meu projeto, queremos alterá-lo para journal
também proteger os dados do arquivo, porque a segurança dos dados é de maior valor.
A primeira coisa que tentei foi modificar o /etc/fstab
arquivo. Eu tentei mudar
UUID=<UUID> / ext4 errors=remount-ro 0 1
para
UUID=<UUID> / ext4 errors=remount-ro,data=journal 0 1
anexando data=journal
ao campo de opção.
No entanto, quando reinicializei o dispositivo, recebi uma mensagem de erro informando cannot change data mode on remount
. Eu verifiquei o dmesg
e vi uma mensagem anterior sobre a montagem da unidade com o ordered
modo de dados.
Por um tempo embaraçosamente longo, pensei que /etc/fstab
seria usado para substituir as opções de montagem padrão, para que as unidades sejam montadas apenas uma vez. Mas agora parece errado: a unidade é montada usando suas opções de montagem padrão e, em seguida, /etc/fstab
é retirada para remontá-la.
Minhas perguntas são :
- Esse processo "mount-remout" é o design do sistema? Eu li a
Fstab
página da wiki, mas não a vi mencionar a coisa "mount-remount". - Se
/etc/fstab
é realmente usado para remontar, em qual etapa do processo de inicialização o drive é montado pela primeira vez? É implementado em/etc/init.d
? Eu vi alguns scripts/etc/init.d
chamadosumountfs
eumountroot
, mas, ignorando o conteúdo deles, eles não parecem relevantes.
fonte
/etc/fstab
reside no sistema de arquivos raiz, mas não pode ser lido até depois que o sistema de arquivos foi montado): O initramfs usa / etc / fstab?Respostas:
De
man ext4
:Remova
data=ordered
da sua linha fstab e edite/etc/default/grub
. Em/etc/default/grub
mudar a linhapara
executar
sudo update-grub
e reiniciar.fonte
Quando o / etc / fstab é usado
Se você executar
sudo strace -e open,openat mount -o remount,rw /
, verá que o comando é realmente aberto/etc/fstab
. Este é o comando mais comum que você verá, geralmente mencionado em artigos sobre como trabalhar a partir do shell de recuperação.Para citar também a resposta do sourcejedi (que vem do
mount(8)
manual):No entanto, isso não significa que
/etc/fstab
é sempre usado. Em particular, quando você também especifica o arquivo do dispositivo; referência aomount(8)
manual :Isso faz sentido, pois
/dir
pode ser arbitrário - remontar um dispositivo em um ponto de montagem diferente.Isso
/etc/fstab
também não é mencionado quando a montagem do/
sistema de arquivos no momento da inicialização do kernel nada sabe/etc/fstab
. Para citar a resposta de psusi :Sistemas de arquivos que não precisam do fstab
Observe também que o kernel do Linux possui outros sistemas de arquivos que residem na memória - eles não estão disponíveis para os usuários normalmente, alguns dos quais não possuem um ponto de montagem, enquanto outros são expostos aos usuários. O kernel não precisa fazer referência
/etc/fstab
a eles. Exemplo disso é/proc
- é um sistema de arquivos virtual que expõe principalmente informações sobre processos e algumas coisas sobre hardware e sistema que realmente deveriam estar/sys
- em outro sistema de arquivos virtual.fonte