Переустановка GRUB
From ArchWiki
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 во время текущей установки
Теперь необходимо смонтировать текущие установки. Вкратце этот процесс состоит в следующем:
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
Надеюсь это покрыло все ошибки, которые могли встретиться. Если вы столкнулись с другими ошибками, перезагрузите компьютер и выполните все действия снова шаг за шагом.