解决win7下重装winXP 系统启动选择菜单消失 问题

帮了一个哥们重装了winXP

发现居然他的双系统选择菜单不见了

呵呵 发现从来没有遇到过这种情况 就上网找了一下

大多数都说改系统盘里面的boot.ini的配置信息就好

可是本着大多数不一定是正确的观念 又去Google了一下

才得知真相

从Vista以上的操作系统开始 系统的启动不再依靠boot.ini来运行

这里先普及一下这个系统文件的知识

Boot.ini 是什么

=====================================================================

  Windows XP主要依赖Boot.ini文件来确定计算机在重启(引导)过程中显示的可供选取的操作系统类别。Boot.ini在缺省状态下被设定为隐含和系统文件属性, 并且被标识为只读文件。

  Windows 2000、Windows XP、Windows Server 2003主要依赖Boot.ini文件来确定计算机在引导过程中显示的可供选取的操作系统类别。

  当我们在电脑中安装了多系统(如Windows 98和Windows XP)之后,每次启动计算机时都会出现一个系统引导菜单,在此选择需要进入的系统后回车即可。这个引导程序名为Boot.ini,在安装Windows 2000(XP)时程序自动被安装,使用它我们可以轻松对电脑中的多系统进行引导,还可以通过该引导文件,设置个性化的启动菜单。

======================================================================

Boot.ini 里面的内容详解

======================================================================

