Como posso impedir que o Windows 10 corrompa o superbloco ext4 toda vez?

21

Eu tenho um pc com inicialização dupla do Ubuntu / Windows há mais de 5 anos. A última configuração de trabalho foi: Windows 10 e Ubuntu 16.04 LTS.

Eu instalo o Ubuntu 16.10 na partição Linux e tenho alguns problemas:

  • Se eu inicializar apenas no Linux, sem problemas, funciona bem.
  • Se eu inicializar o Windows, não há problema, o Windows funciona bem.
  • Se eu inicializar o Linux após o Windows, tenho um erro de superbloco e largo para o busybox.

Se eu restaurar o superbloco com

fsck.ext4 -p -b 884736 -B 4096 /dev/sda5

Posso inicializar o Linux, mas após outra inicialização no Windows, os mesmos problemas ocorrem novamente.

Claro que tentei soluções encontradas:

  • chkdske testdiskenquanto no windows.
  • Eu removo a partição estendida e deixo que o instalador do Linux os recrie.
  • Crie by e, a partição estendida + ext4 e troque e selecione essas partições durante o processo de instalação.

A tabela de partição ( fdisk -lu):

Disk /dev/sda: 298,1 GiB, 320072933376 bytes, 625142448 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6bb7527c

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1            2048  22783999  22781952  10,9G  7 HPFS/NTFS/exFAT
/dev/sda2  *     22784000  22988799    204800   100M  7 HPFS/NTFS/exFAT
/dev/sda3        22988800 375246847 352258048   168G  7 HPFS/NTFS/exFAT
/dev/sda4       375246848 625141759 249894912 119,2G  f W95 Ext'd (LBA)
/dev/sda5       383440896 617844735 234403840 111,8G 83 Linux
/dev/sda6       617846784 625141759   7294976   3,5G 82 Linux swap / Solaris

Fiz mais alguns testes sem sucesso:

  • Eu removi a partição estendida do Linux
  • Estendi a partição do Windows para o disco completo
  • Lancei um chkdsk /F /Rnesta nova partição do windows → depois de algumas horas tudo está bom
  • Reinstalei o Ubuntu 16.10 e deixei o programa de instalação redimensionar o disco e criar a parte ext4 e swap.
  • Eu inicializo Linux → não há problema
  • Eu inicializo o Windows → não há problema (chego ao menu do Windows que me permite escolher entre Windows e Linux, eu escolho o Windows)
  • Inicializo o Linux: mesmo problema novamente (erro de superbloco)

Atualização: o erro exato do superbloco:

fsck.ext4: Superblock checksum does not match superblock while trying to open /dev/sda5

Para repará-lo:

fsck.ext4 -p -b 884736 -B 4096 /dev/sda5

funciona bem, mas após uma inicialização do Windows, o problema está lá novamente ...

Atualização 2: No W10, eu posso montar a partição linux ext4 com a ext2ferramenta W10 . Funciona bem, eu posso ver os arquivos. Mas depois disso, mesmo problema, quando eu inicializo no Linux: erros de superbloco.

Claro que, se eu apenas inicializar o W10 (sem login) e reiniciar o linux, o problema também estará lá.

O problema estava presente no W10 1511, atualizei para o W10 1607: mesmo problema

Vi que não estava sozinho na terra com esse problema, mas não encontrei nenhuma solução.

update2: Eu removi a partição linux e swap e crie uma nova partição no Windows. Então eu reinstalei o Ubuntu 16.10 => mesmo problema novamente

atualização 3: O início da solução Talvez eu tenha encontrado uma solução. Quando conectado ao Windows: Com o comando diskpart, quando o volume do linux é definido, offline não há mais problemas ao inicializar o Linux.

Agora tenho que descobrir como definir o volume offline automaticamente (regedit?)

f35
fonte
O Windows e o Linux estão instalados no UEFI BIOS ou no modo BIOS herdado? Você altera as configurações do BIOS quando alterna entre o Windows e o Ubuntu? Você usa algum tipo de RAID para sua configuração de armazenamento? Você acessou o sistema de arquivos ext no Windows com um driver de sistema como o Ext2fsd?
David Foerster
BIOS UEFI: não, Alteração no BIOS: não, RAID não (é um MSI u270), acesse a partição linux no Windows: não. Apenas inicializar o Windows (sem login) e reiniciar com o ubuntu faz o problema aparecer. Graças a tomar atenção para o meu problema
f35
Qual erro de super bloco? Não é um problema de relógio de ponto? Se o tempo armazenado no super bloco for menor que o relatado pelo relógio hardawre, você poderá ter esse problema. Tente armazenar o tempo no UTC no relógio do hardware, tanto no linux quanto no windows.
SolsTiCe
@solsTiCe: verifique minha atualização na postagem inicial para obter o erro exato de superbloco. O relógio na bios é UTC, o relógio no Windows é UTC com horário local, o relógio no Ubuntu: sudo dpkg-reconfigure tzdata Fuso horário padrão atual: 'Europe / Paris' A hora local é agora: Dom Nov 20 21:55:16 CET 2016. A hora universal é agora: dom 20 de novembro 20:55:16 UTC de 2016.
f35 20/11/2016
@ f35 Eu tenho o mesmo problema. Inicialização dupla com o Dell XPS 13 9350 com unidade ssd. Inicializa no Ubuntu 16.10 após restaurar o superbloco com o fsck e sem problemas ao reiniciar do Ubuntu. Inicializa no Windows 10 a partir do Ubuntu e não reinicia nenhum problema. No entanto, na reinicialização no Ubuntu, o mesmo erro de superbloco exigindo a correção acima. Tentei a resposta abaixo (desative o serviço de backup em nível de bloco), mas não foi corrigido. Também confirme que os relógios são os mesmos do seu comentário acima. Alguém sabe porque isto está acontecendo?
precisa saber é o seguinte

