web-dev-qa-db-ja.com

11.10から12.04に更新した後、GrubがWindowsを起動しない

お時間をいただき、これをお読みいただきありがとうございます。

私は11.10から12.04にアップグレードし、再起動するまですべてがうまくいきました。11.10はWindows Vistaでデュアルブートとして正常に実行されていました。再起動すると、GRUBが地獄に撃たれました。選択したオプションは、パーティショニングが見つからない、または類似したものです... ...しかし、ubuntuの場合のみ、Windowsを起動しようとすると、GRUBにしか戻りません。私は家にいないので、ここに私がここに持っているもののリストがあります...

  • 1 4GBのサムドライブ、空
  • 1 8GBのサムドライブ、Windows Vistaインストーラー起動可能
  • 保存しようとしている古いラップトップ1台、光学ドライブが存在しない
  • 2 Mbpsのインターネット接続

ウィンドウを再インストールせずにウィンドウに戻るのを手伝ってもらえますか?または少なくとも、仮想マシンなどでイラストレーターを使用する方法を教えてください。

ここに私のgrub cfgがあります

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by 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
  set have_grubenv=true
  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
}

function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd0,msdos2)'
  search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
  set locale_dir=($root)/boot/grub/locale
  set lang=de_DE
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="${1}"
    if [ "${1}" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "${linux_gfx_mode}" != "text" ]; then load_video; fi
menuentry 'Ubuntu, mit Linux 3.2.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos2)'
    search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
    linux   /boot/vmlinuz-3.2.0-24-generic root=UUID=1063e402-b14f-45e5-92b6-d20a2e3a717e ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.2.0-24-generic
}
menuentry 'Ubuntu, mit Linux 3.2.0-24-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos2)'
    search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
    echo    'Linux 3.2.0-24-generic wird geladen …'
    linux   /boot/vmlinuz-3.2.0-24-generic root=UUID=1063e402-b14f-45e5-92b6-d20a2e3a717e ro recovery nomodeset 
    echo    'Initiale Ramdisk wird geladen …'
    initrd  /boot/initrd.img-3.2.0-24-generic
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, mit Linux 3.0.0-19-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos2)'
    search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
    linux   /boot/vmlinuz-3.0.0-19-generic root=UUID=1063e402-b14f-45e5-92b6-d20a2e3a717e ro   quiet splash $vt_handoff
    initrd  /boot/initrd.img-3.0.0-19-generic
}
menuentry 'Ubuntu, mit Linux 3.0.0-19-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos2)'
    search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
    echo    'Linux 3.0.0-19-generic wird geladen …'
    linux   /boot/vmlinuz-3.0.0-19-generic root=UUID=1063e402-b14f-45e5-92b6-d20a2e3a717e ro recovery nomodeset 
    echo    'Initiale Ramdisk wird geladen …'
    initrd  /boot/initrd.img-3.0.0-19-generic
}
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos2)'
    search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
    linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos2)'
    search --no-floppy --fs-uuid --set=root 1063e402-b14f-45e5-92b6-d20a2e3a717e
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows Vista (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 2C9E66B39E6674EC
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
4
Holger

UEFIローダーを他の使用可能なローダーに変更してみてください。これで問題が解決しました。

1
niksi

ブート情報スクリプトの出力によると、誤ってgrubのブートセクターをWindowsパーティションにインストールしました(grubのブートセクターは常にパーティションにではなく、MBRにインストールする必要があります)。自分でgrub-installを実行したことがない場合は、おそらくBoot Repairがこれを実行した可能性があります。その場合、Boot Reparに対してバグレポートを提出する必要があります。この問題を修正するには、Windows PBRを復元する必要があります。次のガイドに従ってください。 http://sourceforge.net/apps/mediawiki/bootinfoscript/index.php?title=Boot_Problems:Boot_Sector .

1
Jordan Uggla

私はジョーダンに同意します、あなたはsda1のブートセクタを修正する必要があります。

詳細については、Boot-RepairはデフォルトでMBRにGRUBをインストールしますが、WindowsパーティションのPBRにGRUBをインストールするオプションがないため、 BRのバグではありません。

0
LovinBuntu
  1. Sudo gedit /boot/grub/grub.cfgを使用してファイルをスーパーユーザーとして開き、書き込み可能
  2. セクションに行く
    ###はじめ/etc/grub.d/30_os-prober ### 
     menuentry "Windows Vista(ローダー)(on/dev/sda1)" --class windows --class os {
     insmod part_msdos 
     insmod ntfs 
     set root = '(hd0、msdos1)' 
     search --no-floppy --fs-uuid --set = root 2C9E66B39E6674EC 
     chainloader +1 
    } 
     ### END /etc/grub.d/30_os-prober ###
  3. chainloader +1の直前に次の行を追加します。
    ドライブマップ-s(hd0)$ {root}
    その後、セクションは次のようになります
    ###はじめ/etc/grub.d/30_os-prober ### 
     menuentry "Windows Vista(ローダー)(on/dev/sda1)" --class windows --class os {
     insmod part_msdos 
     insmod ntfs 
     set root = '(hd0、msdos1)' 
     search --no-floppy --fs-uuid --set = root 2C9E66B39E6674EC 
     drivemap -s(hd0)$ {root} 
     chainloader +1 
    } 
     ### END /etc/grub.d/30_os-prober ###
  4. ファイルを保存して終了します。
  5. システムを再起動し、Windows Vistaを起動します。
0
Samik