修复VISTA启动菜单故障(原创)


--某日心血来潮,想装个VISTA来噍噍,就下了个Beta2 5384中文版,安装倒还顺利,花了一个多小时,谁知道启动没几次,就OVER了,系统都进不了,只剩下一个开机选择Old Version Windows和VISTA双启动的菜单,而且还是VISTA优先启动,晕,于是就想把这个菜单搞掉。。。

--用启动盘进入DOS,使用fdisk /mbr 结果重启后发现无论是VISTA还是WinXP,都说引导失败,进不了,更晕。

--用番茄花园的启动盘,里面有一项叫修复启动故障的选项,选它以后可以正常进入WinXP,不过不用那张启动盘,还是进不了系统,治标不治本啊。

--Baidu一下这个问题,找到如下提示:

boot目录下的fixfat和fixntfs可能是用来修复XP或者LONGHORN的引导代码的,其命令行帮助为:

C:\boot\ntldr.bak>fixfat /?

Usage: fixfat -xp|-lh [-rmv] [-all]
Replaces FAT bootcode on FAT-formatted partitions.
        -xp     - Use XP-compatible bootcode.
        -lh     - Use Longhorn-compatible bootcode.
        -rmv    - Replace bootcode on removable (floppy) disks (default is hard disks)
        -all    - Replace on all partitions (default is only system partition)

C:\boot\ntldr.bak>fixntfs

Usage: fixntfs -xp | -lh [-all]
Replaces NTFS bootcode on NTFS-formatted partitions.
        -xp  - Use XP-compatible bootcode.
        -lh  - Use Longhorn-compatible bootcode.
        -all - Replace on all partitions (default is only system partition)

这两个命令都需要运行在NT环境下。

--在XP下启动CMD,运行fixfat.exe,它叫我去VISTA的安装盘中找Bootsect.exe来修复启动故障

--找来VISTA启动光盘,dir,有个Boot文件夹,进去,然后。。。

J:\boot>bootsect /help

bootsect {/help|/nt60|/nt52} {SYS|ALL|<DriveLetter>:} [/force]

Boot sector restoration tool

Bootsect.exe updates the master boot code for hard disk partitions in order to
switch between BOOTMGR and NTLDR.  You can use this tool to restore the boot
sector on your computer.

/help   Displays these usage instructions.

/nt52   Applies the master boot code that is compatible with NTLDR to SYS,
        ALL, or <DriveLetter>.  The operating system installed on SYS, ALL, or
        <DriveLetter> must be older than Windows Vista.

/nt60   Applies the master boot code that is compatible with BOOTMGR to SYS,
        ALL, or <DriveLetter>.  The operating system installed on SYS, ALL, or
        <DriveLetter> must be Windows Vista or WindowsServer "Longhorn".

SYS     Updates the master boot code on the system partition used to boot
        Windows.

ALL     Updates the master boot code on all partitions.  ALL does not
        necessarily update the boot code for each volume.  Instead, this
        option updates the boot code on volumes that could be used as Windows
        boot volumes, which excludes any dynamic volumes that are not
        connected with an underlying disk partition.  This restriction is
        present because boot code must be located at the beginning of a disk
        partition.

<DriveLetter> Updates the master boot code on the volume associated with this
        drive letter.  Boot code will not be updated if either 1)
        <DriveLetter> is not associated with a volume or 2) <DriveLetter> is
        associated with a volume not connected to an underlying disk
        partition.

/force  Forcibly dismounts the volume(s) during the boot code update.  You
        should use this option with caution.

        If Bootsect.exe cannot gain exclusive volume access then the file
        system may overwrite the boot code before the next reboot.
        Bootsect.exe always attempts to lock and dismount the volume before
        each update.  When /force is specified, a forced dismount is attempted
        if the initial lock attempt fails.  A lock can fail, for example, if
        files on the target volume are currently opened by other programs.

        When successful, a forced dismount allows exclusive volume access and
        a reliable boot code update even though the initial lock failed.  At
        the same time, a forced dismount invalidates all open handles to files
        on the target volume.  This could result in unexpected behavior from
        the programs that opened these files.  Therefore, you should use this
        option with caution.

Example:

To apply the master boot code that is compatible with NTLDR to the volume
labeled E:, use the following command:

bootsect /nt52 E:

--于是尝试修复C盘的WinXP系统,执行下列指令。。。

J:\boot>bootsect /nt52 c:
Target volumes will be updated with NTLDR compatible bootcode.

C: (\\?\Volume{6b5d8980-0f64-11db-a678-806d6172696f})

    Updated FAT32 filesystem bootcode.  The update may be unreliable since the
    volume could not be locked during the update:

Bootcode was successfully updated on all targeted volumes.

--重启机器,成功,那个该死的启动菜单已经不见了。。。哈哈

 

 

posted on 2006-11-09 09:41  冰原雪龙  阅读(9523)  评论(1编辑  收藏  举报