玩通透 全面解析Windows双系统引导菜单

2024-04-29 02:58

本文主要是介绍玩通透 全面解析Windows双系统引导菜单,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现在,使用双系统的朋友可不在少数,在开机时,系统会显示一个双引导菜单让我们选择欲进入的操作系统(图1),如果不选择的话,将会在30秒后自动引导高度条所在的操作系统。不过,你对双引导菜单到底了解多少呢?
  
  

 


  
  一、双引导是如何实现的
  
  当系统加电自检通过后(POST),BIOS将根据用户事先设置的引导顺序从硬盘或软驱或光驱进行启动,例如硬盘启动是首先将主引导记录读入内存,然后将控制权交给主引导程序,再检查分区表的状态,寻找活动的分区,最后再由主引导程序将控制权交给活动分区的引导记录,最后由引导记录加载操作系统。
  
  因此,只要你按照先Windows 9x/ME,再Windows 2000/XP的顺序安装系统,一般情况下即可自动生成双引导菜单,但如果顺序相反的话,双引导菜单可就无法自动生成了。
  
  二、自由摆布双引导菜单
  
  其实,图1所示的系统引导顺序我们完全可以自由调整,包括缺省引导的操作系统、显示操作系统列表的时间、在需要时显示恢复选项的时间等。
  
  在Windows XP/2000中,在桌面上右击“我的电脑”图标,再依次点击“系统→高级”,就可以看到 “启动和故障恢复”对话框(图2),这个对话框可以完成以下设置任务:
  
  

 


  
  1.更改默认的操作系统
  
  只要在“默认操作系统”下拉列表框中选择一个操作系统即可,选择后会看到在""后多出一个“/fastdect”的单词,这说明该操作系统已被设置为默认的引导系统,点击下面的“确定”即可生效。
  
  2.设定显示操作系统列表的时间
  
  在这里你可以自由设定显示操作系统列表的时间或者显示恢复选项的时间,缺省设置是30秒,不过我们可不希望在启动时等待如此之久,因此将它改成了5秒,建议朋友们不要再缩短这个时间,否则可来不及按下F8键了。
  
  三、深入认识双引导菜单
  
  不过,笔者更感兴趣的是上图中的这一句话:要手动编辑启动选项,请单击“编辑”。这个“编辑”按钮下有些什么内容呢?
  
  原来,双启动菜单是由一个名为boot.ini的文本文件所控制,所谓“手动编辑启动选项”也就是说对这个文本文件中进行手工编辑(图3),这里的内容虽不多,但朋友们可能不太容易理解,这里笔者就详细解释一下:
  
  

 


  
  1.[Boot Loader]:引导记录
  
  (1)timeout=5
  
  在你选择默认操作系统之前,“timeout”表示在NTLKR加载默认的操作系统之前可供用户从启动加载程序画面选择操作系统的秒数,如果该值为0,则NTLDR将不显示加载程序画面,而直接启动默认的操作系统,其实它也就是前面所提到的“显示操作系统列表的时间”框。默认值是30秒,这里笔者已经将之调整为5秒。
  
  (2)Default=multi(0)disk(0)rdisk(0)partition(2)WINDOWS
  
  Default当然是指默认(缺省)的意思,也就是系统默认要加载的那个操作系统路径,即系统启动时等待你选择的高亮条部分。但可能有很多朋友对multi(0)、disk(0)、rdisk(0)、partition(1)这些名称很不理解,其实在Windows中,这涉及到ARC的一些知识:
  
  ARC是x86或RISC计算机中用于标识设备的一种动态方法,ARC命名的第一部分是用于标识硬件适配卡/磁盘控制器,典型的ARC名字的构成结构如下所示:
  
  component(x)disk(y)rdisk(z)partition(a)
  
  这里的“component”字段一般只有两种有效值:scsi和multi,代表设备的硬件适配器。scsi当然是指SCSI磁盘,multi则是指除SCSI之外的其它磁盘接口。“x”代表适配器的序号,第一个为0,第二个为1,该值可以一直分配下去,直到所有驱动器分配结束;皔”是指多总线SCSI适配器中的总线号码,对multi而言,该值为0;“z”是指multi适配器上磁盘的序号,对SCSI该值为0;“a”是指磁盘上分区的序号,所有分区都有一个对应号码,从1开始,但不包括0和5。
  
  因此,“Default=multi(0)disk(0)rdisk(0)partition(2)WINDOWS”这行语句的含义就是指默认的操作系统位于一块非SCSI接口的序号为0的硬盘上的第2个分区上。这里的“partition(2)”是计算机中第一个物理硬盘上的第二个分区,实际上就是D盘(笔者将Windows XP安装在D盘,而将Windows 98SE安装在C盘),现在你弄清楚了吧?
  
  2.[Operating System]:操作系统
  
  (1)multi(0)disk(0)rdisk(0)partition(2)WINDOWS="Microsoft Windows XP Professional" /fastdetect
  
  现在就很容易理解了,这行语句是告诉我们:默认的操作系统是D盘上的“Microsoft Windows XP Professional”,即Windows XP。这里的“/fastdetect”是一个使用参数,代表启动时不检查串行口和并行口。
  
  (2)C:="Windows 98SE"
  
  这是第2个操作系统,在启动菜单中显示为“Windows 98SE”。
  
  3.附录:boot.ini文件的使用参数
  
  刚才,我们已经提到“/fastdetect”是一个使用参数,代表启动时不检查串行口和并行口。详细说来,boot.ini文件中还可以使用好多参数呢。但太多的使用参数,它们的含义怎么记得住哟?不要紧,在“命令提示符”下使用“BOOTCFG /?”命令就可以查看所有参数列表及其解释了(图4)。
  
  

 


  
  四、双启动菜单的高级编辑
  
  怎么样,现在你对boot.ini文件的结构和用途弄明白了吧?其实,编辑boot.ini文件和在图2对话框中进行编辑结果是一致的,不同的是如果由于某种原因而无法进入Windows时,你就可以在在DOS下或另一操作系统中手工编辑boot.ini这个文件啦。
  
  1.在DOS或其他操作系统中手工编辑启动选项
  
  简单来说,可以修改的启动选项包括默认操作系统的修改、设置显示操作系统列表的时间、修改启动菜单中操作系统的显示名称等。首先,打开“我的电脑→工具→文件夹选项→查看”,在“高级设置窗口”中去掉“隐藏受保护的操作系统文件”前面的钩然后“确定”;进入C盘根目录就可以找到boot.ini文件了。这里笔者试着将双引导菜单中原来的那行“Windows 98SE”改成了吓人的“Microsoft Windows 2008”(图5),重启后看看,有新意吧?
  
  

 


  
  2.去除手工删除操作系统后留下的尾巴
  
  可能朋友们都有这样的体会,请神容易送神难,当某种情况下不得不手工删除一个操作系统后却发现启动菜单中还保留着那烦人的选项,而且还必须等待30秒,除非你敲下回车键。特别是在安装多操作系统的情况下,我们为了图省事,通过格式化的方法重新安装了某一操作系统,却发现已丢失了那个多重启动菜单,此时该怎么办,难道必须再一次安装另一操作系统吗?
  
  现在,我们只要打开这个boot.ini文件,将已删除的操作系统那行语句删除就万事大吉啦。当然,如果boot.ini文件的属性是只读,请先去除呀,另外请删除时先备份原文件。
  
  3.小小改动,防止他人使用系统
  
  知道了boot.ini文件的原理,我们可以对它进行小小的改动,这样就可以防止他人未经授权使用系统。例如,将boot.ini文件更名或者转移到其他路径下,系统启动时找不到该文件,就会不断报错无法进入;或者也可以对boot.ini文件中的语句进行改动,例如将“Default=multi(0)disk(0)rdisk(0)partition(2)WINDOWS”更改为“Default=multi(0)disk(1)rdisk(0)partition(2)WINDOWS”就可以了。以后自己要使用时,只要改回去即可。不过,新手们还是不要动它,否则,你就只能望屏兴叹了。
  
  五、如何恢复受损的双引导菜单
  
  相信使用双操作系统的朋友一定对双引导菜单是又爱又恨,原因当然是这个双引导菜单经常会莫名其妙地出现各种故障,例如重新安装了Windows 9x或格式化了C盘,这时启动时就不会再看到这个双引导菜单,自然也就无法进入另一个操作系统中,该如何来恢复它呢?
  
  其实,方法简单得很,虽然双引导菜单受到破坏,但另一操作系统的系统文件和配置均未受损,你只要重新运行Windows 2000/XP安装程序,选择“修复”安装,待文件复制结束第一次提示重新启动时选择不启动,然后结束安装,再手工删除硬盘根目录中一些以$开头的文件夹或文件(它们都是在安装过程中产生的临时文件),重新启动后即可恢复引导菜单了。

这篇关于玩通透 全面解析Windows双系统引导菜单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944948

相关文章

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

Windows自动化Python pyautogui RPA操作实现

《Windows自动化PythonpyautoguiRPA操作实现》本文详细介绍了使用Python的pyautogui库进行Windows自动化操作的实现方法,文中通过示例代码介绍的非常详细,对大... 目录依赖包睡眠:鼠标事件:杀死进程:获取所有窗口的名称:显示窗口:根据图片找元素:输入文字:打开应用:依

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

在C#中合并和解析相对路径方式

《在C#中合并和解析相对路径方式》Path类提供了几个用于操作文件路径的静态方法,其中包括Combine方法和GetFullPath方法,Combine方法将两个路径合并在一起,但不会解析包含相对元素... 目录C#合并和解析相对路径System.IO.Path类幸运的是总结C#合并和解析相对路径对于 C

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和