电脑操作系统的引导过程概述

操作系统的更新是相当快速的,从DOS到WIN32、95、98、ME、XP。虽然说系统一直在不断进步发展着 ,但其实每个操作系统都有各自的发展空间,也各有其的优势和劣势。比如WIN98和WIN ME,它们的普遍 特点是多媒体性能佳,支持软硬件多,但缺点是系统不够稳定;而诸如WINNT、WIN2000等系统,则有比较 好的稳定性和操作性,但对系统要求比较高,不适合一般的初级使用。这时候,很多朋友都会有"鱼和熊 掌不可兼得"的感叹。那么,能否将各种操作系统都安装在一台计算机上,并根据自己的需要任意选择呢 ?当然可以呀,这就是我们接下去要讲的多系统共存。

要让多系统共存,首先要了解一些基本的原理。在上文的分区篇中,我们大概的谈了一下,这里再做 一番比较深入的剖析:

操作系统是如何引导的呢?当系统加电自检通过以后,硬盘被复位,BIOS将根据用户指定的启动顺序 从软盘、硬盘或光驱进行启动。以从硬盘启动为例,系统BIOS将主引导记录读入内存。然后,将控制权交 给主引导程序,然后检查分区表的状态,寻找活动的分区。最后,由主引导程序将控制权交给活动分区的 引导记录,由引导记录加载操作系统。

对于DOS和WIN9X等操作系统而言,分区引导记录将负责读取并执行IO.sys(Windows9x的IO.sys)。

首先要初始化一些重要的系统数据,然后就会出现我们非常熟悉的蓝天白云。这时候,Windows将继续 进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作。如果系统中安装有引导多种操作系统的工 具软件,通常主引导记录将被替换成该软件的引导代码。这些代码将允许用户选择一种操作系统,然后读 取并执行该操作系统的基本代码。

对于WINNT/2000来说,则由是NTLDR这个程序负责将其装入内存,或者让用户选择非WINNT/2000操作系 统。引导装入程序和多重引导都由一个具有隐含属性的初始化文件boot.ini控制。在boot.ini中包含有控 制计算机可用的操作系统的设置,引导的缺省操作系统以及应当等待多少时间等信息。

那么,我们的机会在哪里呢?俗话说的好,见缝插针。从计算机引导过程的描述中大家可以发现,我 们可以人为的加一干预的地方只有两处,一是设置物理盘的引导次序,二是修改主引导程序的分区表。

(1)多硬盘的多系统共存:如果你采用的是多硬盘的计算机,而且每块硬盘都安装有不同操作系统时 ,建议你通过在CMOS中指定硬盘的启动次序,实现多操作系统的共存。由于操作系统之间互不影响,所以 这种方法完全不受兼容性等其他因素的影响。

(2)单硬盘的系统共存:而如果你只有一块硬盘,并也想在上面安装多个操作系统而相互不受影响, 你则必须采用修改主引导程序和分区表的方法来实现。一般有两种方法。一是修改主引导记录,在主引导 记录的最后用JMP指令跳到自己的代码上来,从而控制计算机的引导过程;另外一种方法是修改主分区第 一个扇区的引导代码,以实现多系统的共存。

注意事项:接下去,我们将教大家如何进行多系统共存的设置。不过,在开讲之前,有一些基本的准 则还是要告诉大家的:

1.在计算机上安装另外一个操作系统之前,最好能先制作一张启动盘以备意外之需。

2.每个操作系统必须安装在一个独立的磁盘驱动器或者分区上。

3.如果你要在DOS、WIN95和WIN 2000之间进行多重启动配置,应该最后安装WIN 2000。否则,启动 WIN 2000所需要的一些重要文件可能会被覆盖。对于WIN 98和2000之间的双重启动配置,安装操作系统不 必按照特定的顺序,对于在WIN 2000和LINUX之间的双重启动配置,应当先安装WIN 2000,并为LINUX保留 所需要的磁盘分区。

4.要进行双重启动配置,应该使用FAT文件系统。尽管支持在双重启动中使用NTFS,但这样会提高文 件系统的复杂程度。

5.不要在压缩盘上安装WIN 2000,除非该压缩盘是由WIN 2000完成的;如果计划建立WIN 95或WIN 98 的双重启动,则不必要对已经压缩的盘进行解压缩。

6.在设置了双重启动的计算机上,如果希望应用程序在两种操作系统上都可以运行,必须在两种操作 系统中都进行安装,无法在操作系统之间共享应用程序。

时间: 2024-08-04 00:31:18

电脑操作系统的引导过程概述的相关文章

电脑无法引导-电脑引导过程中,左上方光标一直闪?

