GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo evitar que Windows 10 dañe el superbloque Ext4 cada vez?

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

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

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

Si restauro la supermanzana 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 probado las soluciones encontradas:

  • chkdsk y testdisk mientras está en Windows.
  • Elimino la partición extendida y dejo que el instalador de Linux las vuelva a crear.
  • Cree por y, la partición extendida + ext4 e intercambie 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:

  • Quité la partición extendida de Linux
  • Extendí la partición de Windows al disco completo
  • Lancé un chkdsk /F /R en 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 cambiara el tamaño del disco y creara la parte ext4 y swap.
  • Inicio Linux → no hay problema
  • Arranco Windows → no hay problema (llego al menú de Windows que me permite elegir entre Windows y Linux, elijo Windows)
  • Inicio Linux:el mismo problema otra vez (error de superbloque)

Actualización:
el error de supermanzana exacto:

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 vuelve a aparecer...

Actualización 2:
Desde W10, puedo montar la partición linux ext4 con W10 ext2 herramienta. Funciona bien, puedo ver los archivos. Pero después de eso, el mismo problema, cuando arranco 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, actualicé a W10 1607:el mismo problema

Relacionado:¿Cómo verificar si hay errores en la RAM a través de Linux?

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

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

actualización 3:El comienzo de la solución
Tal vez encontré una solución.
Cuando inicie sesión en Windows:
Con el comando diskpart , cuando el volumen de Linux está configurado offline
ya no hay problema cuando inicio linux.

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

Mejor respuesta

Investigué un poco y parece que desde ext2fsprogs 1.43 (Ubuntu 16.10), el 64bit y el metadata_csum Las funciones se habilitan cuando se crea un nuevo sistema de archivos ext4. Realicé una instalación nueva de Ubuntu 16.10, pero antes de la instalación, inicié la sesión USB en vivo y eliminé los 64 bits y metadata_csum funciones para ext4 desde /etc/mke2fs.conf . Después de esto, ejecuté el instalador de esta sesión en vivo y ahora puedo iniciar Windows 10 sin dañar mis particiones ext4 (tiene que reformatear sus particiones ext4 durante la instalación de Ubuntu 16.10).

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

Puede verificar si estas funciones están habilitadas con el siguiente comando:

sudo tune2fs -l /dev/[sdXX]

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


Ubuntu
  1. Linux:¿cómo iniciar una partición de Windows desde la línea de comandos de Grub?

  2. ¿Cómo deshabilitar la tecla de Windows para que no abra la descripción general de actividades?

  3. ¿Cómo rastrear el tiempo desde la línea de comandos?

  4. Cómo configurar la dirección IP desde C en Linux

  5. ¿Cómo se instala Linux junto con Windows 8 sin corromper la configuración de arranque de Windows 8?

Cómo acceder al escritorio remoto de Windows desde Ubuntu Linux

Cómo establecer o cambiar la zona horaria en Linux

Cómo ejecutar Ubuntu usando el subsistema de Windows para Linux

Cómo acceder a las particiones de Linux desde Windows 10

Cómo conectarse a WiFi desde la terminal en Ubuntu Linux

Cómo evitar que PHP-FPM consuma demasiada RAM en Linux