“BOOT.INI”文件会在已经安装了Windows NT/2000/XP的操作系统的所在分区,一般默认为C:\下面存在。但是它默认具有隐藏和系统属性,所以你要设置你的文件夹选项,以便把“BOOT.INI”文件显示出来。我们可以用任何一种文本编辑器来打开他它。一般情况下,它的内容如下:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\Windows
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\Windows="Microsoft Windows XP Professional" /fastdetect
在Windows 2000或者是XP系统中,我们可以很容易的设置“BOOT.INI”文件。那就是在“我的电脑”上面点击右键,选择“属性”打开“系统属性”对话框,再点击“高级”选项卡,在“启动和故障修复”里面点击“设置”按钮,就可以打开“启动和故障修复”对话框了,在这里面我们就可以对它进行详细设置。
如果你拥有Windows XP操作系统,那么你可以用“系统配置实用程序”来更方便的编辑“BOOT.INI”文件。具体做法是:打开“开始”菜单,点击“运行”命令,再在弹出的文本框中输入“Msconfig”点击“确定”后就会弹出“系统配置实用程序”,再点击“BOOT.INI”选项卡,就会出现如图所示的界面。在这里,我们可以很方便地设置文件。
言归正传,现在,来说明一下这个文件内容的含义。
1.系统加载部分([boot loader])
这一部分很简单,只有两个设定。那就是“timeout=”和“default=”。
“timeout=”就是设定开机时系统引导菜单显示的时间,超过设定值则自动加载下面“default=”指定的操作系统。默认值是30,单位为秒。我们可以在这里面设定等待时间的长短。如果将其设为“0”那么就是不显示系统引导菜单。
“default=”则是设定默认引导的操作系统。而等号后面的操作系统必须是已经在“[operating systems]”中存在的。如果想默认为加载另外的操作系统,我们可以参看“[operating systems]”中的操作系统列表,然后把想要加载的操作系统按照格式写到“default=”后面就可以了。
2.操作系统部分([operating systems])
在这里面,列出了机器上所安装的全部操作系统。比如机器上只有一个操作系统,那么就只有一条信息,那就是“multi(0)disk(0)rdisk(0)partition(1)\Windows="Microsoft Windows XP Professional" /fastdetect”
在这里需要注意的是,在英文引号内的文字就是引导操作系统菜单时显示出来的让我们选择操作系统的提示文字,在这里面我们可以随意更改。而“multi(0)disk(0)rdisk(0)partition(1) \Windows”这一句就需要些解释了。因为它涉及ARC(高级RISC计算机)命名,它是x86或RISC计算机中用于标识设备的动态方法。
ARC命名的第一部分用于标识硬件适配卡/磁盘控制器,它有两个选项:SCSI和Multi。
Multi表示一个非SCSI硬盘或一个由SCSI BIOS访问的SCSI硬盘,而SCSI则表示一个SCSI BIOS禁止的SCSI硬盘。(x)是硬件适配卡序号。Disk(x)表示SCSI总线号。如果硬件适配卡为Multi,其正确表示方法就为disk(0),rdisk(x)则表示硬盘的序号,如果硬件适配卡为SCSI则忽略此值;
partition(x)表示硬盘的分区序号。了解这些,我们就可以解释前面那条信息的含义了,即“multi(0)disk(0)rdisk(0)partition(1) \Windows”为,在0号非SCSI设备上的第0号磁盘上的第一个分区里面的“Windows”目录下可以找到能够启动的操作系统。
等号后的内容前面已经说过,那个就是引导菜单显示出来的供我们选择的提示文字。而后面的“/fastdetect”又是作什么用的呢?这是一个开关符,用来控制启动该操作系统时的具体选项,下面再来详细的介绍各种开关符的含义:
/3GB:这是Win2000 SP3新引入的。这使得用户区和系统区分为3G比1G的比例。只有用户使用NT企业版,应用程序也支持3GB选项时,此选项才生效。
/BASEVIDE使用标准VGA方式启动。这种方式主要用于显示驱动程序失效时。
/BAUDRATE:指出用于调度的波特率,如果用户不设置,则使用默认的9600,而对于线缆Modem则使用19200。
/BOOTLOG:使Win2000将日志写入 %SystemRoot%\NTBTLOG.TXT 。
/BURNMEMORY=:使NT在已知的内存上少使用指定的数量,如果/burnmemory=64,则有64M内存NT不使用。
/CRASHDEBUG:调度器在NT启动时启动,只有在内核错误时才有用,如果系统经常会无故出错,这个选项就很有用了。
/DEBUG:在启动NT时调入调度器,它可以在任何时间激活,在错误可以再次出现时使用它比较合适。
/DEBUGPORT= comx :指定用于调度的端口,其它X就指端口号。
/FASTDETECT:对于Win2000启动时,它使系统不检查串行口和并行口。
/HAL=<hal>:允许用户不使用默认的HAL。
/INTAFFINITY:设置多处理器HAL(HALMPS.DLL),使编号最大的处理器接收中断请求。如果不设置此选项,Win2000会使所有处理器接收中断请求。
/KERNEL=<kernel>:与上面的功能相同,不过是针对SMP中的内核而言的。
/MAXMEM:n:指定NT可以使用的最大内存数,如果一个内存片损坏,这个开关就十分有用了。
/NODEBUG:不使用调试信息。
/NOGUIBOOT:指定此选项会使Win2000不加载VGA驱动程序,也就不会显示启动过程和失败时的兰屏信息。
/NOSERIALMICE=[COMx | COMx,y,z…]:在特定的COM中上禁止对串行鼠标的检测。如果用户有一个非鼠标设备接在COM口上,这个选项会十分有用。如果此开关未加参数,系统会禁止所有COM口。
/NUMPROC=n:只允许前N个系统处理器工作。
/ONECPU:在多处理器中只使用一个处理器。
/PCILOCK:不让NT为PCI设置分配IO/IRQ资源,而启用BIOS设置。
/SAFEBOOT:安全启动,这个大家一定十分熟悉,Win2000只启动HKLM\System\CurrentControlSet\Control\SafeBoot中的驱动程序和服务,其后跟三个参数MINIMAL,NETWORK或DSREPAIR之一。MINIMAL和NETWORK在允许网络下启动系统。而DSREPAIR要求系统从备份设备中调入活动目录的设置。还有一个选项是"(ALTERNATESHELL)",它让系统调入由HKLM\System\CurrentControlSet\
SafeBoot\AlternateShell指定的SHELL程序,而不使用默认的Explorer。
/SOS:在调入驱动程序名时显示它的名字,在因驱动问题而无法启动时使用比较好。
/WIN95:在装有三个系统DOS、Win9x和Windows NT的系统上,让NTLDR直接调用Win9x。启动文件BOOTSECT.W40。
/WIN95DOS:在装有三个系统DOS、Win9x和Windows NT的系统上,让NTLDR直接调用DOS启动文件BOOTSECT.DOS
/YEAR=:使用指定的年份,如果设置为/YEAR=2005,那现在的时间就是2005年,此选项仅对NT4+SP4和Win2000生效

懂了这些 我们就完全可以打造一个属于自己的boot.ini


Boot.ini 操作方法

======================================================================

