grub2 Windows больше не загружается

В updatedb.sh строка 175 дает подсказку:

PRUNEREGEX=`echo $PRUNEPATHS|sed -e 's,^,\\\(^,' -e 's, ,$\\\)\\\|\\\(^,g' -e 's,$,$\\\),'`

Там $PRUNEPATHS обрабатывается как простой текст, '' символы заменяются, и никакой выход не возможен.

Гарантировать пространство переживает ту строку 175, необходимо обозначить его, явно не упоминая его. Лучшим способом я знаю, должен использовать \s, что означает пробельный символ:

PRUNEPATHS='/path/to/Program\sFiles\s(x86)'

(Который будет также включать символы табуляции и символы новой строки, но в этом случае будет хорошо для Вас.)

Иначе должен установить $PRUNEREGEX непосредственно, как updatedb сделал бы в строке 175:

PRUNEREGEX='\(^/path/to/Program Files (x86)$\)'

Там Вы разделяете разнообразные пути с \|, таким образом, пространство больше не является проблемой:

PRUNEREGEX='\(^/path/to/Program Files (x86)$\)\|\(^/foo/bar$\)'
1
23.09.2011, 22:29
3 ответа

Вы попытались переустановить grub2?

0
28.01.2020, 02:10

точно я сделал тот запуск окон восстановления, и затем он повреждает личинку, и необходимо переустановить его снова: вот ссылка, если кому-либо нужно больше информации https://help.ubuntu.com/community/Grub2

0
28.01.2020, 02:10

Я добираюсь за исключением времени... не мог проверить целый Ваш grub.cfg файл. У меня действительно также есть мультиначальная загрузка. Можно проверить мой 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='(hd1,msdos8)'
search --no-floppy --fs-uuid --set=root 1ba4108c-e35d-45d5-9c64-3d4d085486bf
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd1,msdos1)'
  search --no-floppy --fs-uuid --set=root f7550d0e-3364-45a3-81d0-8f423c94868f
  set locale_dir=($root)/grub/locale
  set lang=en_US
  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 ###
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, with Linux 3.0.0-13-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    set gfxpayload=$linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos1)'
    search --no-floppy --fs-uuid --set=root f7550d0e-3364-45a3-81d0-8f423c94868f
    linux   /vmlinuz-3.0.0-13-generic root=UUID=1ba4108c-e35d-45d5-9c64-3d4d085486bf ro   quiet splash vt.handoff=7
    initrd  /initrd.img-3.0.0-13-generic
}
menuentry 'Ubuntu, with Linux 3.0.0-13-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos1)'
    search --no-floppy --fs-uuid --set=root f7550d0e-3364-45a3-81d0-8f423c94868f
    echo    'Loading Linux 3.0.0-13-generic ...'
    linux   /vmlinuz-3.0.0-13-generic root=UUID=1ba4108c-e35d-45d5-9c64-3d4d085486bf ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /initrd.img-3.0.0-13-generic
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.0.0-12-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    set gfxpayload=$linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos1)'
    search --no-floppy --fs-uuid --set=root f7550d0e-3364-45a3-81d0-8f423c94868f
    linux   /vmlinuz-3.0.0-12-generic root=UUID=1ba4108c-e35d-45d5-9c64-3d4d085486bf ro   quiet splash vt.handoff=7
    initrd  /initrd.img-3.0.0-12-generic
}
menuentry 'Ubuntu, with Linux 3.0.0-12-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos1)'
    search --no-floppy --fs-uuid --set=root f7550d0e-3364-45a3-81d0-8f423c94868f
    echo    'Loading Linux 3.0.0-12-generic ...'
    linux   /vmlinuz-3.0.0-12-generic root=UUID=1ba4108c-e35d-45d5-9c64-3d4d085486bf ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /initrd.img-3.0.0-12-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='(hd1,msdos1)'
    search --no-floppy --fs-uuid --set=root f7550d0e-3364-45a3-81d0-8f423c94868f
    linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod part_msdos
    insmod ext2
    set root='(hd1,msdos1)'
    search --no-floppy --fs-uuid --set=root f7550d0e-3364-45a3-81d0-8f423c94868f
    linux16 /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root E6C09302C092D85F
    drivemap -s (hd0) ${root}
    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 ###

Кроме того, также проверяют файл boot.ini в раздел окон, существует ли это хорошо. Лучшая удача.

0
28.01.2020, 02:10
  • 1
    благодарит Голубое небо, я уже решил проблему (вот почему ответ был принят) –  vallllll 10.11.2011, 18:33

Теги

Похожие вопросы