On peut utiliser ce post pour aider un novice qui s'est profondément enfoncé dans la mouise en installant Ubuntu en dual-boot avec Windows (ici Win7) sur un disque dur dynamique (et non pas sur un disque "de base" comme il se doit : voir nota en fin de post). Après install de Ubuntu, Ubuntu marche très bien mais si on choisit de démarrer sur Win7 dans le menu Grub, Win7 fait semblant de démarrer puis c'est l'écran bleu puis vite fait le redémarrage automatique du PC. La plupart du temps, les partitions essentielles pour Windows (la partition de boot et la partition système Windows) sont préservées des outrages et il est possible de les récupérer avec Testdisk. C'est ce que je détaille ci-dessous. Mais cette restauration de Windows casse Ubuntu et il sera nécessaire de réinstaller Ubuntu après réparation.
Préparation : comme tout ce qui concerne les partitions est sujet à catastrophe, il convient avant tout de sauvegarder sur disque dur externe ce qui peut encore être sauvegardé avant d'aller plus loin. C'est le cas des doc précieux qui pourraient se trouver dans la partition système de Windows (disque C: selon appellation Windows) et auxquels on peut accéder depuis Ubuntu par Raccourcis > Poste de travail : en clicouillant sur les icônes qui se trouvent là, on finit par ouvrir la partition Windows et on peut faire la sauvegarde des doc précieux sur DD externe.
Les outils qui sont utilisés ci-dessous sont :
- Bootinfoscript (c'est surtout pour montrer les symptômes du pb parce que Bootinfoscript ne répare rien par lui-même) :
http://forum.ubuntu-fr.org/viewtopic.php?pid=3534285
- TestDisk (c'est lui qui répare) :
http://www.cgsecurity.org/wiki/FR_TestDisk
Pour Testdisk, soit on l'installe depuis une session live Ubuntu :
http://doc.ubuntu-fr.org/testdisk#installation
Soit on abandonne le support live Ubuntu au profit du live-CD Gparted qui contient le programme Testdisk. Je donne des détails à ce sujet dans le post #12 ci-dessous. Par ailleurs, la doc du site donne quelques indications sur le live-CD Gparted :
http://doc.ubuntu-fr.org/gparted#live_cd
Etat du partitionnement vu par bootinfoscript (les partitions sdc1 et sdc2 sont identifiées comme "SFS"):
Drive: sdc ___________________ _____________________________________________________
Disque /dev/sdc: 87.3 Go, 87253057536 octets
255 têtes, 63 secteurs/piste, 10607 cylindres, total 170416128 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Sector size (logical/physical): 512 bytes / 512 bytes
Partition Boot Start End Size Id System
/dev/sdc1 63 2,047 1,985 42 SFS
/dev/sdc2 * 2,048 50,438,143 50,436,096 42 SFS
/dev/sdc3 50,440,190 170,414,079 119,973,890 5 Extended
/dev/sdc5 50,440,192 69,969,919 19,529,728 83 Linux
/dev/sdc6 69,971,968 71,923,711 1,951,744 82 Linux swap / Solaris
/dev/sdc7 71,925,760 170,414,079 98,488,320 83 Linux
Commentaire : je fais ces manips dans VirtualBox, c'est pourquoi j'ai un disque dur nommé /dev/sdc. Le novice, son disque dur concerné par les partitions SFS, c'est très généralement /dev/sda
Etat du partitionnement résultant de la commande sudo fdisk -l (rien de passionnant, c'est seulement pour dire qu'on voit également "SFS" en fin de certaines lignes. Les chiffres sont différents parce que les unités sont différentes de celles du bootinfoscript ) :
Lancement de Testdisk
Edit : Pour un "pas à pas" de l'utilisation de Testdisk, vous pouvez utiliser avec bonheur ce tuto qui détaille les opérations que j'ai présentées un peu trop sommairement ci-dessous : http://rvmatysiak.free.fr/index.php/fr/tutgene/29-convertir-un-disque-dynamique-en-disque-de-base-sans-perte-de-donnees.html
Etat du partitionnement vu par Testdisk (copie d'écran en haut, extrait correspondant du rapport testdisk.log en bas. Oui, c'est le même contenu puisque c'est l'extrait du rapport qui correspond au moment où j'ai fait la capture) :
Current partition structure:
1 P W2K Dynamic/SFS 0 1 1 0 32 32 1985
2 * W2K Dynamic/SFS 0 32 33 3139 160 29 50436096
3 E extended 3139 192 60 10607 200 25 119973890
5 L Linux 3139 192 62 4355 108 41 19529728
X extended 4355 108 42 4477 11 14 1953792
6 L Linux Swap 4355 141 11 4477 11 14 1951744
X extended 4477 11 15 10607 200 25 98490368
7 L Linux 4477 43 47 10607 200 25 98488320
Résultat après validation de la "Quick search" (les lignes apparaissent en vert) :

Testdisk a retrouvé deux partitions NTFS et le but du jeu, c'est de tenter de les rétablir au détriment de Ubuntu puisqu'on voit que la première partition Linux ( sdc5 sur le résultat du bootinfoscript au début du post) est passée à la trappe.
Ajouté le 26 février 2011 : bien souvent on sera obligé de supprimer toutes les partitions Linux à cette étape comme c'est le cas dans le post #13 ci-dessous (à l'étape 10) sinon Gparted est inutilisable par la suite
A noter que dans cet exemple, la partition système Win7 porte l'astérisque parce que bootmgr se trouve sur cette partition (il n'y a pas de partition de boot distincte)
Comme le résultat affiché est correct (deux partitions NTFS retrouvées), on ne modifie rien, on se contente d'appuyer sur la touche Entrée pour continuer
Etape suivante (copie d'écran en haut, extrait correspondant du rapport testdisk.log en bas) : Testdisk non montre ce qu'il est prêt à enregistrer sur le disque dur si on décide de le faire par la fonction "Write" (sinon, on se dégonfle et on sort par "Quit" et c'est le retour au menu principal sans aucune action)
interface_write()
1 * HPFS - NTFS 0 32 33 3139 160 29 50436096 [OS]
2 P HPFS - NTFS 3139 160 30 3891 164 49 12081152 [ntfspourwubi]
3 P Linux Swap 4355 141 11 4477 10 61 1951728
4 E extended LBA 4477 11 1 10607 254 63 98493822
5 L Linux 4477 43 47 10607 200 25 98488320
Réparation en exécutant "Write" depuis Testdisk (avec flèche droite du clavier on sélectionne Write et on valide par la touche Entrée)
Après réparation :
Partitionnement vu par bootinfoscript (les partitions SFS ont disparu comme c'était le but. Les partitions NTFS qui existaient avant passage du disque dur en "dynamique" sont rétablies) :
Drive: sdc ___________________ _____________________________________________________
Disque /dev/sdc: 87.3 Go, 87253057536 octets
255 têtes, 63 secteurs/piste, 10607 cylindres, total 170416128 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Sector size (logical/physical): 512 bytes / 512 bytes
Partition Boot Start End Size Id System
/dev/sdc1 * 2,048 50,438,143 50,436,096 7 HPFS/NTFS
/dev/sdc2 50,438,144 62,519,295 12,081,152 7 HPFS/NTFS
/dev/sdc3 69,971,968 71,923,695 1,951,728 82 Linux swap / Solaris
/dev/sdc4 71,923,698 170,417,519 98,493,822 f W95 Ext d (LBA)
/dev/sdc5 71,925,760 170,414,079 98,488,320 83 Linux
/dev/sdc4 ends after the last sector of /dev/sdc
On notera que la partition qui sort toujours la tête de l'eau, c'est la partition Win7 : elle est identifiable dans tous les tableaux par sa taille : 50436096 secteurs
ça ne marche toujours pas :
Ubuntu est généralement explosé comme je l'ai indiqué en préambule : ni Ubuntu ni Win7 ne fonctionnent à cette étape. Il convient de réinstaller à neuf Ubuntu depuis une session live-CD (ou live-USB) Ubuntu. Dans l'exemple ci-dessus, il convient de supprimer avec Gparted toutes les partitions Linux et reconstruire un partitionnement cohérent avec Grub installé dans le MBR du disque dur.
A ce stade, il peut arriver que Gparted trouve un espace non alloué sur la totalité du disque (c'est sa façon à lui de faire grève à Gparted) comme dans le post #13 ci-dessous (à l'étape 10) ou bien dans ce post :
http://forum.ubuntu-fr.org/viewtopic.php?pid=4010223#p4010223
Il faut alors réutiliser Testdisk pour supprimer toutes les partitions Linux (à passer en Delete après la "Quick search" avant de valider par la touche Entrée, puis "Write") et ne laisser que les partitions NTFS. Après seulement, Gparted veut bien bosser :
http://forum.ubuntu-fr.org/viewtopic.php?pid=4010341#p4010341
Au redémarrage après install, tout fonctionne et l'accès à Win7 fonctionne. A noter que si vous avez ce panneau "Récupération d'erreurs Windows" qui apparait après sélection de Win7 dans le menu Grub, ne choisissez pas "Lancez l'outil de redémarrage système (recommandé)" car ça ne fonctionne pas ; sélectionnez tout bonnement "démarrer Windows normalement" et c'est bon. Ce panneau "Récupération d'erreurs Windows" n'apparait qu'une seule fois, ensuite on n'est plus embêté avec ça.
Nota : le disque dur passé en "dynamique", ce n'est pas la faute du fabricant du PC préinstallé Win7, c'est dû à l'entêtement du novice qui n'a pas lu une ligne de la doc Ubuntu et qui veut absolument créer plus de 4 partitions primaires depuis Win7 lui-même. Normalement, il y a des garde-fous dans Win7 pour empêcher le novice de passer à l'acte (quand on a déjà 3 partitions primaires, Win7 passe d'autorité la quatrième partition dans une partition étendue. Par contre, sur un PC préinstallé HP, il y a déjà 4 partitions primaires crées "d'usine", c'est probablement pourquoi les baisés de cette farce sont souvent des possesseurs de HP/Compaq). Rien n'arrête le novice entêté : dans sa rage il finit par passer son disque dur - qui était "de base" sorti d'usine - en "dynamique".
Pourtant Win7 tente mollement et sans y croire de raisonner le candidat au suicide par un panneau d'avertissement mou du genou (Win7 sait très bien que le windowsien de base ne sait pas lire) :
Après avoir converti ces disques en disques dynamiques vous ne pourrez plus démarrer aucun système d'exploitation installé sur un volume de ces disques à l'exception du volume de démarrage actuel. Voulez-vous vraiment convertir ces disques ?
Après cela, il souffre encore le novice pour essayer de faire avaler son disque dur dynamique à Ubuntu : Gparted n'en veux pas, le partitionnement automatique de l'installateur gueule aussi, il n'y a que le partitionnement manuel de l'installateur qui veut bien se charger de pourrir le partitionnement et de produire l'état désastreux que je présente au début.
rajouté le 26-2-2011 : j'ai quand même réussi à pourrir sans avoir à utiliser le partitionnement manuel : voir post #13 ci-dessous, étapes 3 et 4.
Et pourtant, on peut en trouver des blaireaux qui se font attraper avec ce pb, en collant la ligne suivante dans Google :
"/dev/sda1 63 2,047 1,985 42 SFS" site:ubuntuforums.org
Ou bien cette ligne (là, ça mord bien aussi) :
"42 SFS" site:ubuntuforums.org