Я - Windows 7 двойной загрузки и Ubuntu 12.04. Я уменьшил свой раздел Windows 7 и увеличил мой раздел Ubuntu с помощью gparted с 12,04 живых CD. Все было прекрасно приблизительно в течение недели. Затем на днях я загрузился и был встречен "спасением личинки". Я произвел чистку и переустановил и личинку и затем grub2 согласно многим учебным руководствам на строке, но все усилия встретились с теми же результатами: кажется, что тестер OS видит мои 2 Windows 7 (фактический и восстановление) разделы, а также раздел LTS Ubuntu 12.04; но когда я выполняю любой вариант личинки обновления или обновления-grub2, это только обнаруживает 2 раздела Windows 7. В результате я не могу загрузиться в Ubuntu (который является, где 99% моей работы). Вот вывод bootinfoscript:
Boot Info Script 0.61 [1 April 2012]
============================= Boot Info Summary: ===============================
=> Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 of
the same hard drive for core.img. core.img is at this location and looks
for (,msdos5)/boot/grub on this drive.
sda1: __________________________________________________________________________
File system: ntfs
Boot sector type: Windows Vista/7: NTFS
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files: /bootmgr /Boot/BCD
sda2: __________________________________________________________________________
File system: ntfs
Boot sector type: Windows Vista/7: NTFS
Boot sector info: No errors found in the Boot Parameter Block.
Operating System: Windows 7
Boot files: /bootmgr /Boot/BCD /Windows/System32/winload.exe
sda3: __________________________________________________________________________
File system: ntfs
Boot sector type: Windows Vista/7: NTFS
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files:
sda4: __________________________________________________________________________
File system: Extended Partition
Boot sector type: -
Boot sector info:
sda5: __________________________________________________________________________
File system: ext4
Boot sector type: Grub2 (v1.99)
Boot sector info: Grub2 (v1.99) is installed in the boot sector of sda5
and looks at sector 525161552 of the same hard drive
for core.img. core.img is at this location and looks
for (,msdos5)/boot/grub on this drive.
Operating System: Ubuntu 12.04 LTS
Boot files: /boot/grub/grub.cfg /etc/fstab /boot/grub/core.img
sda6: __________________________________________________________________________
File system:
Boot sector type: -
Boot sector info:
Mounting failed: mount: unknown filesystem type ''
============================ Drive/Partition Info: =============================
Drive: sda _____________________________________________________________________
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
Partition Boot Start Sector End Sector # of Sectors Id System
/dev/sda1 2,048 206,847 204,800 7 NTFS / exFAT / HPFS
/dev/sda2 206,848 504,360,959 504,154,112 7 NTFS / exFAT / HPFS
/dev/sda3 591,218,688 625,137,663 33,918,976 7 NTFS / exFAT / HPFS
/dev/sda4 504,360,960 591,218,687 86,857,728 5 Extended
/dev/sda5 * 504,363,008 583,360,511 78,997,504 83 Linux
/dev/sda6 583,362,560 591,218,687 7,856,128 82 Linux swap / Solaris
"blkid" output: ________________________________________________________________
Device UUID TYPE LABEL
/dev/loop0 squashfs
/dev/sda1 DA669D8C669D69D1 ntfs System Reserved
/dev/sda2 BAAAA703AAA6BAF1 ntfs
/dev/sda3 8E22D1E022D1CCF9 ntfs OS Recovery
/dev/sda5 c35e7a0a-408c-4586-8a18-b3faa368ef3f ext4
/dev/sr0 iso9660 Ubuntu 12.04 LTS amd64
================================ Mount points: =================================
Device Mount_Point Type Options
/dev/loop0 /rofs squashfs (ro,noatime)
/dev /mnt/dev none (rw,bind)
/dev/pts /mnt/dev/pts none (rw,bind)
/dev/sda2 /media/BAAAA703AAA6BAF1 fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sda5 /media/c35e7a0a-408c-4586-8a18-b3faa368ef3f ext4 (rw,nosuid,nodev,uhelper=udisks)
/dev/sda5 /mnt ext4 (rw)
/dev/sr0 /cdrom iso9660 (ro,noatime)
=========================== sda5/boot/grub/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,msdos5)'
search --no-floppy --fs-uuid --set=root c35e7a0a-408c-4586-8a18-b3faa368ef3f
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=auto
load_video
insmod gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root c35e7a0a-408c-4586-8a18-b3faa368ef3f
set locale_dir=($root)/boot/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 ###
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
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root DA669D8C669D69D1
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 ###
--------------------------------------------------------------------------------
=============================== sda5/etc/fstab: ================================
--------------------------------------------------------------------------------
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda5 during installation
UUID=c35e7a0a-408c-4586-8a18-b3faa368ef3f / ext4 errors=remount-ro 0 1
# swap was on /dev/sda6 during installation
#UUID=a4d335d5-6a81-4af8-a1c7-3beeee8699a1 none swap sw 0 0
/dev/mapper/cryptswap1 none swap sw 0 0
--------------------------------------------------------------------------------
=================== sda5: Location of files loaded by Grub: ====================
GiB - GB File Fragment(s)
= boot/grub/core.img 1
= boot/grub/grub.cfg 1
========= Devices which don't seem to have a corresponding hard drive: =========
sdb
=============================== StdErr Messages: ===============================
xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
И sudo тестера OS от 12.04 LiveCD:
/dev/sda1:Windows 7 (loader):Windows:chain
/dev/sda2:Windows 7 (loader):Windows1:chain
/dev/sda5:Ubuntu 12.04 LTS (12.04):Ubuntu:linux
Я прочитал в значительной степени каждое руководство, учебное руководство и вопрос, который существует там для обновления любой версии личинки, но ничто не работало. Но то, что наиболее сбивает с толку, - то, что тестер OS видит установку; я был бы очень признателен за любую помощь в этом вопросе.
menuentry
загружать Ubuntu путем редактирования grub.cfg
?
Я решил, что мог бы также предложить это с тех пор, даже если это не будет работать, возможно, то это приведет к более полезному сообщению об ошибке.
Загрузите свою систему с помощью 12.04 LiveCD.
Смонтируйтесь sda5
раздел Ubuntu установлен на. В этом примере я приму sda5
был смонтирован в /mnt
использование, например, sudo mount -t ext4 /dev/sda5 /mnt
.
Определите, какое ядро (ядра) Вы установили путем списка содержания /mnt/boot
каталог. Вам будет нужна эта информация для завершения шага (5) ниже.
Примечание: Команда ниже является одним способом, которым Вы могли сделать это.
ls /mnt/boot/{initrd*,vmlinuz*}
Использовать sudo
отредактировать файл /mnt/boot/grub/grub.cfg
(т.е. grub.cfg
файл на Вашем sda5
Раздел Ubuntu).
Найдите строки ниже в файле. Они должны быть ~10 строками до конца файла.
### 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 ###
Вышеупомянутое замены с GRUB управляет для menuentry
ниже.
Важный: В примере ниже Вас должен заменить ?.?.?-??
в linux
и initrd
строки с номером версии (от шага (3)) ядра Вы хотите загрузиться.
### BEGIN /etc/grub.d/40_custom ###
menuentry 'Ubuntu on sda5' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root c35e7a0a-408c-4586-8a18-b3faa368ef3f
linux /boot/vmlinuz-?.?.?-??-generic root=UUID=c35e7a0a-408c-4586-8a18-b3faa368ef3f ro quiet splash
initrd /boot/initrd.img-?.?.?-??-generic
}
### END /etc/grub.d/40_custom ###
Перезагрузка и видит, позволяет ли эта пользовательская запись Вам загружать Ubuntu от /dev/sda5
.
Если бы предложение выше обработанного, то я предложил бы пробовать следующее.
Использовать sudo
отредактировать файл /etc/grub.d/40_cutom
и добавьте команды menuentry от шага (5) в конец файла. Таким образом, запись меню не будет потеряна, если Вы будете работать update-grub
.
Предупреждение: не удаляйте эти две строки ниже! Они должны быть в начале файла 40_custom
для update-grub
работать правильно.
#!/bin/sh
exec tail -n +3 $0
Попытайтесь переустановить GRUB все же еще раз использование команды ниже. (Почему нет?)
sudo grub-install --recheck /dev/sda
/boot
Я никогда не сталкивался с ситуацией, где файлы ядра отсутствовали в /boot
. Мое первое беспокойство было бы то, что, если Ваши файлы ядра отсутствуют, то что-то еще могло быть серьезно неправильным с Ubuntu, установленной на sda5
.
Я предлагаю, чтобы Вы обновили свой вопрос и его заголовок, чтобы отразить, что нет никаких файлов ядра в /boot
. Выполнение этого увеличивает Ваши возможности получения лучшего ответа от кого-то еще.
Я искал AskUnbuntu подобный вопрос, но все, что я нашел, было тем, связанным ниже.
Как восстановить систему после случайного удаления всех ядер?
Лучший ответ на тот вопрос был к chroot
и затем попытайтесь переустановить ядро, которое Вы говорите, что уже попробовали. Единственное изменение, которое я мог предложить, является Вами, попробовали еще раз использовать эти команды. (Отметьте: sudo
не использовался ниже потому что если Вы chroot
Вы уже root
.)
apt-get update apt-get --reinstall install linux-generic linux-image-generic linux-headers-generic
grub-install --recheck /dev/sda
Страница справочника для обновления-initramfs может также помочь обеспечить некоторый контекст о том, что происходит, когда ядро "установлено".
Задним числом я должен был понять, что что-то было неправильно от чтения Вашей сводки BootInfo. Это заканчивается выборкой ниже.
=================== sda5: Location of files loaded by Grub: ====================
GiB - GB File Fragment(s)
= boot/grub/core.img 1
= boot/grub/grub.cfg 1
========= Devices which don't seem to have a corresponding hard drive: =========
sdb
=============================== StdErr Messages: ===============================
xz: (stdin): Compressed data is corrupt
xz: (stdin): Compressed data is corrupt
awk: cmd. line:36: Math support is not compiled in
awk: cmd. line:36: Math support is not compiled in
Но вместо ошибок выше я должен был ожидать видеть что-то как выборка ниже из сводки BootInfo, которую я создал как пример.
=================== sda5: Location of files loaded by Grub: ====================
GiB - GB File Fragment(s)
23.440826416 = 25.169395712 boot/grub/core.img 1
23.440864563 = 25.169436672 boot/grub/grub.cfg 1
18.791522980 = 20.177244160 boot/initrd.img-3.2.0-23-generic 1
25.439197540 = 27.315130368 boot/vmlinuz-3.2.0-23-generic 1
18.791522980 = 20.177244160 initrd.img 1
25.439197540 = 27.315130368 vmlinuz 1
ADDITIONAL INFORMATION :
=================== log of boot-repair 2012-06-13__16h58 ===================
boot-repair version : 3.18-0ppa25~precise
boot-sav version : 3.19-0ppa14~precise
glade2script version : 0.3.2.1-0ppa7~precise
boot-repair is executed in live-session (Ubuntu 12.04 LTS , precise , Ubuntu , x86_64)
=================== OSPROBER:
/dev/sda1:Windows 7 (loader):Windows:chain
/dev/sda5:Ubuntu 12.04 LTS (12.04):Ubuntu:linux
... et cetera ....
Запустите Boot-Repair «Рекомендуемый ремонт» . Это переустановит GRUB и переустановит ядро при необходимости. Если возникнут проблемы, укажите URL, который появится.