修复Grub error17 , Arch+Xp

Arch Linux + Windows Xp 一个sata主盘sda,一个ide从盘sdb,分区情况:

sda1 xp
sda2 /
sda3 swap
sdb1 仓库

试用一下winpe启动u盘。pe居然把俩块硬盘的主从顺序搞反了。万恶的自动挂载。。

硬盘启动,Grub Error 17。

开始修复,先把无关紧要的仓库盘用光驱换掉。找个liveCD。这里用的是ubuntu9.10进光盘系统

$sudo -i     #获得root权限
#mount /dev/sda2 /mnt  #挂载arch的根目录
#cd /mnt
#find . -name grub #找出grub命令的位置。
./sbin/grub            

重建grub

#./sbin/grub
> find /boot/grub/stage1
(hd0, 0)
>root (hd0,0)
>setup(hd0)
suceeded
>quit

重新修改/mnt/boot/grub/menu.lst hd0,1和/dev/sda2为arch跟分区位置

 # (0) Arch Linux
title  Arch Linux
root   (hd0,1)
kernel /boot/vmlinuz-linux root=/dev/sda2 ro
initrd /boot/initramfs-linux.img

修改/mnt/etc/fstab,仓库盘换成光驱了,所以注释掉。

# 
# /etc/fstab: static file system information
#
# <file system> <dir>   <type>  <options>       <dump>  <pass>
tmpfs           /tmp    tmpfs   nodev,nosuid    0       0
/dev/sda3 swap swap defaults 0 0 
/dev/sda2 / ext4 defaults 0 1 
#/dev/sdb1 /media/exch ntfs-3g defaults 0 2

reboot,正常启动。

如果不修改好menu.lst,grub会找不到linux分区,XP可以正常启动;

如果不修改好fstab,linux会挂载分区失败。

posted @ 2012-09-02 14:43  Leo Forest  阅读(404)  评论(0编辑  收藏  举报