J'ai un pc avec dual-boot Ubuntu/Windows depuis plus de 5 ans.
La dernière configuration de travail était :windows 10 et Ubuntu 16.04 LTS.
J'installe Ubuntu 16.10 sur la partition Linux et j'ai quelques problèmes :
- Si je ne démarre que sous Linux, pas de problème, ça marche bien.
- Si je démarre Windows, pas de problème, Windows fonctionne correctement.
- Si je démarre Linux après Windows, j'ai une erreur superbloc et je passe à busybox.
Si je restaure le superbloc avec
fsck.ext4 -p -b 884736 -B 4096 /dev/sda5
Je peux démarrer Linux mais après un autre démarrage de Windows, les mêmes problèmes se reproduisent.
Bien sûr, j'ai essayé des solutions trouvées :
chkdsk
ettestdisk
sous Windows.- Je supprime la partition étendue et laisse le programme d'installation Linux les recréer.
- Créez par et, la partition étendue + ext4 et permutez et sélectionnez ces partitions pendant le processus d'installation.
La table de partition (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
J'ai refait d'autres tests sans succès :
- J'ai supprimé la partition étendue Linux
- J'ai étendu la partition Windows au disque complet
- J'ai lancé un
chkdsk /F /R
sur cette nouvelle partition windows → après quelques heures tout va bien - J'ai réinstallé Ubuntu 16.10 et laissé le programme d'installation redimensionner le disque et créer la partie ext4 et swap.
- Je démarre Linux → pas de problème
- Je démarre Windows → pas de problème (j'accède au menu Windows qui me laisse choisir entre Windows et Linux, je choisis Windows)
- Je démarre Linux :encore le même problème (erreur superbloc)
Mettre à jour :
l'erreur exacte du superbloc :
fsck.ext4: Superblock checksum does not match superblock while trying to open /dev/sda5
Pour le réparer :
fsck.ext4 -p -b 884736 -B 4096 /dev/sda5
fonctionne bien, mais après un démarrage de Windows, le problème est de nouveau là…
Update 2 :
A partir de W10, je peux monter la partition linux ext4 avec le W10 ext2
outil. Cela fonctionne bien, je peux voir les fichiers. Mais après ça, même problème, quand je boot sous Linux :erreurs superbloc.
Bien sûr, si je démarre simplement W10 (sans connexion) et que je redémarre Linux, le problème est également là.
Le problème était présent avec W10 1511, je suis passé à W10 1607 :même problème
Connexe :Comment vérifier les erreurs dans la RAM via Linux ?J'ai vu que je n'étais pas seul sur terre avec ce problème, mais je n'ai vu aucune solution.
update2 :
J'ai supprimé la partition Linux et swap et créé une nouvelle partition à partir de Windows.
Puis j'ai réinstallé Ubuntu 16.10 => encore le même problème
update 3 :Un début de solution
J'ai peut-être trouvé une solution.
Une fois connecté à windows :
Avec la commande diskpart
, lorsque le volume Linux est défini offline
il n'y a plus de problème lorsque je démarre Linux.
Je dois maintenant trouver comment mettre le volume hors ligne automatiquement (regedit ?)
Meilleure réponse
J'ai fait quelques recherches et il semble que depuis ext2fsprogs 1.43 (Ubuntu 16.10), le 64bit et le metadata_csum
les fonctionnalités sont activées lorsqu'un nouveau système de fichiers ext4 est créé. J'ai fait une nouvelle installation d'Ubuntu 16.10, mais avant l'installation, j'ai commencé la session USB en direct et supprimé le 64 bits et metadata_csum
fonctionnalités pour ext4 depuis /etc/mke2fs.conf
. Après cela, j'ai exécuté le programme d'installation de cette session en direct et maintenant je peux démarrer Windows 10 sans corrompre mes partitions ext4 (vous devez reformater vos partitions ext4 lors de l'installation d'Ubuntu 16.10).
Le problème est lié à ext2fsd qui ne prend évidemment pas en charge la fonctionnalité 64 bits et/ou la fonctionnalité metadata_csum. Il suffit d'avoir ext2fsd installé pour corrompre vos partitions ext4. Il n'est pas nécessaire qu'ils soient montés sous Windows.
Vous pouvez vérifier si ces fonctionnalités sont activées avec la commande suivante :
sudo tune2fs -l /dev/[sdXX]
où [sdXX] représente la partition ext4 en question.