¿Cómo puedo evitar que Windows 10 corrompa el superbloque ext4 cada vez?

21

Tengo una PC con Ubuntu / Windows de arranque dual desde hace más de 5 años. La última configuración de trabajo fue: Windows 10 y Ubuntu 16.04 LTS.

Instalo Ubuntu 16.10 en la partición de Linux y tengo algunos problemas:

  • Si solo inicio en Linux, no hay problemas, funciona bien.
  • Si inicio Windows, no hay problema, Windows funciona bien.
  • Si inicio Linux después de Windows, tengo un error de superbloque y caigo en busybox.

Si restauro el superbloque con

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

Puedo arrancar Linux, pero después de otro arranque en Windows, vuelven a ocurrir los mismos problemas.

Por supuesto que he intentado soluciones encontradas:

  • chkdsky testdiskmientras está en las ventanas.
  • Elimino la partición extendida y dejo que el instalador de Linux las vuelva a crear.
  • Cree por y, la partición extendida + ext4 y cambie y seleccione estas particiones durante el proceso de instalación.

La tabla de particiones ( 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

Hice algunas pruebas más sin éxito:

  • Eliminé la partición extendida de Linux
  • Extendí la partición de Windows al disco completo
  • Lancé un chkdsk /F /Ren esta nueva partición de Windows → después de un par de horas, todo está bien
  • Reinstalé Ubuntu 16.10 y dejé que el programa de instalación redimensionara el disco y creara la parte ext4 e intercambio.
  • Arranco Linux → no hay problema
  • Arranco Windows → no hay problema (llego al menú de Windows que me permite elegir entre Windows y Linux, elijo Windows)
  • Arranco Linux: el mismo problema nuevamente (error de superbloque)

Actualización: el error exacto de superbloque:

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

Para repararlo:

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

funciona bien, pero después de un arranque de Windows, el problema está ahí nuevamente ...

Actualización 2: desde W10, puedo montar la partición Linux ext4 con la ext2herramienta W10 . Funciona bien, puedo ver los archivos. Pero después de eso, el mismo problema, cuando inicio en Linux: errores de superbloque.

Por supuesto, si solo inicio W10 (sin inicio de sesión) y reinicio Linux, el problema también está ahí.

El problema estaba presente con W10 1511, he actualizado a W10 1607: mismo problema

Vi que no estaba solo en la tierra con este problema, pero no vi ninguna solución.

update2: eliminé la partición Linux e intercambio y creé una nueva partición desde Windows. Luego reinstalé Ubuntu 16.10 => mismo problema nuevamente

Actualización 3: El comienzo de la solución Tal vez he encontrado una solución. Cuando inicie sesión en Windows: con el comando diskpart, cuando se establece el volumen de Linux, offline no hay más problemas cuando inicio Linux.

Ahora tengo que encontrar cómo configurar el volumen fuera de línea automáticamente (¿regedit?)

f35
fuente
¿Están instalados Windows y Linux en UEFI BIOS o en modo BIOS heredado? ¿Cambias la configuración del BIOS cuando cambias entre Windows y Ubuntu? ¿Utiliza algún tipo de RAID para su configuración de almacenamiento? ¿Accedió al sistema de archivos ext desde Windows con un controlador de sistema de archivos como Ext2fsd?
David Foerster
BIOS UEFI: no, Cambio en BIOS: no, RAID no (es un MSI u270), acceder a la partición de Linux desde Windows: no. Simplemente iniciando Windows (sin iniciar sesión) y reiniciando con Ubuntu hace que aparezca el problema. Gracias por prestar atención a mi problema
f35
¿Qué error de superbloque? ¿No es un problema de reloj de tiempo? Si el tiempo almacenado en el superbloque es menor que el informado por hardawre clock, es posible que tenga ese problema. Intente almacenar la hora en UTC en el reloj de hardware tanto en Linux como en Windows.
solSTiCe
@solsTiCe: Verifique mi actualización en la publicación inicial para ver el error exacto del superbloque. El reloj en BIOS es UTC, el reloj en Windows es UTC con hora local, el reloj en Ubuntu: sudo dpkg-reconfigure tzdata La zona horaria predeterminada actual: 'Europa / París' La hora local es ahora: dom 20 de noviembre 21:55:16 CET 2016. La hora universal es ahora: dom 20 de noviembre 20:55:16 UTC 2016.
f35
@ f35 Tengo el mismo problema. Arranque dual con Dell XPS 13 9350 con unidad ssd. Se iniciará en Ubuntu 16.10 después de restaurar el superbloque con fsck y no habrá problemas al reiniciar desde Ubuntu. Se iniciará en Windows 10 desde Ubuntu y se reiniciará sin problemas. Sin embargo, al reiniciar en Ubuntu, el mismo error de superbloque requiere una reparación como la anterior. Intenté la respuesta a continuación (deshabilitar el servicio de copia de seguridad a nivel de bloque) pero no solucioné. También confirme que los relojes son los mismos que en su comentario anterior. Alguien sabe por qué sucede esto?
samleighton87

Respuestas:

12

He investigado un poco y parece que desde ext2fsprogs 1.43 (Ubuntu 16.10), los 64 bits y las metadata_csumcaracterísticas se habilitan cuando se crea un nuevo sistema de archivos ext4. Hice una nueva instalación de Ubuntu 16.10, pero antes de instalar, comencé la sesión en vivo de USB y eliminé el 64bit y las metadata_csumcaracterísticas para ext4 /etc/mke2fs.conf. Después de esto, ejecuté el instalador fuera de esta sesión en vivo y ahora puedo iniciar Windows 10 sin dañar mis particiones ext4 (debe reformatear sus particiones ext4 durante la instalación de Ubuntu 16.10).

El problema está relacionado con ext2fsd, que obviamente no admite la función de 64 bits y / o la función metadata_csum. Es suficiente tener ext2fsd instalado para corromper sus particiones ext4. No es necesario que se monten en Windows.

Puede verificar si estas características están habilitadas con el siguiente comando:

sudo tune2fs -l /dev/[sdXX]

donde [sdXX] representa la partición ext4 en cuestión.

Hempel
fuente
44
Gracias, también funciona y creo que es una mejor solución. Podemos hacerlo sin volver a instalar el sistema Linux: desde un CD en vivo: sudo tune2fs -O ^ metadata_csum, ^ 64bit / dev / sdXX
f35
@ f35: tenga en cuenta que el CD / USB en vivo debe ser Ubuntu 16.10, ya que las versiones anteriores de Ubuntu no saben nada sobre la suma de comprobación de metadatos.
krumpelstiltskin
Puede usar liveCD's / DVD's / lo que sea anterior si tiene otra unidad USB con una partición fat32 y coloca los paquetes debian e2fslibs 1.43 y e2fsprogs 1.43 e instalalos a través de cualquiera dpkgo udpkgtambién.
Wyatt8740
Qué programa tan horrible.
máximo demandante
"No es necesario que se monten en Windows". ¿Por qué ocurre este problema cada vez que inicio Windows?
quietContest
10

Tengo el mismo problema y para mí parece ser el controlador del sistema de archivos ext2fsd de Windows 10. ¿Quizás para ti también? Cuando desinstalo ext2fsd (versión 0.68) puedo iniciar Windows 10 tantas veces como quiera y las particiones ext4 se mantienen limpias. Con ext2fsd instalado, todas las particiones ext4 se corrompen sin importar si están montadas o no.

Hempel
fuente
2
¡Gracias! La desinstalación de ext2fsd de Windows resolvió mi problema
Yohanes Gultom
2

Tengo una solución que funciona para mí (diskpart es mi amigo)

1) identifique la partición de Linux en las ventanas administrativas de cmd:

