Restaurer GRUB sans live CD

Bonsoir,
j’avais sur mon PC jusqu’à présent 2 OS, un Win7 et une Debian en dual boot. Dans l’optique de réinstaller la Debian de zéro, j’ai formaté sa partition, mais par erreur j’ai également formaté le secteur d’amorçage où se trouvait le GRUB qui me permettait de choisir au démarrage entre Windows et Debian. Après réinstallation d’une Debian, j’accède à cette dernière correctement via un nouveau GRUB, mais je n’ai plus accès à Windows. Sauriez-vous comment je pourrais restaurer l’ancienne config du GRUB, y rajouter une entrée pour Windows ou tout autre moyen de démarrer, même temporairement, sur Windows ?
Merci

update-grub

Non update-grub ne me permet pas de récupérer un accès à Windows malheureusement. Je sais qu’il existe un moyen à partir d’un live CD, seulement je ne dispose d’aucun CD/DVD. J’ai uniquement une clef USB sur laquelle je tente de booter depuis quelques temps, mais en vain.

update-grub sert surtout à reconstruire le fichier /boot/grub.cfg après que l’on ait modifié ou ajouté des fichier dans /etc/grub2.d, non (comme il est fortement déconseillé d’éditer soi-même ce fichier) ?

Il n’y a pas un utilitaire grub qui s’appelle os-prober (à exécuter en root) ? D’après mes souvenirs, os-prober devrait détecter les autres OS présents sur le disque où est le secteur d’amorçage, et ajouter les entrées correspondantes dans les fichiers sous /etc/grub2.d (il faudra alors ensuite exécuter update-grub)

(je suis sur une machine Windows, les noms des fichiers ou dossiers ne sont pas forcément exacts).

et par erreur, la partition windows a-t-elle été aussi formatée ?

Pas seulement. Il y a bien d’autres circonstances dans lequelles on peut avoir besoin de regénérer grub.cfg : installation/suppression d’un noyau, installation d’un autre système d’exploitation, modification de /etc/default/grub…

Non, ça ne marche pas comme ça, en tout cas pas dans Debian.
L’exécution d’os-prober lui-même ne modifie aucun fichier. os-prober ne fait que détecter les systèmes d’exploitation. Par défaut, update-grub appelle os-prober (via un script dans /etc/grub.d/) pour ajouter les systèmes détectés dans le menu. Il le fait lors de l’installation, mais il arrive que Windows ne soit pas détecté à ce stade. Je soupçonne que cela pourraît être causé par l’absence de prise en charge des systèmes de fichiers NTFS dans l’installateur, mais ce serait à vérifier.

C’est-à-dire ? Il ne détecte pas Windows ou bien l’entrée de menu pour Windows ne fonctionne pas ?
On peut voir la sortie de
parted -l
ou à défaut de
fdisk -l
?

Non quand même je suis pas toujours très doué, mais pas à ce point mdr

Update-grub ne détecte pas Windows. Pour ce qui est des commandes demandées, je n’aurai accès à mon poste que lundi malheureusement.

regarde si tu peux monter tes partitions W7 sous debian

Alors, sortie de parted -l :

  Model: ATA Hitachi HDS72105 (scsi)
  Disk /dev/sda: 500GB
  Sector size (logical/physical): 512B/512B
  Partition Table: msdos
  Disk Flags:  

  Number  Start   End     Size    Type      File system     Flags      
   1      1049kB  70,0GB  70,0GB  primary   ntfs            boot
   3      70,0GB  416GB   346GB   primary   ntfs
   2      416GB   500GB   84,6GB  extended
   5      416GB   496GB   80,3GB  logical   ext4
   6      496GB   500GB   4289MB  logical   linux-swap(v1)


  Model: ATA ST380815AS (scsi)
  Disk /dev/sdb: 80,0GB
  Sector size (logical/physical): 512B/512B
  Partition Table: msdos
  Disk Flags: 

  Number  Start   End     Size    Type     File system     Flags
   1      1049kB  75,0GB  75,0GB  primary  ntfs
   2      75,0GB  80,0GB  5025MB  primary  linux-swap(v1)


  Model: hp CDDVDW SH-216ALN (scsi)
  Disk /dev/sr0: 4700MB
  Sector size (logical/physical): 2048B/2048B
  Partition Table: msdos
  Disk Flags: 

  Number  Start   End     Size    Type     File system  Flags
  2      3162kB  4866kB  1704kB  primary               esp