问题描述 电脑引导过程中,左上方光标一直闪? 我的电脑昨天启动的时候插着U盘,然后电脑就用U盘(PE)引导,我发现这种情况后,立即拔下U盘,结果悲剧就发生了,我的电脑从此就无法引导 ,开机电脑左上角光标一直闪,换了多个引导盘系统都无法启动 ,请问各位大侠,问题应当如何解决? 解决方案 http://zhidao.baidu.com/link?url=TzfsKIZmZD_nkWVTmfCwWITEUTG7eRxKeeP4hYXkKRh3VE68Ve6RqhwULj2FG97iY7Fdni1k7h

Linux的引导过程剖析_unix linux

    大家在安装完Linux后,有没有留心过Linux的引导过程呢?本文就尝试以通俗的语言来描述这一过程和相关的各种情况,了解了Linux的引导过程后,您在面对Linux引导过 程的出现的各种问题时就能做到心中有数了. Linux的一个吸引人的特性就是用户可以自行定制整个系统,你可是运行一个只有1M的"迷你"Linux,也可以运行一个几G的强大Linux.而无论你运行怎样的Linux,你都是先从引导程序开始运行的.对于普通用户,大多都是在个人电脑上运行Linux的.个人电脑,又叫PC

PHP到MySQL数据查询过程概述

HP层到MySQL层 Php到sql组件层次如下图所示: ext/mysqli和ext/mysql 是客户端的扩展程序库(库函数) ,在客户端脚本层面的扩展库. Mysqli库是mysql库的扩展版本,扩展版本增加了列版定(Bind Column)绑定.PDO (PHP Data Object) 是另外一种面向数据对象的 扩展库.这些扩展库直接面向编程者,而它的底层实现是mysql连接引擎(如mysqlnd和libmysql )(参考 http://bbs.chinaunix.net/threa

操作系统概念学习笔记 1 加电引导过程

操作系统概念学习笔记 1 加电引导过程 加电-引导程序(bootstrap program) 引导程序通常位于ROM或EEPROM中,引导程序必须定位操作系统内核并把它装入内存,接着操作系统开始执行第一个进程如init并等待事件的发生. 简单来说即:1,电自检程序.2,自举装入程序.3,引导程序.4,操作系统 流程图: linux系统为例: 1.加电并且启动BIOS 加电:把电源按钮按下去,主板通电后会启动BIOS. 2.BIOS到要引导的存储设备 BIOS启动之后会先进行POST(short

vb变量、常数和数据类型及过程概述(九)

过程概述 将程序分割成较小的逻辑部件就可以简化程序设计任务.称这些部件为过程,它们可以变成增强和扩展 Visual Basic 的构件. 过程可用于压缩重复任务或共享任务,例如,压缩频繁的计算.文本与控件操作和数据库操作.用过程编程有两大好处:1.过程可使程序划分成离散的逻辑单元,每个单元都比无过程的整个程序容易调试.2.一个程序中的过程,往往不必修改或只需稍作改动,便可以成为另一个程序的构件.在 Visual Basic 中使用下列几种过程:Sub 过程不返回值.Function 过程返回值.

win7系统电脑开机引导错误解决方法

  win7系统电脑开机引导错误解决方法           win7开机引导错提示一:"HDD controller failue" 硬盘控制器故障 故障分析:出现此种开机引导错误往往是由于硬盘与硬盘控制器的信号通讯电路不好. 故障解决方法:关闭电源,并检查硬盘电源是否解决. win7开机引导错提示二:"Bad or missing command interpreter" 故障分析:出现此种开机引导错误往往是由于系统盘中command.com文件已经损坏或者被删

《MySQL DBA修炼之道》——1.3 查询执行过程概述

1.3 查询执行过程概述 图1-2抽象化地描述了客户端和数据库交互的过程. 图1-2 客户端与数据库交互抽象架构图 如图1-2所示,客户端(Clients)发布查询的流程如下,首先连接MySQL(Connection Handling),然后发布查询,如果缓存(Query Cache)中有结果集,则直接返回结果集.如果结果没有被缓存,那么,MySQL解析查询(Parser)将通过优化器(Optimizer)生成执行计划,然后运行执行计划通过API(Pluggable Storage Engine

基于虚拟化的安全(part1):引导过程

一.前言 本文是覆盖基于虚拟化的安全和设备保护功能的文章的一部分.这些文章的目的是从技术的角度分享这些功能以便更好的理解.这第一篇文章将涵盖系统引导过程,从Windows bootloader到VTL0启动. 二.基于虚拟化的安全 基于虚拟化的安全(VBS)是微软Windows10和Windows Server2016的一个主要的安全特性.例如,DeviceGuard和CredentialGuard都依赖它.DeviceGuard允许系统阻止任何不受信任的程序.同时CredentialGuard

Angular从零到一1.6 引导过程

1.6 引导过程 Angular 2通过在main.ts中引导AppModule来启动应用.针对不同的平台,Angular提供了很多引导选项.下面的代码是通过即时(JiT)编译器动态引导,一般在进行开发调试时,默认采用这种方式: //main.ts import './polyfills.ts';   // 连同Angular编译器一起发布到浏览器 import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'