четверг, 18 февраля 2010 г.

GRUB: Cannot mount selected partition

Если grub не находит /boot раздел


проще всего найти свой /boot набрав
grub> root
root
(hd0,0): Filesystem type is ext2fs, partition type 0x83


или по-другому

grub> find (hd[tab]
покажет все установленные диски на машине

grub> find (hd0,[tab]
покажет все возможные разделы на диске и их тип

на знакомых загрузчику разделах можно поискать /grub/grub.conf и таким образом обнаружить root (т.е. тот, который /boot)
grub> find (hd0,0)/grub/grub.conf
(hd0,0)

теперь можно определить /boot
grub> root (hd0,0)

и прочитать grub.conf
grub> cat (hd0,0)/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/rootvg/rootvol
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.10.1.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.10.1.el5 ro root=/dev/rootvg/rootvol rhgb quiet
initrd /initrd-2.6.18-164.10.1.el5.img
title CentOS (2.6.18-164.10.1.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-164.10.1.el5
module /vmlinuz-2.6.18-164.10.1.el5xen ro root=/dev/rootvg/rootvol rhgb quiet
module /initrd-2.6.18-164.10.1.el5xen.img

и определить, какое ядро, initrd (если нужно) и корневой каталог использовать для загрузки (собственно, так же как они указаны в конфиг файле)
После успешной загрузки нужно отредактировать и перезаписать grub в mbr:
$ vi /boot/grub/grub.conf

$ grub
grub> root (hd0,0) (указание расположения раздела с /boot)
grub> setup (hd0) (установка GRUB в MBR)
grub> quit (выход из оболочки GRUB)

http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml?part=1&chap=10#doc_chap2