Et sortie de fdisk -l :

  Disque /dev/sdb : 74,5 GiB, 80026361856 octets, 156301488 secteurs
  Unités : secteur de 1 × 512 = 512 octets
  Taille de secteur (logique / physique) : 512 octets / 512 octets
  taille d'E/S (minimale / optimale) : 512 octets / 512 octets
  Type d'étiquette de disque : dos
  Identifiant de disque : 0x000e163d

  Périphérique Amorçage     Début       Fin  Secteurs Taille Id Type
  /dev/sdb1                  2048 146486422 146484375  69,9G  7 HPFS/NTFS/exFAT
  /dev/sdb2             146487296 156301311   9814016   4,7G 82 partition d'échange Linux


  Disque /dev/sda : 465,8 GiB, 500107862016 octets, 976773168 secteurs
  Unités : secteur de 1 × 512 = 512 octets
  Taille de secteur (logique / physique) : 512 octets / 512 octets
  taille d'E/S (minimale / optimale) : 512 octets / 512 octets
  Type d'étiquette de disque : dos
  Identifiant de disque : 0xc23d41c9

  Périphérique Amorçage     Début       Fin  Secteurs Taille Id Type
  /dev/sda1    *             2048 136660991 136658944  65,2G  7 HPFS/NTFS/exFAT
  /dev/sda2             811599870 976771071 165171202  78,8G  5 Étendue
  /dev/sda3             136660992 811597823 674936832 321,9G  7 HPFS/NTFS/exFAT
  /dev/sda5             811599872 968392703 156792832  74,8G 83 Linux
  /dev/sda6             968394752 976771071   8376320     4G 82 partition d'échange Linux

  Les entrées de la table de partitions ne sont pas dans l'ordre du disque.

Up :slight_smile:
J’en profite pour signaler que j’ai pu récupérer un DVD-RW. J’ai vu sur le web qu’il existe une solution pour restaurer le GRUB à partir d’un live CD Ubuntu mais pas Debian. Comme Ubuntu est basé sur Debian (il me semble),pensez-vous que cette méthode peut fonctionner avec un live CD Debian ? Puisque j’imagine mal restaurer le GRUB pour Windows et Debian avec un live CD Ubuntu.

Arrête de parler de restaurer GRUB. GRUB fonctionne (la preuve : Debian démarre) et n’a aucun besoin d’être restauré. Les CD de restauration, c’est utile seulement quand le système ne démarre plus.

Les deux disques ont une table de partition au format DOS donc Windows démarre en mode BIOS. Pas de partition système EFI donc GRUB démarre aussi en mode BIOS. Par conséquent il devrait être capable de lancer Windows.

Qu’affiche os-prober ? S’il n’est pas installé, installe-le, vérifie qu’il détecte Windows et exécute update-grub. S’il est installé mais ne détecte pas Windows, monte la partition système/boot de Windows (ça devrait être sda1, qui a l’indicateur d’amorçage) et vérifie si elle contient bien un fichier bootmgr à la racine. Si ce n’est pas le cas, regarde dans les autres partitions NTFS.

Alors quand j’exécute os-prober (en root) rien ne s’affiche, pas même un message d’erreur. J’en déduis qu’il est correctement installé mais ne détecte pas Windows (concernant Debian, j’ai lu que os-prober ne détecte jamais l’OS depuis lequel il est appelé).
J’ai monté la partition système de Windows, elle contient bien un fichier bootmgr à la racine.