Boot.ini文件位于C盘根目录下,是一个隐藏文件,在“运行”中输入“c:\boot.ini”即可启动该文件。   如果想对boot.ini文件进行修改,请这样做:   为确保在Windows Explorer中看到Boot.ini文件,   “工具”——“文件夹选项”——“查看”菜单上选择“显示隐含文件和文件夹”,并将“隐藏受保护的操作系统文件(推荐)”的勾去掉,再应用,确定;更改boot.int前,右击boot.int——“属性”,去掉“只读” 。   除了直接编辑boot.ini文件外,还可以借助命令行工具bootcfg.exe对Boot.ini文件执行编辑操作,您可针对系统等待时间(Windows在选择缺省操作系统前所等候的时间)进行修改, 并在现有基础上添加新的供选项目。   如需启动bootcfg.exe工具, 请依次执行下列操作步骤:   按“Windows键+R”(也就是“开始”-“运行”),在提示框中输入"cmd"(注意,不输入引号),进入“命令提示符”,在命令行状态下输入bootcfg可以查询当前boot.ini文件的详情。   执行bootcfg /?来查看相关参数功能。1.自定义延迟时间  延迟时间是系统启动引导菜单后在设定的延迟时间内用户没有进行任何操作时,进入默认的操作系统。   系统默认的延迟时间为30秒,如果感觉默认的延迟时间过长,可以输入自己需要的延时时间,如10秒。   设置时,首先打开Boot.ini文件(注意要去掉该文件的隐藏、只读属性),随后在[boot loader]字段下找到“timeout=”语句,将其中的30,改为10即可。   我们还可以在“系统配置实用程序”中对其进行修改。在“开始/运行”中键入“msconfig"命令,在弹出的“系统配置实用程序”中单击“Boot.ini”标签,在“Boot.ini”界面中的“超时XX秒”项中输入需要的延时时间即可。2.自定义显示内容(重点)  在多系统启动时,有一个操作系统选择列表,这些列表显示的是电脑中所有操作系统的名称,如:Microsoft Windows XP Professional。   我们可以对这些显示内容进行修改,加载一些个性化的设置。   打开“boot.ini”文件,找到[operating systems]字段,该字段是显示当前操作系统列表,   其格式为multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /fastdetect   后面引号中的部分就是系统启动时显示的内容,只要将引号中的这些内容更改为自己需要的文字即可。3.定义默认启动系统(重点)  装了多系统后,boot.ini会将其中一个系统设置为默认启动系统,如Windows XP,在超过延迟时间后将自动引导默认的系统启动。   我们可以根据需要将默认的启动系统更改为其它的系统(如Windows 98),如果不想直接修改boot.ini文件的话,可以这样做:   右键单击“我的电脑”,选择“属性”,在系统属性对话框中单击“高级”选项,随后在下面的“启动和故障恢复”项中选择“设置”按钮,弹出一个“启动和故障恢复”对话框,单击“系统启动”项中的默认操作系统下拉菜单,选择一个需要的系统,单击“确定”即可;   也可以在“系统配置实用程序”中进行设置,选中想要设为默认的操作系统,点击下面的“设为默认”即可。4.加载启动参数,更改启动画面  boot.ini在引导多系统启动时提供了很多的参数命令,这些启动参数可以得到不同的启动效果。   boot.ini在默认的情况下加载的是/fastdetect参数,表示启动时不检查串行口和并行口。   其实我们可以更改为其它参数,更改时首先在“boot.ini”中选择需要更改的系统列表,随后将该系统中的参数/fastdetect改为相应的参数值即可。以后再启动该系统就会加载一些设置信息或画面。我们以可以在“系统配置实用程序”中对一些参数进行设置,切换到“boot.ini”选项,先选中需要更改的系统,随后在“启动选项”下端勾选需要的启动参数即可,此对几个常用参数加以说明:   SAFEBOOT:安全启动,只启动HKLM\System\CurrentControlSetControl\SafeBoot中的驱动程序和服务,其后可跟三个参数Minimal、Network或Dsrepair。   Minimal和Network允许在网络连接下启动系统;Dsrepair要求系统从备份设备中调入活动目录的设置,还有一个选项是Minimal(AlternateShell),它让系统调入由HKLM\System\CurrentControlSetSafeBoot\AlternateShell指定的SHELL程序,而不使用默认的Explorer。   /NOGUIBOOT:不加载VGA驱动程序,也就不会显示启动过程和失败时的蓝屏信息。   /BOOTLOG:将日志写入Nnbtlog.txt文件。   /BASEVIDEO:使用标准VGA方式启动,这种方式主要用于显示驱动程序失效时。   /SOS:在调入驱动程序名时显示它的名称,因驱动问题而无法启动时使用比较好。   通过以上设置我们就可以轻松设置启动菜单了!   FAQ:   boot.ini文件丢失怎么办?   通过手动在C盘创建一个boot.ini文件   一般的XP下面的boot.ini文件为:   [boot loader]   timeout=10   default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS   [operating systems]   multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer   然后把此文件保存为boot.ini文件即可。   或者,把C:\Windows\pss下的boot.ini.backup复制到C盘下,去掉.backup扩展名即可。

===============================================================

那么像我刚开始说的 对于Visia或者win7 和winXp这样的双系统 应该怎么修复呢

经过寻找 我找到了一款软件 叫做

BCDautofix

这个软件最大的好处就是可以方便快捷地修复这种情况

你只需要打开它 然后根据它的提示修复就好

修复成功后 重启 你会看到久违的系统选择界面 可是是英文的 怎么办呢

进入非Xp系统

点击开始运行那里输入"cmd"(不包括双引号) 然后输入"bcdedit /set locale zh-cn"(不包括双引号)

就可以变回中文了

问题解决