diskpart
list volume

puedes ver tu partición de 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>

En mi caso: volumen 3

2) crea un script de diskpart con el bloc de notas crea el archivo volume3offline.txt

select volume 3
offline volume
exit

3) crea un archivo bat con el bloc de notas crea el archivo govolume3offline.bat en el mismo directorio

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

4) crear una tarea programada Abra el programador de Windows Tash Programe una tarea que inicie govolume3offline.bat en el momento del arranque

5) compruebe si todo está bien después de reiniciar en Windows

diskpart
list volume

su volumen de Linux debería estar fuera de línea

Reiniciar en 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
fuente
1
Mi partición raíz de Linux no aparece en diskpart. ¿Alguna idea de por qué?
Darksworm
2

En mi disco duro GPT, Ubuntu 16.10 se ejecuta en paralelo a Windows 7.

Me encontré con el problema de corrupción de superbloque documentado aquí, ya que había olvidado haber instalado ext2fs en el pasado y todavía se estaba ejecutando como un servicio de Windows en segundo plano.

El nuevo ext2fs v0.69 dice que corrige el error de corrupción del superbloque y lo instalé desde http://www.ext2fsd.com/ . Sin embargo, el "Administrador ext2fs" mostró mi unidad formateada ext4 como ext3 y no fue accesible después de montar bajo Windows.

Entonces, desinstalé ext2fs completamente y lo hice

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

Esto resolvió el problema del superbloque y he vuelto a la normalidad.

usuario774876
fuente
1
Ubuntu 16.10 no es compatible, por lo que debe actualizar.
Zanna
Misma experiencia con 0.69 con Ubuntu 18.04. Claramente, ext2fs todavía tiene problemas con las versiones actuales de Ubuntu.
Jonas
-1

Superblock en Ubuntu Partition está siendo dañado por el servicio de copia de seguridad de nivel de bloque de Windows 10. Deshabilitar a través del panel de control.

dave_melb
fuente
Esto no funcionó
samleighton87
Puedo confirmar: con wbengine deshabilitado, todavía tengo el problema también
f35