Respostas:

12

Eu fiz algumas pesquisas e parece que desde o ext2fsprogs 1.43 (Ubuntu 16.10), os 64 bits e os metadata_csumrecursos são ativados quando um novo sistema de arquivos ext4 é criado. Fiz uma nova instalação do Ubuntu 16.10, mas antes de instalar, iniciei a sessão ao vivo do USB e removi os 64 bits e os metadata_csumrecursos do ext4 /etc/mke2fs.conf. Depois disso, executei o instalador desta sessão ao vivo e agora posso iniciar o Windows 10 sem danificar minhas partições ext4 (você deve reformatar suas partições ext4 durante a instalação do Ubuntu 16.10).

O problema está relacionado ao ext2fsd, que obviamente não suporta o recurso de 64 bits e / ou o recurso metadata_csum. É suficiente ter o ext2fsd instalado para corromper suas partições ext4. Não há necessidade de serem montados no Windows.

Você pode verificar se esses recursos estão ativados com o seguinte comando:

sudo tune2fs -l /dev/[sdXX]

onde [sdXX] representa a partição ext4 em questão.

cânhamo
fonte
4
Obrigado, também funciona e é uma solução melhor, eu acho. Nós podemos fazê-lo sem re instalar o sistema linux: a partir de um CD ao vivo: sudo tune2fs -O ^ metadata_csum, ^ 64 bits / dev / sdXX
f35
@ f35: observe que o CD / USB ao vivo deve ser o Ubuntu 16.10, pois as versões anteriores do Ubuntu não sabem nada sobre a soma de verificação de metadados.
precisa saber é o seguinte
Você pode usar mais cedo liveCD do / DVD / whatever se você tiver outra unidade USB com uma partição FAT32 e você colocar e2fslibs 1,43 e e2fsprogs 1,43 pacotes Debian nele e instalá-los, quer através de dpkgou udpkgtambém.
precisa saber é o seguinte
que programa horrível.
precisa saber é o seguinte
"Não há necessidade de serem montados no Windows." Por que esse problema ocorre toda vez que eu inicializo o Windows?
precisa saber é o seguinte
10

Eu tenho o mesmo problema e, para mim, parece ser o driver do sistema de arquivos ext2fsd do Windows 10. Talvez para você também? Quando desinstalo o ext2fsd (versão 0.68), posso iniciar o Windows 10 quantas vezes quiser e as partições ext4 permanecem limpas. Com o ext2fsd instalado, todas as partições ext4 são corrompidas, independentemente de serem montadas ou não.

cânhamo
fonte
2
Obrigado! A desinstalação do ext2fsd do Windows resolveu o meu problema
Yohanes Gultom
2

Eu tenho uma solução que funciona para mim (diskpart é meu amigo)

1) identifique a partição linux nas janelas administrativas do cmd:

diskpart
list volume

você pode ver sua partição linux

  N° volume   Ltr  Nom          Fs     Type        Taille   Statut     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     D   BIOS_RVY     NTFS   Partition     10 G   Sain
  Volume 1     E   System       NTFS   Partition    100 M   Sain       Système
  Volume 2     C   OS_Install   NTFS   Partition    131 G   Sain       Démarrag
  Volume 3     L                       Partition     18 G   Sain     

DISKPART>

No meu caso: Volume 3

2) crie um script diskpart com o bloco de notas crie o arquivo volume3offline.txt

select volume 3
offline volume
exit

3) crie um arquivo bat com o bloco de notas, crie o arquivo govolume3offline.bat no mesmo diretório

cd \users\f35\documents
diskpart /s volume3offline.txt

4) criar uma tarefa agendada Abra o agendador de tash do Windows Programe uma tarefa que inicie o govolume3offline.bat no momento da inicialização

5) verifique se está tudo bem após uma reinicialização no Windows

diskpart
list volume

seu volume linux deve estar offline

Reinicialização no linux

If no errors => it's good
if you have errors, 
    correct them
    reboot in windows
    reboot in linux 
       If no errors => it's good
       if you have errors, goto 1)
f35
fonte
1
Minha partição raiz do linux não aparece no diskpart. Alguma idéia do porquê?
Darksworm
2

No meu disco rígido GPT, o Ubuntu 16.10 está sendo executado paralelamente ao Windows 7.

Corri para o problema de corrupção de superblocos documentado aqui, pois havia me esquecido de ter instalado o ext2fs no passado e ele ainda estava sendo executado como um serviço do Windows em segundo plano.

O novo ext2fs v0.69 diz que corrige o bug de corrupção do superbloco e eu o instalei em http://www.ext2fsd.com/ . No entanto, o "ext2fs Manager" mostrou minha unidade formatada ext4 como ext3 e não foi acessível após a montagem no Windows.

Então, eu desinstalei o ext2fs completamente e fiz

fsck.ext4 -p -b 884736 -B 4096 /dev/sdxyz

Isso resolveu o problema do superbloco e estou de volta ao normal.

user774876
fonte
1
O Ubuntu 16.10 não é suportado, portanto você deve atualizar!
Zanna
Mesma experiência com 0,69 no Ubuntu 18.04. O ext2fs claramente ainda tem problemas com os lançamentos atuais do Ubuntu.
Jonas
-1

O superbloco na partição Ubuntu está sendo corrompido pelo serviço de backup em nível de bloco do Windows 10. Desativar através do painel de controle.

dave_melb
fonte
Isso não funcionou #
samleighton87
Posso confirmar: com WBENGINE desativada, ainda tenho o problema também
f35