修复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会挂载分区失败。