Centos 7 installato dopo Windows e impossibile avviare CentOS


11

Volevo configurare un doppio avvio per Windows 7 e CentOS 7

Avevo una macchina Windows 7 con disco da 500 GB. Ho ridotto la partizione di Windows per fornire spazio per CentOS 7 (circa 230 GB). Ho creato una chiavetta Netinstall USB CentOS 7 e da lì ho avviato. Ho eseguito l'installazione configurata come meglio sapevo per installare CentOS 7 nello spazio libero (piuttosto che sull'intero disco). Ho fatto l'installazione su rete e tutto sembrava andare bene, ma quando è stato riavviato sono tornato a Windows e non riesco ad accedere a CentOS.

Ho riavviato da USB e ho provato a risolvere la situazione (con attenzione) utilizzando cfdisk, ad esempio selezionando quella che credo sia la partizione di avvio di CentOS ma riporta "sistema operativo mancante". cfdiskDice anche che non è possibile rileggere la tabella delle partizioni quando la scrivo con l'avvio CentOS, ma ricominciare da cfdiskcapo sembra mostrare che il flag è stato impostato.

Attualmente la netinstall USB CentOS 7 mi mostra le seguenti partizioni sul disco:

## DATA  
/home 168GB centos-home  

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

Le "altre" partizioni di Windows sono:

ntfs 100MB sda1  
ntfs 253GB sda2

Questo sembra ok MA quando vado di nuovo nell'installazione di CentOS 7 mi sta dicendo che devo creare punti di montaggio per la partizione di root. Non l'ho fatto originariamente poiché pensavo che sarebbe stato fatto automaticamente quando ho fatto clic su "Fai clic qui per crearli automaticamente" per la configurazione del disco la prima volta che ho installato.

E la tabella delle partizioni a cui si accede utilizzando cfdisk"Rescue a CentOS system ..." è simile alla seguente:

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

Come accennato, quando provo ad avviare con questa configurazione ottengo "sistema operativo mancante". Se cambio il flag di avvio su sda1, questo si avvia in Windows 7 bene.

AGGIORNAMENTO # 1

Ho (ri) installato grub2usando grub2-installda netinstall su /dev/sdae ora quando avvio dal disco ottengo il grubprompt. Posso usarlo per caricare a catena in Windows. Tuttavia, quando provo ad avviare CentOS 7 ottengo una sorta di trace / dump.

Ero solito:

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

NOTA: credo linuxsia la partizione di avvio principale per CentOS

Provare quanto sopra si blocca.

AGGIORNAMENTO # 2

Ho installato NTFS-3G e NTFSPROGS utilizzando yumdal repository EPEL.

Ho corso grub2-mkconfig -o /boot/grub2/grub.cfge quindi riavviato per trovare Windows 7 (Caricatore) nel menu di avvio. Ma quando lo scelgo ottengo:

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

che non suona affatto bene, ma almeno alcuni progressi.

Dovrei anche dire che ora ho CentOS 7 solo sull'unità interna e sto lavorando su questa unità come unità USB esterna (quindi /dev/sdb).

Qualcuno può aiutarmi per favore per avviare Windows?

Ho un background Unix ma uso principalmente Mac OS X. Mi sento sempre bloccato nell'impostare il dual boot di Windows e Linux.

Infine, ho il sistema CentOS 6.5 che funziona bene su un'altra macchina, così come sul mio Mac.

Risposte:


4

Probabilmente hai montato la partizione di Windows errata.

Cerca una piccola partizione di 100 o 300 MB (la partizione di avvio di Windows), montala ed esegui nuovamente il comando.

Se i problemi persistono, aggiungi quanto segue alla fine di /etc/grub.d/40_custom:

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

Ciò presuppone che la partizione di avvio di Windows sia la prima partizione del primo disco rigido.

Non dimenticare di correre grub2-mkconfig.


3

Montare la partizione di Windows. (Se non è possibile montare installare ntfsprogs-2013.1.13-5.el7.x86_64.rpm e ntfs-3g-2013.1.13-5.el7.x86_64.rpm )

