Centos 7 installé après Windows et ne peut pas démarrer dans CentOS

11

Je voulais configurer un double démarrage pour Windows 7 et CentOS 7

J'avais une machine Windows 7 avec un disque de 500 Go. J'ai réduit la partition Windows pour fournir de l'espace pour CentOS 7 (environ 230 Go). J'ai créé une clé USB Netinstall 7 Centinstall 7 et démarré à partir de cela. J'ai exécuté l'installation configurée comme je le savais pour installer CentOS 7 dans l'espace libre (plutôt que sur tout le disque). J'ai fait l'installation nette et tout semblait bien se passer, mais quand il a redémarré, j'étais de retour dans Windows et je ne peux pas entrer dans CentOS.

J'ai redémarré à partir de l'USB et j'ai essayé de résoudre la situation (avec précaution) en utilisant cfdisk, par exemple, la sélection de ce que je pense être la partition de démarrage CentOS, mais elle signale un "système d'exploitation manquant". Dit également cfdiskqu'il ne peut pas relire la table de partition lorsque je l'écris avec le démarrage CentOS, mais cfdiskrecommencer semble montrer que l'indicateur a été défini.

Actuellement, le netinstall USB CentOS 7 me montre les partitions suivantes sur le disque:

## DATA  
/home 168GB centos-home  

## SYSTEM  
/boot 500MB sda3  
/ 51GB centos-root  
swap 3.85GB centos-swap  

Les "autres" partitions Windows sont:

ntfs 100MB sda1  
ntfs 253GB sda2

Cela semble correct MAIS quand je vais à nouveau dans l'installation de CentOS 7, cela me dit que je dois créer des points de montage pour la partition racine. Je ne l'ai pas fait à l'origine car je pensais que cela se ferait automatiquement lorsque je cliquais sur "Cliquez ici pour les créer automatiquement" pour la configuration du disque lors de la première installation.

Et la table de partition accessible à l'aide cfdiskde "Rescue a CentOS system ..." ressemble à ceci:

Unusable 1MB  
sda1 Primary ntfs 105MB    
sda2 Primary ntfs 265GB  
sda3 Boot Primary xfs 525MB    
sda5 NC Logical LVM2_member 235GB  
Logical Free space 0.03MB

Comme mentionné, lorsque j'essaie de démarrer avec cette configuration, je reçois «système d'exploitation manquant». Si je change le drapeau de démarrage en sda1, il démarre correctement sous Windows 7.

MISE À JOUR # 1

J'ai (ré) installé en grub2utilisant grub2-installdepuis netinstall /dev/sdaet maintenant lorsque je démarre à partir du disque, je reçois l' grubinvite. Je peux l'utiliser pour chaîner la charge dans Windows. Cependant, lorsque j'essaie de démarrer dans CentOS 7, j'obtiens une sorte de trace / vidage.

J'ai utilisé:

linux  (hd0,msdos3)/vmlinuz-3... root=/dev/sda3
initrd (hd0,msdos3/initrd-plymouth...
boot

REMARQUE: je pense que linuxc'est la partition de démarrage principale pour CentOS

Essayer ce qui précède se bloque simplement.

MISE À JOUR # 2

J'ai installé NTFS-3G et NTFSPROGS à l'aide yumdu référentiel EPEL.

J'ai couru grub2-mkconfig -o /boot/grub2/grub.cfgpuis redémarré pour trouver Windows 7 (Loader) dans le menu de démarrage. Mais quand je le choisis, je reçois:

error: no such device 978778...
error: hd1 cannot get C/H/S values....

ce qui ne sonne pas très bien du tout, mais au moins quelques progrès.

Je dois également dire que j'ai maintenant CentOS 7 uniquement sur le lecteur interne et je travaille sur ce lecteur en tant que lecteur USB externe (d'où /dev/sdb).

Quelqu'un peut-il m'aider à faire démarrer Windows?

J'ai un arrière-plan Unix mais j'utilise principalement Mac OS X. Je suis toujours déconcerté lors de la configuration du double démarrage Windows et Linux.

Enfin, le système CentOS 6.5 fonctionne correctement sur une autre machine, ainsi que mon Mac.

Ashley Aitken
la source

Réponses:

4

Vous avez probablement monté la mauvaise partition Windows.

Recherchez une petite partition de 100 ou 300 Mo (la partition de démarrage de Windows), montez-la, puis réexécutez la commande.

Si vous rencontrez toujours des problèmes, ajoutez ce qui suit à la fin de /etc/grub.d/40_custom:

menuentry "Windows"{
    set root='(hd0,0)'
    chainloader +1
}

Cela suppose que la partition de démarrage Windows est la première partition du premier disque dur.

N'oubliez pas de courir grub2-mkconfig.

Sabu
la source
3

