Переустановка GRUB

From ArchWiki

Jump to: navigation, search


Note: Это черновой перевод статьи, по возможности опирайтесь на англоязычное руководство
Article summary
Это руководство расскажет вам как переустановить, каким-либо образом потерянный, GRUB с использованием установочного диска Arch.
Доступные языки
English
Español
Français
Česky
Italiano
Русский
Ελληνικά
简体中文

Contents

Введение

Это руководство расскажет вам как переустановить, каким-либо образом потерянный, GRUB с использованием установочного диска Arch.

Замечания

  • В этом руководстве я буду использовать sda как указание корневого раздела в формате udev. Если вы используете установочный диск pre-0.7.1, вы должны заменить udev-ссылки на devfs-ссылки. Смотрите жёсткие диски, если есть сложности.
  • Также, имейте в виду, что это руководство направлено на тех, кто использует SATA, не IDE. Поэтому замените имена IDE на hda вместо sda если у вас IDE-устройства и вы не используете libata.

Загрузка с установочного CD

Первое, что вы должны сделать - это скачать Install CD. Любой установочный CD должен работать; однако, использование последнего CD будет проще чем более старого CD.

Загрузитесь с CD как во время установки (НЕ используйте root= option) и переходите к следующему шагу.

Mount и Chroot во время текущей установки

Теперь необходимо смонтировать текущие установки. Вкратце этот процесс состоит в следующем:

Note: Вы должны точно знать разделы и типы файловых систем. В этом примере я буду использовать sda1 как корневой раздел и ext3 как файловую систему. Измените их в соответствии вашим собственным настройкам.
cd /
# Если вы используете pre-0.7.1 CD, sda1 будет /dev/discs/disc0/part1
mount -t ext3   /dev/sda1 /mnt
mount -t proc   proc      /mnt/proc
mount -t sysfs  sys       /mnt/sys
mount -o bind   /dev      /mnt/dev
 
chroot /mnt /bin/bash

Теперь, вы должны быть авторизованы как root, и в эту текущую установку, как будто вы только что загрузилась, и авторизовались как root.

Если каталог /boot расположен на том же разделе что и /, переходите к следующему шагу. Если же он расположен на другом разделе (например, /dev/sda2), тогда вы должны примонтировать этот раздел в /boot, чтобы grub мог найти необходимые ему файлы:

mount -t ext2   /dev/sda2  /boot

Перед тем как вы запустите grub-install вы должны обновить ваш mtab следующим образом:

cp /proc/mounts /etc/mtab

Переустановка GRUB

Отредактируйте /boot/grub/menu.lst и убедитесь что всё в порядке. Теперь, когда вы убедились, что menu.lst без сомнений верен, выполните следующую команду:

grub-install /dev/sda

Эта команда будет успешно завершена, если вы следовали всем пунктам. (Если нет, смотрите замечания ниже.) Вот-вот, все готово! Выйдете из Chroot и перезагрузите компьютер:

cd /
umount -a
exit
cd /
umount -a
reboot

Ошибки

  • Если вы получили ошибку, которая говорит, что The file /boot/grub/stage1 not read correctly, это, наверное, значит, что ваш fstab/mtab некорректен по каким-либо причинам и требует исправления. Это файлы: /etc/mtab и /etc/fstab. Отредактируйте их, и убедитесь в том что разделы указаны правильно, затем запустите снова grub-install.
  • Если это всё равно не избавило от сообщения об ошибке и вы используете файловые системы ext2/3 на загрузочном разделе, используйте "tune2fs -l /dev/sda1" для проверки Inode-размера ваших root/boot разделов. Что либо кроме значения 128 делает grub неспособным произвести чтение с раздела. Единственное решение этой проблемы - воссоздать вашу корневую файловую систему с правильными параметрами (исправьте /etc/mke2fs.conf, установив inode_size равным 128).
  • Если вы получили ошибку, которая говорит, что sed: can't read /boot/grub/device.map: No such file or directory, это означает что вы должны использовать параметр --recheck с grub-install.
 grub-install --recheck /dev/sda

Надеюсь это покрыло все ошибки, которые могли встретиться. Если вы столкнулись с другими ошибками, перезагрузите компьютер и выполните все действия снова шаг за шагом.

Personal tools