J’ignore pourquoi os-prober ne détecte pas le boot de Windows et je n’ai pas de machine sous la main pour examiner les critères de détection.

Tu peux essayer de créer une entrée de menu manuellement dans un fichier /boot/grub/custom.cfg. Ce fichier est lu par GRUB lors du démarrage et intégré au menu general. En voici deux, qui lancent Windows de deux façons différentes, soit en chaînant le secteur d’amorce de la partition de boot de Windows, soit en lançant directement le chargeur bootmgr :

menuentry "Windows boot sector" {
set root=hd0,msdos1
chainloader +1
}

menuentry "Windows bootmgr" {
insmod ntfs
set root=hd0,msdos1
ntldr /bootmgr
}

En toute rigueur il faudrait identifier la partition par son UUID plutôt que par sa position (hd0,msdos1) mais on va faire simple pour commencer.

(Edit : ajout chargement du module ntfs pour la lecture d’un fichier sur une partition NTFS)

Salut
si tu as deéruit le MBR du disque Windows c’est surement problématique

j’ai déja réussi à me récupérer en live-cd dans une situation qui semblait désespérée

Quelque soit le live-cd ou live -usb dont tu disposes la démarche est identique

Si tu lis mon lien tu y verras aussi un autre moyen, décrit par MicP, en utilisant un cd netinstall

Le MBR n’est pas détruit, il a été réécrit et contient l’amorce de GRUB.
Le code amorce originel installé par Windows dans le MBR n’est pas utile pour démarrer Windows depuis GRUB. Si on le restaurait, GRUB ne pourrait plus démarrer.

Peut-être qu’il a une autre solution! normalement la partition de W$ n’a pas disparue… Si vous avez la possibilité de graver cet outil : " boot-repair-disk" de lancer ce DVD-live, vérifier que vos partitions sont la toutes les deux? ? si c’est le cas je vous conseillerais de vous mettre en relation avec des " spécialistes " de cet outil, qui n’est pas admis chez deb !
Mais au lancement de ce DVD-live vous avez la possibilité de contrôler que les deux partoches sont bien présentes et qu’il faudra que votre deb soit a être lancé en 1er au start de votre bécane que la W$ pourra être lancé aussi…Il y a dans cet outil la possibilité de récup du MBR windows ! Ce que j’ai dis est a faire avec le contact des spécialistes de B.R.D dans un autre forum que je ne peux nommer …pour le moment …
Avec ce DVD-live vous pouvez avoir un “boot-info” vous aurez les infos du résultat qui s’affichera pour " Http:// etc etc …" a transmettre au forum en question… A mon avis vous avez ? peut-être des chances de récup. votre W$ et votre choix de choisir que votre deb. sera en 1er au start… W$ sera présent et démarrera si vous le choisissez au lancement de votre bécane , :sunglasses:

Inutile, on le sait déjà.

On peut avoir la même chose avec le programme bootinfoscript du paquet boot-info-script disponible dans Debian.

Nickel

# /usr/sbin/bootinfoscript

Boot Info Script 0.75      [14 November 2016]

Identifying MBRs...
Computing Partition Table of /dev/sda...
Searching sda1 for information... 
Searching sda2 for information... 
Searching sda5 for information... 
Searching sda6 for information... 

Finished. The results are in the file "RESULTS.txt"
located in "/root/".

ça devrait être dans une rubrique dépannage du wiki

Salut, pascalhambourg ,
Faudrait arrêter d’être aussi agressif, si je comprends que cette personne a fait une bourde a-la-va-comme-je-te-pousse…pourquoi lui ai-je donner une idée différente de ce qui est dans deb?
Pourquoi ne pas tester ce que je viens de dire ? Avec mes propre deb’s installés que j’ai pu faire pour que deb soit démarré en 1er a la place de la W$ ou vice et versa… Surtout en dual-boot, il ne devrait pas y avoir de PB et hop la 8-)-