玩通透 全面解析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

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Java Spring ApplicationEvent 代码示例解析

《JavaSpringApplicationEvent代码示例解析》本文解析了Spring事件机制,涵盖核心概念(发布-订阅/观察者模式)、代码实现(事件定义、发布、监听)及高级应用(异步处理、... 目录一、Spring 事件机制核心概念1. 事件驱动架构模型2. 核心组件二、代码示例解析1. 事件定义

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

CSS place-items: center解析与用法详解

《CSSplace-items:center解析与用法详解》place-items:center;是一个强大的CSS简写属性,用于同时控制网格(Grid)和弹性盒(Flexbox)... place-items: center; 是一个强大的 css 简写属性,用于同时控制 网格(Grid) 和 弹性盒(F

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1