Montez la partition Windows. (Si vous ne pouvez pas monter installer ntfsprogs-2013.1.13-5.el7.x86_64.rpm et ntfs-3g-2013.1.13-5.el7.x86_64.rpm )

Exécuter en tant que root grub2-mkconfig -o /boot/grub2/grub.cfg

Sabu
la source
Merci pour le commentaire. Après de nombreuses tentatives pour que cela fonctionne, j'ai mis un nouveau disque et installé seulement Centos 7. Cependant, je veux toujours faire fonctionner l'autre disque avec Windows, donc je vais placer le disque sur une autre machine et suivre votre direction. Merci encore!
Ashley Aitken
Fait ça. Maintenant, entrée dans le menu de démarrage :-) Mais maintenant, obtenez: erreur: aucun appareil de ce type 787776677 ... erreur: hd1 ne peut pas obtenir les valeurs C / H / S ...
Ashley Aitken
cela a très bien fonctionné avec windows 7 et CentOS 7. merci.
Nathan McCoy
2

Réinstallez le chargeur de démarrage CentOS (que ce soit LILO ou GRUB). Le programme d'installation du chargeur de démarrage devrait reconnaître les systèmes d'exploitation de votre machine et vous montrer automatiquement les choix de systèmes d'exploitation au moment du démarrage. CMIIW.

Ade Malsasa Akbar
la source
Merci Ade. Je crois que CentOS 7 utilise Grub2, donc je vais réinstaller cela. Je suppose que cela va dans la partition de démarrage de 500 Mo, mais je pensais que le problème concernerait davantage le MBR (ou quelque chose comme ça). Est-ce que le Grub2 configurera cela correctement?
Ashley Aitken
2

J'ai essayé un double démarrage avec Windows 7 et Centos 7 pendant 2 jours et je l'ai fait. Suivez simplement les étapes simples
Installer la fenêtre 7
puis centos 7
Lorsque vous redémarrez le PC, vous ne verrez aucune option de démarrage pour Windows 7 dans grub.
Démarrez dans le commutateur centos pour su
utiliser la commande cfdisk
Ensuite, vérifiez les drapeaux où le démarrage est écrit, notifiez cette partition
Puis ouvrez le fichier grub dans /boot/grub2/grub.cfg sauvegardez d'abord le fichier grub.cfg en le copiant comme grub.old.cfg ouvrez le fichier et éditez-le avec

menuentry "WINDOWS"{
set root='(hd0,msdos1)' 
chainloader +1
}

changez la valeur de msdos avec la partition où l'indicateur de démarrage est donné. comme si l'indicateur de démarrage se trouve dans / dev / sda1 puis msdos1 si / dev / sda2 puis msdos2.

N'oubliez pas de courir grub2-mkconfig

J'espère que vous trouverez ça utile.

avtar singh
la source
J'espère que l'OP la sélectionne comme réponse acceptée. Fonctionne parfaitement pour moi: nrecursions.blogspot.in/2015/12/… , mais il aurait été préférable d'avoir un chargeur de démarrage tiers qui reconnaît automatiquement les OS sur les partitions: superuser.com/questions/1009739/…
Nav
1

J'ai trouvé que l'ajout du fichier 11_windows /etc/grub.détait plus utile:

Contenu:

#!/bin/sh
cat << EOF
menuentry "WINDOWS"{
set root='(hd0,msdos1)' 
chainloader +1
}
EOF

Puis a couru grub2-mkconfigaprès avoir enregistré la sauvegarde de grub.cfgin /boot/grub2.

Les résultats ont inclus l'entrée "WINDOWS" dans le menu grub lors du démarrage.

Mon cas était pour Windows10, mais devrait être le même.

stv
la source
Format de la commande grub2-mkconfig:
stv
1
cd / boot / grub2; grub2-mkconfig --output = grub.cfg
stv
1

J'ai essayé un double démarrage avec Windows 7 et Centos 7 pendant deux jours et je l'ai fait. Suivez simplement les étapes simples Installer la fenêtre 7 puis centos 7 Lorsque vous redémarrez le PC, vous ne verrez aucune option de démarrage pour Windows 7 dans grub. Démarrez dans centos basculez vers la commande su use cfdisk Puis vérifiez les drapeaux où le démarrage est écrit notifiez cette partition Puis ouvrez le fichier grub dans /boot/grub2/grub.cfg sauvegardez d'abord le fichier grub.cfg en le copiant comme grub.old.cfg open le fichier et le modifier avec

menuentry "WINDOWS" {set root = '(hd0, msdos1)' chainloader +1} modifiez la valeur de msdos avec la partition où l'indicateur de démarrage est donné. comme si l'indicateur de démarrage se trouve dans / dev / sda1 puis msdos1 si / dev / sda2 puis msdos2.

N'oubliez pas d'exécuter grub2-mkconfig

Surinder Kumar
la source