今天一同学的本,装了两个WINXP&linux, 然后因误操作了磁盘分区,结果两个系统都无法启动。我按如下方法去解决问题时,因在 步骤2 处操作失败(提示磁盘扫描失败,记得不太清了~),后又操作多次经常性的提示找不到磁盘驱动器,所以整了大半天没有把问题解决掉,杯具呀~。因为磁盘驱动器经常找不到(就连重装系统也没法安装,因为找不到磁盘),或者不稳定等现象,我一心认定这磁盘坏了,想给它来个低级格式化,但以前从未用过,还有点不敢用(因为这个比较危险)……后来另外一非计算机专业的计算机爱好者就是我接下来所说的,直接进入步骤3, 结果XP是找回来。LIUNX还没整呢,晚了,人家回家了…… 事后我郁闷!咋我就不知跳过步骤2直接试一下step3呢?! 后来一分析,是自己对这些命令的作用不熟(因为我当时也模糊的感知这肯定磁盘的什么分区表丢失或者引导区之类的出现了错误,只因这已领域的知识了解太少,问题分析不出,当然也解决不了)。嗨……!
于是乎,记录下一点点,以便健忘的我以后再次遇到重蹈覆辙! 这下面的步骤可能还有错误,望高手不吝赐教!
1 从WINDOWS XP安装盘进入到安装页面:
然后选择第二项: 要用“恢复控制台”修复Windows XP安装,请按R。
如图:
2 进入修复模式后运行:bootcfg /scan 命令。关于该命令更多的信息看 -hellp帮助。
3 然后输入“重新构造主引导扇区命令”: fixmbr。 注意:有时候,磁盘的MBR(Master Boot Record)损坏,第2步执行不成功。则可直接执行第3步。有可能修复好OS引导。
这样就找回了XP
4 下载最新grub4dos
然后将grub4dos解压到C盘,后重启进入grub,选择第一个选项,就能进入XP了
5 将grldr文件复制到C根目录
6 修改boot.ini。在其最后加上C:/grldr="grub"
附:相关知识与命令的详细说明:
---------------------------------------------------------------------------------------------------------------------------------------------------
1)MBR(Master Boot Record),中文意为主引导记录。硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。第一部分为pre-boot区(预启动区),占446字节;第二部分是Partition table区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。他是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。
---------------------------------------------------------------------------------------------------------------------------------------------------
2)bootcfg: (From: http://baike.baidu.com/view/1158039.html?tp=4_01)
BOOTCFG /parameter [arguments]
描述:
此命令行工具可以用来在 BOOT.INI 文件中配置,查询,更改或删除启动项目设置。
参数列表:
/Copy 生成一个现有的启动项目 [operating systems] 部分的副本,您可以在上面添加操作系统选项。
/Delete 在 BOOT.INI 文件的 [operating systems] 部分删除一个现有的启动项目。您必须指定要删除的项目号。
/Query 显示当前启动项目和它们的设置。
/Raw 允许用户为特定的启动项目指定1394 端口调试。
/Timeout 允许用户更改超时值。
/Default 允许用户更改默认启动项目。
/EMS 允许用户为启动项目的无头支持配置 -/redirect 开关。
/Debug 允许用户为特定的启动项目指定远程调试的端口和波特率。
/Addsw 允许用户为特定的启动项目添加预定义开关。
/Rmsw 允许用户为特定的启动项目删除预定义开关。
/Dbg1394 允许用户为特定的启动项目配置1394 端口调试。
/? 显示帮助/用法。
示例:
BOOTCFG /Copy /?
BOOTCFG /Delete /?
BOOTCFG /Query /?
BOOTCFG /Raw /?
BOOTCFG /Timeout /?
BOOTCFG /EMS /?
BOOTCFG /Debug /?
BOOTCFG /Addsw /?
BOOTCFG /Rmsw /?
BOOTCFG /Dbg1394 /?
BOOTCFG /Default /?
BOOTCFG /?
-------------------------------------------------------
bootcfg 命令及其用法。
更多信息
bootcfg 命令是一个 Microsoft Windows XP 故障恢复控制台命令,用于处理 Boot.ini 文件。此命令具有这样的功能:在硬盘上扫描 Microsoft Windows NT、Microsoft Windows 2000 和 Windows XP 安装,然后将这些安装添加到现有的 Boot.ini 文件中,如果 Boot.ini 文件不存在,则重新生成一个新的 Boot.ini 文件。bootcfg 命令使其他 Boot.ini 文件参数能够添加到现有项或新项中。
要使用 bootcfg 命令,请用 Windows XP CD-ROM 启动故障恢复控制台,然后单击故障恢复控制台。或者,在本地安装故障恢复控制台,然后从启动菜单中选择此命令。
bootcfg 命令及其用法:• bootcfg /default 命令在启动菜单中设置默认操作系统选项(此命令自动选择操作系统项)。
• bootcfg /add 命令在计算机上扫描 Windows NT、Windows 2000 或 Windows XP(如果双启动)安装,然后显示结果。从这个位置,您可以将安装添加到启动菜单。
可能显示的消息的示例为:
Scanning all disks for Windows Installations
Please wait, since this may take a while...
Total Identified Windows Installs:2
[1] C:/Windows
[2] D:/Windows
Select installation to add:(select a number)
Enter Load Identifier:(Custom description for an operating system loading from the Boot menu)
Enter Operating System Load Options:(that is:/fastdetect)
此过程将一个新项添加到启动菜单中。当您添加一个安装时,bootcfg 命令同时使该安装成为默认操作系统启动项。
• bootcfg /rebuild 命令在计算机的硬盘上扫描 Windows NT、Windows 2000 或 Windows XP 安装,然后显示结果。您可以添加检测到的 Windows 安装。
可能显示的消息的示例为:
Total Identified Windows Installs:2
[1] C:/Windows
Add installation to boot list?(Yes/No/All):
Enter Load Identifier:(Custom description for an operating system loading from the Boot menu)
Enter Operating System Load Options:(that is:/fastdetect)
[2] D:/Windows
Add installation to boot list?(Yes/No/All):
Enter Load Identifier:(Custom description for an operating system loading from the Boot menu)
Enter Operating System Load Options:(that is:/fastdetect)
• bootcfg /scan 命令在计算机的硬盘上扫描 Windows NT、Windows 2000 或 Windows XP 安装,然后显示结果。
可能显示的消息的示例为:
Scanning all disks for Windows Installations
Please wait, since this may take a while...
Total Identified Windows Installs:2
[1] C:/Windows
[2] D:/Windows
• bootcfg /list 命令读取 Boot.ini 文件,然后显示操作系统标识符、操作系统加载选项和操作系统位置(路径)。可能显示的消息的示例为:
Total entries in boot list:2
[1] Microsoft Windows Whistler Professional
Operating System Load Options:/fastdetect
Operating System Location:D:/Windows
[2] Microsoft Windows Whistler Server
Operating System Load Options:/fastdetect
Operating System Location:C:/Windows
• 可能显示的消息的示例为:bootcfg /redirect 命令在配置中已指定了端口和波特率的启动加载程序中启用重定向。此命令用于启用无显示终端管理 (Headless Administration) 功能。
此命令的示例如下:
bootcfg /redirect com1 115200
bootcfg /redirect useBiosSettings
• 可能显示的消息的示例为:bootcfg /disableredirect 命令在配置中已指定了端口和波特率的启动加载程序中禁用重定向。此命令用于禁用无显示终端管理 (Headless Administration) 功能。
也可以在 Windows XP 图形用户界面 (GUI) 中修改 Boot.ini 文件:1. 在"控制面板"中,双击系统。
2. 在高级选项卡上,单击"启动和故障恢复",然后单击设置。
3. 在系统启动下,单击编辑。
4. 您必须保存更改然后单击确定退出"启动和故障恢复"窗口之后,才能看到对 Boot.ini 文件的更改。
5. 单击开始,再单击运行,然后键入:msconfig 以启动系统配置工具。
6. 单击 Boot.ini 选项卡。
----------------------------------------------------------------------------------------------------------------------------------------------
3)FixMBR (From: http://baike.baidu.com/view/1158039.html?tp=4_01)
Fixmbr是一个DOS下的应用小工具,只有12KB,专门用于重新构造主引导扇区。直接运行Fixmbr,它将检查MBR结构,如果发现系统不正常则会出现是否进行修复的提示。如果回答“Yes”,它将搜索分区。当搜索到相应的分区以后,系统会提示是否修改MBR,回答“Yes”则开始自动修复。如果这时出现死机现象,请将BIOS中的防病毒功能禁止后再做。缺省的状态下将搜索所有已经存在的硬盘,并完成以上操作。如果完成的结果不对,可以用“/Z”参数将结果清空后重新启动,就可以恢复到原来的状态。
执行“FIXMBR /?”可得到FIXMBR的帮助信息如下:
Usage:FIXMBR[DriveNo][/A][/D][/P][/Z][/H]
DriveNoHarddiskscope0-3,defaultisalldrive.(指硬盘号,0表示第一个硬盘)
/AActiveDOSpartition.(激活基本DOS分区)
/PDisplaypartition.(显示DOS分区的结构)
/DDisplayMBR.(显示主引导记录内容)
2. fixmbr 与 fdisk /mbr
两者的功能是一样的。前者是故障恢复平台中的命令,后者是老牌dos命令。
这两个命令都用来修复主引导记录(包括一些参数及激活分区的功能)的命令且不会破坏硬盘分区表。但具有一定危险性,与sys命令结合使用才是王道。
但是在网上也看到一些文章说使用fdisk /mbr命令修复分区表,但是按理说应该是不可以的,我也有些迷茫。遇到硬盘分区表损坏的问题,可以使用fixmbr命令进入系统,再使用diskgen等软件修复分区表,但也不能保证成功,备份很重要。
----------------------------------------------------------------------------------------------------------------------------------------------------
4) Fixboot
向系统分区写入新的分区引导扇区。只有在使用故障恢复控制台时,才能使用fixboot 命令。
fixboot [drive]
参数 驱动器
将要写入引导扇区的驱动器。它将替代默认的驱动器(即用户登录的系统分区)。例如,驱动器:D:
范例
下列命令范例向驱动器 D:的系统分区写入新的分区引导扇区:
fixboot d:
注意: 如果不带任何参数,fixboot 命令将向用户登录的系统分区写入新的分区引导扇区。