web-dev-qa-db-ja.com

Windows 7でgrub2を起動するにはどうすればよいですか?

システムにWindows 7をインストールしてから、grub2をブートマネージャーとしてDebianテストをインストールしました。最初はgrubにWindowsエントリがまったく表示されなかったため、実行しました。

aptitude install os-prober kcpuload 
update-grub

これでエントリが表示されますが、それを選択すると、本物ではなく、Win7システムの復元のみが表示されます。それを機能させる方法はありますか?

編集:grub.cfgにエントリを生成する/etc/grub.dに新しいファイルを追加するための提案されたアプローチを試しましたが、起動時にgrubメニューに表示されません:(

私はこれを持っています:

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
}

そして、私は次の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 ###  
7
Grzenio

まず、設定を確認する必要があります。その中に...あなた..._/etc/grub.d/_? _/etc/grub/_?..どこかにあります。設定ファイル名は次のようになります:00xy、10linux、20other ...これらは単なる例ですが、実際のものはほとんど同じです。それらをチェックしてください、窓はどこですか?バックアップします(どこかにコピーします)。次のようなものがファイルに必要になります。

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

このような設定ファイルがない場合は、作成してください。 Grub2の設定の読み取りは理解しやすいです。それは段階的に進みます。例:00 *、10 *、20 *など。最後のエントリにしたい場合は、95-windowsfixという名前にするか、Linuxの構成よりも小さい番号(最初のエントリにする場合)を付けてください。あなたがそれを最初にしたいなら持ってください。)

'other'設定ファイル内。もちろん、設定されたルート値を変更します。 _Sudo fdisk -l_と入力して、hddを判別します。たとえば、2番目のHDD: /dev/sdb1 >> (hd1,0) ..にある場合、_/dev/sda1_は_(hd0,0)_になります。これから構文が理解できると思います。変更を加えた後、_update-grub_を実行すると、起動を試みることができます。

私はこれが巨大な混乱のように見えることを知っています。そのために残念。私の近くには、Grub2を使用しているUbuntuマシンがありません。それを機能させることができない場合は、ただ尋ねてください。

7
Apache

これを試して:

grub-mkconfig -o /boot/grub/grub.cfg
2
user117968