我在学校实验室的一台电脑,原先有两个系统
windows XP (hda1)
redhat linux (hda7)
重装了windows XP后,原主引导记录被覆盖,不能启动redhat,我就:
使用一张liveCD启动
# grub
> root (hd0,6)
> setup (hd0)
> quit
# reboot
重启动,并没有出现grub界面,而是黑屏。
使用windows XP 安装盘启动,进行修复:
C:\WINDOWS> fixboot C:
C:\WINDOWS> exit
重启动,仍是黑屏。
再次使用XP安装盘启动:
C:\WINDOWS> fixmbr
出现了警告和一个是非问题,警告说修复mbr可能使造成整个盘无法识别,我担心硬盘数据丢失,所以选择n,不修复mbr。
使用liveCD启动,对主引导记录进行备份:
# mount -t vfat /dev/sda1 /mnt
# dd if=/dev/hda of=/mnt/mbr count=1
# reboot
换用windows XP安装盘:
C:\WINDOWS> fixmbr
这回选y,修复mbr,修复成功
C:\WINDOWS> exit
重启动,进入windows XP登录界面(又回到了起始位置,白忙了一个小时)。
在备份mbr的过程中,我作了另一个备份:
# dd if=/dev/hda of=/mnt/mbr_count=20 count=20
# dd if=/dev/hda1 of=/mnt/win count=1
然后用vi打开,在mbr_count=20里的"55AA"后面先后出现了
Loading stage1.5
0.93
/boot/grub/stage2 /boot/grub/menu.lst
GRUB loading, please wait...
internal error:
the second sector of Stage 2 is unknown.
等可读字符
在win里(只有512字节)出现了
A disk read error occurred
NTLDR is missing
NTLDR is compressed
Press Ctrl+Alt+Del to restart
这些可读字符,并且以"55AA"结束。
这两个文件的第一个字都是"EB"(我不知道什么意思,但是我猜肯定是有其意义的)。
# fdisk -l /dev/hda
hda1 是从第一个扇区开始的。
我没有研究过硬盘的结构,但是我推测,在hda1的第一个扇区之前肯定至少还有20个扇区,究竟是怎么回事,等找到相关的详细资料在作进一步分析吧。(以上均为猜测)
阅读(1885) | 评论(2) | 转发(0) |