Apr 15, 2009

Fix MBR, 找回 Windows/Linux

有时候重装系统,或者其他行为,导致 MBR 出错,无法引导到 Windows/Linux.

方法:
1)用 Windows XP 安装盘,选择 rescue a previous installation,按 1, enter.
在 DOS 下执行,fixmbr 和 fixboot

Here is an explaination of what these commands do:
FIXBOOT writes a new boot sector onto the system partition. The syntax for the command is:

FIXBOOT [drive:]

If you do not specify the drive: option, FIXBOOT writes the boot sector to the default boot partition. You can specify a different drive if you need to write a boot sector to a
volume other than the default boot partition.


The FIXMBR command lets you repair a master boot record (MBR). The syntax for this command is:

FIXMBR [DeviceName]

If you omit the DeviceName parameter, FIXMBR rewrites the MBR on the boot device. You can specify a device name to write a MBR to a different drive (such as a floppy disk or secondary hard disk). You can use the MAP command to retrieve a list of device names. An example of a valid device name is \Device\HardDisk0.

2) 在 Windows 下观察一下磁盘分区情况,安装 Grub4dos,并重新启动引导到 grub4dos, 执行如下命令
root (hd0,x)
kernel /boot/xxx
initrd /boot/xxx
boot
注意使用 Tab 可以补全文件名,所以也不用记住那些很长的文件名

如上可以启动 linux,修改 grub.conf, 执行
$sudo grub-install /dev/sda

这里附上 grub.conf 中 windows 的启动命令:
title Microsoft Windows XP Pro
rootnoverify (hd0,0)
chainloader +1

关于
NTLDR is missing
解决方法见
http://www.computerhope.com/issues/ch000465.htm#b

0 comments: