Instalou o Centos 7 após o Windows e não pode inicializar no CentOS

11

Eu queria configurar uma inicialização dupla para Windows 7 e CentOS 7

Eu tinha uma máquina Windows 7 com disco de 500 GB. Encolhi a partição do Windows para fornecer espaço para o CentOS 7 (aproximadamente 230 GB). Eu criei um pendrive de instalação USB do CentOS 7 e inicializei com isso. Executei a instalação configurada da melhor maneira possível para instalar o CentOS 7 no espaço livre (em vez de em todo o disco). Fiz a instalação na rede e tudo parecia correr bem, mas quando ele foi reiniciado, voltei ao Windows e não consigo entrar no CentOS.

Reiniciei a partir do USB e tentei corrigir a situação (com cuidado) usando cfdisk, por exemplo, selecionando o que acredito ser a partição de inicialização do CentOS, mas ela relata "sistema operacional ausente". Também cfdiskdiz que não é possível reler a tabela de partição quando a escrevo com a inicialização do CentOS, mas iniciar cfdisknovamente parece mostrar que o sinalizador foi definido.

Atualmente, o netinstall USB CentOS 7 mostra as seguintes partições no disco:

## DATA  
/home 168GB centos-home  

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

As "outras" partições do Windows são:

ntfs 100MB sda1  
ntfs 253GB sda2

Isso parece bom, mas quando vou para a instalação do CentOS 7 novamente, está me dizendo que tenho que criar pontos de montagem para a partição raiz. Não fiz isso originalmente, pois pensei que isso seria feito automaticamente quando eu clicasse em "Clique aqui para criá-los automaticamente" para a configuração do disco na primeira vez que instalei.

E a tabela de partição acessada usando cfdisk"Rescue a CentOS system ..." tem a seguinte aparência:

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

Como mencionado, quando tento inicializar com essa configuração, recebo "sistema operacional ausente". Se eu alterar o sinalizador de inicialização novamente para sda1, ele será inicializado no Windows 7.

ATUALIZAÇÃO # 1

Eu (re) instalei grub2usando a grub2-installpartir do netinstall /dev/sdae agora, quando inicializo a partir do disco, recebo o grubprompt. Eu posso usá-lo para encadear carga no Windows. No entanto, quando tento inicializar no CentOS 7, recebo algum tipo de rastreamento / despejo.

Eu usei:

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

NOTA: Acredito que linuxseja a partição de inicialização principal do CentOS

Tentando o acima apenas falha.

ATUALIZAÇÃO # 2

Instalei o NTFS-3G e NTFSPROGS usando a yumpartir do repositório EPEL.

Corri grub2-mkconfig -o /boot/grub2/grub.cfge reiniciei para encontrar o Windows 7 (Loader) no menu de inicialização. Mas quando eu escolho, recebo:

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

o que não parece muito bom, mas pelo menos algum progresso.

Devo também dizer que agora tenho o CentOS 7 apenas na unidade interna e estou trabalhando nessa unidade como uma unidade USB externa (daí /dev/sdb).

Alguém pode me ajudar a iniciar o Windows?

Eu tenho experiência com Unix, mas principalmente uso o Mac OS X. Eu sempre fico desconfiado ao configurar a inicialização dupla do Windows e Linux.

Finalmente, eu tenho o sistema CentOS 6.5 funcionando bem em outra máquina, assim como no meu Mac.

Ashley Aitken
fonte

Respostas:

4

Você provavelmente montou a partição errada do Windows.

Procure uma pequena partição de 100 ou 300 MB (a Partição de Inicialização do Windows), monte-a e execute o comando novamente.

Se você ainda estiver com problemas, adicione o seguinte ao final de /etc/grub.d/40_custom:

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

Isso pressupõe que a partição de inicialização do Windows seja a primeira partição do primeiro disco rígido.

Não se esqueça de correr grub2-mkconfig.

Sabu
fonte
3

Monte a partição do Windows. (Se você não puder montar o install ntfsprogs-2013.1.13-5.el7.x86_64.rpm e ntfs-3g-2013.1.13-5.el7.x86_64.rpm )

Executar como root grub2-mkconfig -o /boot/grub2/grub.cfg

