恢复GRUB/LILO (简体中文)

From ArchWiki

Jump to: navigation, search


i18n
English
简体中文

这篇文章指导读者在启动加载器(boot loader)无法工作的时候如何逐步恢复它. 基于此目的,我们假设/dev/sda3是你的Arch Linux的根分区,/dev/sda1是你的启动分区. 此文章讲述恢复GRUB和LILO启动加载器.你应当首先阅读GRUB和LILO的wiki页面以确保你明白你在做什么.记住,恢复一个启动加载器不过是重新在硬盘的MBR(Master Boot Record)区域重装它而已.

Contents

基础

获取 Arch Linux 启动CD

下载或是使用一张Arch Linux Base CD
Arch Linux Download

使用Arch Linux CD启动系统

使用Arch Linux CD启动系统

-> 在启动提示符下键入:

arch root=/dev/sda3

这表明该启动/救援光盘将读入它自带的内核,但是使用'/dev/sda3'作为系统的根目录.你将注意到,关键在于--正在运行的是你硬盘上的系统.

修复 GRUB/LILO

作为root用户做以下步骤:

修复GRUB:
grub-install /dev/sda

要修复LILO:
/sbin/lilo -v

进阶

有时候,恢复你的MBR不是简单的重装你的启动加载器而已, 有可能系统配置的错误,而导致启动加载器无法工作.在这种情况下,很可能你都无法使用安装/救援CD来启动你的根分区.可能你不得不使用安装/救援CD正常启动,然后手动挂载你的根分区.

arch

然后,手动挂载硬盘上的分区

mount /dev/sda3 /mnt
mount /dev/sda1 /mnt/boot

还有可能你需要挂载'特殊'的目录.如果你需要重新安装你的内核的话,你必须挂载这些特殊目录, 比如.

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

你还可能需要考虑拷贝 '/etc/mtab/' 文件, 如果你想chroot到你新挂载的根分区

cp /etc/mtab /mnt/etc
chroot /mnt

然后,你就可以运行 'install-grub', 'grub-install', 或是 'lilo'这些命令来安装启动加载器到MBR.

Personal tools