Tag: Debian

  • GRUB 2 – ошибка 15

    \"\"Изредка, особенно при невнимательной настройке загрузчика grub2 возникает ситуация, при которой система полностью отказывается грузиться, а на экране консоли возникает ошибка – “Error 15: File not found!”. Для решения проблемы необходимо внести изменения в файл /boot/grub/menu.lst, указав правильный раздел для загрузки – раздел root.

    С начала загружаемся с Live CD и открываем терминал.

    Проверяем, какие разделы доступны в системе:

    $ sudo fdisk -l | grep -i linux

    Обычно это раздел системы и swap-раздел. Нас интересует раздел, содержащий /root.

    /dev/hda5  1276  1397  979902    82  Linux swap / Solaris
    /dev/hda6  1398  2550  9261441   83  Linux

    /dev/hda6 – в нашем примере это раздел root. /dev/hda6 прописывается в grub, как (hd0,5). К примеру, если ваша система находится в /dev/hda1, то при загрузке нужно прописывать – (hd0,0). В grub прописывается значение на единицу меньшее, чем указано в разделе.

    Откройте файл menu.lst и проверьте, что /dev/hda6 и (hd0,5) соответствуют разделу root, и никаких лишних разделов не указано. Это основная причина появления ошибки 15. В нашем примере root-раздел должен соответствовать разделу /dev/hda6, ниже указан пример файла /boot/grub/menu.lst:

    title       Debian GNU/Linux, kernel 2.6.26-2-686
    root        (hd0,5)
    kernel      /boot/vmlinuz-2.6.26-2-686 root=/dev/hda6 ro
    initrd      /boot/initrd.img-2.6.26-2-686
    title       Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
    root        (hd0,5)
    kernel      /boot/vmlinuz-2.6.26-2-686 root=/dev/hda6 ro single
    initrd      /boot/initrd.img-2.6.26-2-686

    Далее желательно проверить файл /etc/fstab на соответствие разделов и типов файловых систем:

    # /etc/fstab: static file system information.
    #
    # <file system> <mount point>  <type>  <options>       <dump>  <pass>
    proc            /proc           proc    defaults          0     0
    /dev/hda6       /               ext3    errors=remount-ro 0     1
    /dev/hda5       none            swap    sw                0     0
    /dev/hdc        /media/cdrom0   udf,iso9660 user,noauto   0     0

    После перезагрузки, система должна нормально загрузиться.

    Переустановка загрузчика

    После загрузки LiveCD, открываем терминал и монтируем разделы системы:

    Предварительно запускаем fdisk для того, чтобы удостовериться в правильности указания корневого раздела.

    # fdisk -l

    Монтирование обычных систем:

    # mount /dev/sda2 /mnt/

    Если /boot примонтирован отдельно:

    # mount /dev/sda1 /mnt/boot

    Монтирование специальных систем:

    # mount --bind /dev /mnt/dev
    # mount --bind /dev/pts /mnt/dev/pts
    # mount --bind /proc /mnt/proc
    # mount --bind /sys /mnt/sys

    Заходим в chroot-систему:

    # chroot /mnt

    Если отсутствует файл /boot/grub/grub.cfg, или есть проблемы с настройкой:

    # update-grub

    Переустанавливаем GRUB2 :

    # grub-install /dev/sda

    (Внимание! Номер после названия раздела не пишется!)

    Проверяем правильность настроек:

    # grub-install --recheck /dev/sda

    Выходим из chroot-системы:

    # exit
    
    # umount /mnt/sys
    # umount /mnt/proc
    # umount /mnt/dev/pts
    # umount /mnt/dev
    # umount /mnt/boot
    # umount /mnt
    
    # reboot

    После перезагрузки всё должно заработать! :)