Sabu
fonte
Obrigado pelo comentário. Depois de muitas tentativas para colocar isso em funcionamento, coloquei um novo disco e instalei apenas o Centos 7. No entanto, ainda quero colocar o outro disco com o Windows funcionando, para colocar o disco em outra máquina e seguir sua direção. Obrigado novamente!
Ashley Aitken
Fiz isso. Agora recebendo entrada no menu de inicialização :-) Mas agora obter: Erro: nenhum tal dispositivo 787776677 ... erro: HD1 não pode obter C / H / S valores ...
Ashley Aitken
isso funcionou muito bem com o Windows 7 e o CentOS 7. obrigado.
Nathan McCoy
2

Reinstale o gerenciador de inicialização CentOS (seja LILO ou GRUB). O instalador do carregador de inicialização deve reconhecer os sistemas operacionais na sua máquina e mostrar automaticamente as opções do sistema operacional no momento da inicialização. CMIIW.

Ade Malsasa Akbar
fonte
Obrigado Ade. Eu acredito que o CentOS 7 usa Grub2, então vou reinstalar isso. Eu acho que ele vai na partição de inicialização de 500MB, mas achei que o problema estaria mais relacionado ao MBR (ou algo assim). O Grub2 configurará isso adequadamente?
21414 Ashley-Aitken
2

Eu tenho tentado uma inicialização dupla com a janela 7 e 7 centos por 2 dias e eu fiz isso. Basta seguir os passos simples
Instalar janela 7
Então centos 7
Quando você reiniciar o PC, você não verá nenhuma opção de inicialização para o Windows 7 no grub.
Inicialize no switch centos para su
usar o comando. cfdisk
Em seguida, verifique os sinalizadores onde a inicialização está gravada notifique essa partição.
Em seguida, abra o arquivo grub em /boot/grub2/grub.cfg primeiro faça backup do arquivo grub.cfg, copiando-o como grub.old.cfg, abra o arquivo e edite-o com

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

altere o valor de msdos com a partição em que o sinalizador de inicialização é fornecido. como se o sinalizador de inicialização estivesse em / dev / sda1 e msdos1 se / dev / sda2 e msdos2.

Não se esqueça de correr grub2-mkconfig

Espero que você ache útil.

avtar singh
fonte
Espero que o OP selecione isso como a resposta aceita. Funcionou perfeitamente para mim: nrecursions.blogspot.in/2015/12/… , mas seria melhor ter um gerenciador de inicialização de terceiros que reconheça automaticamente os SOs nas partições: superuser.com/questions/1009739/…
Nav
1

Verificou que a adição do Arquivo 11_windows /etc/grub.dfoi mais útil:

Conteúdo:

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

Em seguida, foi executado grub2-mkconfigapós salvar o backup de grub.cfgin /boot/grub2.

Os resultados incluíram a entrada "WINDOWS" adicionada no menu grub durante a inicialização.

Meu caso foi para o Windows10, mas deve ser o mesmo.

stv
fonte
Formato do comando grub2-mkconfig:
stv
1
cd / boot / grub2; grub2-mkconfig --output = grub.cfg
stv
1

Eu tenho tentado uma inicialização dupla com a janela 7 e 7 centos por dois dias e eu fiz isso. Basta seguir os passos simples Instalar janela 7 Em seguida, centos 7 Ao reiniciar o PC, você não verá nenhuma opção de inicialização do Windows 7 no grub. Inicialize no switch centos para su use o comando cfdisk Em seguida, verifique se há sinalizadores onde a inicialização está gravada notifique a partição. Em seguida, abra o arquivo grub em /boot/grub2/grub.cfg primeiro faça backup do arquivo grub.cfg, copiando-o como grub.old.cfg open o arquivo e edite-o com

menuentry "WINDOWS" {set root = '(hd0, msdos1)' chainloader +1} altere o valor de msdos com a partição em que o sinalizador de inicialização é fornecido. como se o sinalizador de inicialização estivesse em / dev / sda1 e msdos1 se / dev / sda2 e msdos2.

Não se esqueça de executar o grub2-mkconfig

Surinder Kumar
fonte