Esegui come root grub2-mkconfig -o /boot/grub2/grub.cfg


Grazie per il commento. Dopo molti tentativi per farlo funzionare, ho inserito un nuovo disco e ho installato solo Centos 7. Tuttavia, voglio ancora far funzionare l'altro disco con Windows, quindi inserirò il disco in un'altra macchina e seguirò la tua direzione. Grazie ancora!
Ashley Aitken,

Fatto quello. Ora ottengo l'accesso nel menu di avvio :-) Ma ora ottieni: errore: nessun dispositivo del genere 787776677 ... errore: hd1 non può ottenere i valori C / H / S ...
Ashley Aitken,

questo ha funzionato benissimo con Windows 7 e CentOS 7. grazie.
Nathan McCoy,

2

Reinstallare il bootloader CentOS (sia esso LILO o GRUB). Il programma di installazione del bootloader dovrebbe riconoscere i sistemi operativi nel computer e mostrare automaticamente le scelte del sistema operativo al momento dell'avvio. CMIIW.


Grazie Ade. Credo che CentOS 7 usi Grub2, quindi lo reinstallerò. Immagino che vada nella partizione di avvio da 500 MB, ma ho pensato che il problema riguardasse più l'MBR (o qualcosa del genere). Grub2 lo installerà in modo appropriato?
Ashley Aitken, il

2

Ho provato un doppio avvio con Windows 7 e Centos 7 per 2 giorni e l'ho fatto. Segui i semplici passaggi
Installa finestra 7
Quindi centos 7
Quando riavvii il PC non vedrai alcuna opzione di avvio per Windows 7 in grub.
Avvia in centos switch per su
usare il comando cfdisk
Quindi controlla i flag in cui è scritto boot avvisa quella partizione
Quindi apri il file grub in /boot/grub2/grub.cfg prima fai il backup del file grub.cfg copiandolo come grub.old.cfg apri il file e modificalo con

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

cambia il valore di msdos con la partizione in cui è dato il flag di avvio. come se il flag di avvio sia in / dev / sda1 quindi msdos1 se / dev / sda2 quindi msdos2.

Non dimenticare di correre grub2-mkconfig

Spero che lo troverai utile.


Spero che l'OP lo selezioni come risposta accettata. Ha funzionato perfettamente per me: nrecursions.blogspot.in/2015/12/… , ma sarebbe stato meglio avere un boot-loader di terze parti che riconosce automaticamente i sistemi operativi sulle partizioni: superuser.com/questions/1009739/…
Nav

1

È stato riscontrato che l'aggiunta del File 11_windows in è /etc/grub.dstata più utile:

Contenuti:

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

Quindi eseguito grub2-mkconfigdopo aver salvato il backup di grub.cfgin /boot/grub2.

I risultati includevano l'aggiunta della voce "WINDOWS" nel menu di grub durante l'avvio.

Il mio caso era per Windows10, ma dovrebbe essere lo stesso.


Formato del comando grub2-mkconfig:
stv

1
cd / boot / grub2; grub2-mkconfig --output = grub.cfg
stv

1

Ho provato un doppio avvio con Windows 7 e Centos 7 per due giorni e l'ho fatto. Segui i semplici passaggi Installa finestra 7 Quindi centos 7 Quando riavvii il PC non vedrai alcuna opzione di avvio per Windows 7 in grub. Avvia in centos passa a su usa il comando cfdisk Quindi controlla i flag in cui è scritto boot avvisa quella partizione Quindi apri il file grub in /boot/grub2/grub.cfg prima fai il backup del file grub.cfg copiandolo come grub.old.cfg open il file e modificarlo con

menuentry "WINDOWS" {set root = '(hd0, msdos1)' chainloader +1} cambia il valore di msdos con la partizione in cui è dato il flag di avvio. come se il flag di avvio sia in / dev / sda1 quindi msdos1 se / dev / sda2 quindi msdos2.

Non dimenticare di eseguire grub2-mkconfig

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.