Como posso fazer o arranque do grub2 no Windows 7?

7

Eu tinha o Windows 7 instalado no meu sistema, então eu instalei o teste Debian com o grub2 como seu gerenciador de inicialização. Inicialmente eu não conseguia ver a entrada do Windows no grub, então corri:

aptitude install os-prober kcpuload 
update-grub

Agora posso ver a entrada, mas quando a seleciono, recebo apenas a restauração do sistema Win7, em vez da real. Alguma idéia de como fazer isso funcionar?

EDIT: Eu tentei a abordagem sugerida para adicionar um novo arquivo para /etc/grub.d, que gerou uma entrada no grub.cfg, mas ele não aparece no menu grub no boot: (

Eu tenho isso:

grzes:/home/ga# cat /etc/grub.d/11_Windows
#! /bin/sh -e
echo Adding Windows >&2
cat << EOF
menuentry “Windows 7″ {
        set root=(hd0,2)
        chainloader +1
}

E eu tenho o seguinte arquivo grub.cfg:

grzes:/home/ga# cat /boot/grub/grub.cfg
#                                      
# DO NOT EDIT THIS FILE                
#                                      
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub                    
#                                                                         

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then    
  load_env                         
fi                                 
set default="0"                    
if [ ${prev_saved_entry} ]; then   
  set saved_entry=${prev_saved_entry}
  save_env saved_entry               
  set prev_saved_entry=              
  save_env prev_saved_entry          
  set boot_once=true                 
fi                                   

function savedefault {
  if [ -z ${boot_once} ]; then
    saved_entry=${chosen}     
    save_env saved_entry      
  fi                          
}                             
insmod ext2                   
set root=(hd0,3)              
search --no-floppy --fs-uuid --set 6ce3ff31-0ef7-41df-a6f5-b6b886db3a94
if loadfont /usr/share/grub/unicode.pf2 ; then                         
  set gfxmode=640x480                                                  
  insmod gfxterm                                                       
  insmod vbe                                                           
  if terminal_output gfxterm ; then true ; else                        
    # For backward compatibility with versions of terminal.mod that don't                                                                                    
    # understand terminal_output                                                                                                                             
    terminal gfxterm                                                                                                                                         
  fi                                                                                                                                                         
fi                                                                                                                                                           
set locale_dir=/boot/grub/locale                                                                                                                             
set lang=en                                                                                                                                                  
insmod gettext                                                                                                                                               
set timeout=5                                                                                                                                                
### END /etc/grub.d/00_header ###  
    
por Grzenio 30.01.2010 / 09:21

2 respostas

7

Primeiro, você precisará verificar a configuração. Está em tua ... ti ... /etc/grub.d/ ? /etc/grub/ ? .. em algum lugar lá. Os nomes dos arquivos de configuração são assim: 00xy, 10linux, 20other ... estes são apenas exemplos, mas o real é quase o mesmo. Confira, onde está a janela. Faça o backup (copie-o em algum lugar). Você precisará de algo assim no arquivo:

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

Se você não tem nenhum arquivo de configuração como este, apenas crie um. A leitura de configuração do Grub2 é fácil de entender. Vai incrementalmente. Como: 00 *, 10 *, 20 *, etc. Portanto, seu novo arquivo deve ser chamado de 95-windowsfix se você quiser que ele seja a última entrada ou dar um número menor (para torná-lo a primeira entrada) do que as configurações do Linux se você quiser que seja o primeiro.)

no arquivo de configuração 'outro'. Modifique o valor da raiz do conjunto, é claro. Determine o disco rígido digitando: sudo fdisk -l . Por exemplo, /dev/sda1 é (hd0,0) se estiver no segundo HDD: /dev/sdb1 >> (hd1,0) ... e assim por diante. Você pode entender a sintaxe disso, eu acho. Depois de fazer as modificações, faça um update-grub e você pode tentar inicializá-lo.

Estou ciente de que isso parece uma grande bagunça. Desculpe por isso. Eu não tenho nenhuma máquina Ubuntu perto de mim com Grub2 então é por isso que eu escrevi isso "eu acho". Se você não conseguir fazer o trabalho, é só pedir.

    
por 30.01.2010 / 12:23
2

Tente isto:

grub-mkconfig -o /boot/grub/grub.cfg
    
por 12.02.2012 / 03:45