谈论Vista版本以后关于多系统引导方面的改进

2024-05-02 12:58

本文主要是介绍谈论Vista版本以后关于多系统引导方面的改进,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很多人在安装了vista之后再安装2008后会出现其他系统引导丢失的情况,我也不例外,网上很多的做法是用安装光盘进行修复,这种做法有点类似于以前的老版本的做法,如果是xp或者2003的话可能修复时间会很长,也很可能会给你带来不必要的麻烦。而实际上从vista版本以后在多系统的启动方面有了很大的改良,我们不妨看看这个新亮点。

其实我也是从安装2008以后丢失了原来的系统才注意这一点的,原来我的系统组合为xp(c盘)/vista(g盘)/2003(f盘),出了2008之后,我就想删掉原来的xp,新的组合为2008/vista/2003,安装之前我就像原来的做法一样备份了C盘下面所有的启动文件,装好之后再拷贝回去发现并不管用。后来才发现vista和2008的引导模式已经改变。

在2003以前的版本中,开机过程大致如下:

1、电源自检程序开始运行

2、主引导记录被装入内存,并且程序开始执行

3、活动分区的引导扇区被装入内存

4、NTLDR从引导扇区被装入并初始化

5、NTLDR读boot.ini文件

然后就是多系统的选择界面了。

而在新版本的系统中,管理多系统有一个类似于数据库的文件-BCD,存放着多个系统的相关信息。机器硬件初始化之后会读取这个文件的存储配置信息,然后再列出多系统的启动菜单。然后我们就看到了多系统的选择列表 了。在管理这个bcd数据库上有一个系统自带的很好的工具:bcdedit.exe(系统目录下)

运行bcdedit /?你可以仔细的读一下帮助文档,为了减少篇幅我就不列出来了。

下面我们从实际的应用需求出发,如何找回我丢失的可爱的vista系统^_^

首先新建一项新的空启动信息,命名为My Vista(实际上就是列表的显示名称):

bcdedit /create /d "My Vista" /application osloader /*osloader 即为系统*/

The entry {4ad7f79f - ea7e - 11dc - a377 - 00301822146c} was successfully created.

此时输入bcdedit /enum all /*查看所有信息*/ 会多出来这么一条信息:

Windows Boot Loader
-------------------
identifier              {4ad7f79f
- ea7e - 11dc - a377 - 00301822146c}
description             my vista

我们需要注意它的标识,它是我们后面配置的基础,就像人的身份证一样。现在它还是一条空信息,信息还不完整,需要进一步设置,这里可以用 /set 指令,要设置具体的参数都是通过这个指令来完成的。假定我的Vista分区在G盘,可以这么配置

C:UsersAdministrator > bcdedit  / set  {4ad7f7f - ea7e - 11dc - a377 - 00301822146c} device partition = G:
The operation completed successfully.

配置具体的启动文件:

C:UsersAdministrator > bcdedit  / set   {4ad7f79f-ea7e-11dc-a377-00301822146c}  path Windowssystem32winload.exe
The operation completed successfully.

在Vista或者2008下面的Boot文件夹下面有多国的启动语言,这里我们选择

C:/Users/Administrator>bcdedit /set {4ad7f79f-ea7e-11dc-a377-00301822146c} locale zh-CN
The operation completed successfully.

然后就是一些附属信息(没有测试过这些是否为必要信息,这里我就不粘贴运行结果了)

bcdedit /set {4ad7f79f-ea7e-11dc-a377-00301822146c} systemroot /windows

bcdedit /set {4ad7f79f-ea7e-11dc-a377-00301822146c} osdevice partiton=G:

这样一个新的引导信息就配置完了。

但是当你重启之后发现并没有生效,那是因为这条启动信息并没有加载到启动管理器上,所以我们还需对它进行加载,加载的指令为 /displayorder 从名称都可以看出是配置启动顺序的,它下面四种参数 1、id队列 2、/addfirst 3、/addlast 4、/remove,后三种都很好理解,第一种其实上就是把所有列出的ID按照顺序显示在屏幕上,没有排列将不显示。这里我们只是新增一条启动信息:

C:UsersAdministrator > bcdedit  / displayorder {4ad7f79f - ea7e - 11dc - a377 - 00301822146c}  / addlast
The operation completed successfully.

这时启动菜单上就会有这条启动菜单了,你可以重启试试看哟^_^,如果你想改变他们的排列顺序,按照上述/displayorder的第一种方式进行更改

如: bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f}
     {cbd971bf-b7b8-4885-951a-fa03044f5d71} {ntldr}

加载老版本的系统

细心的观众可能会发现上述有一个特别的标识,那就是ntldr,它实际上就是以前老版本的windows系统的统一调度了,如果我们的多系统里面有老版本的系统的话,那么我们直接把他添加到启动列表就可以了

bcdedit  / displayorder {ntldr}  / addlast

可以设置它显示的名称为“老版本的系统”:bcdedit /set {ntldr} /d "老版本的系统"。他只是版本低于Vista的版本的一个集合,至于具体要启动什么系统,可以在C分区下面的boot.ini文件里面配置(和原来的老系统一样。)

关于备份

首先创建一个空的库,例如我们要备份到D:/BootData文件夹下面

C:UsersAdministrator > bcdedit  / createstore d:/Bootdata/bcd
The operation completed successfully.

然后将数据导出

C:/Users/Administrator>bcdedit /export "d:/bootdata/bcd"
The operation completed successfully.

如果要恢复原来的配置可以这么写

C:UsersAdministrator > bcdedit  / import  " d:/bootdata/bcd "
The operation completed successfully.

到此为止你是否发现方便了很多呢。

这篇关于谈论Vista版本以后关于多系统引导方面的改进的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)

《JDK多版本共存并自由切换的操作指南(本文为JDK8和JDK17)》本文介绍了如何在Windows系统上配置多版本JDK(以JDK8和JDK17为例),并通过图文结合的方式给大家讲解了详细步骤,具有... 目录第一步 下载安装JDK第二步 配置环境变量第三步 切换JDK版本并验证可能遇到的问题前提:公司常