首页 > 系统相关 >bcdedit是Windows操作系统中的一个命令行工具,用于查看和修改启动配置数据(BCD)。启动配置数据存储重要的启动信息,包括启动加载程序和启动设置。这个工具主要由高级用户、系统管理员和开发人员

bcdedit是Windows操作系统中的一个命令行工具,用于查看和修改启动配置数据(BCD)。启动配置数据存储重要的启动信息,包括启动加载程序和启动设置。这个工具主要由高级用户、系统管理员和开发人员

时间:2024-02-06 20:22:22浏览次数:18  
标签:bcdedit efi 存储 系统启动 开发人员 启动 EFI bootmgfw

bcdedit 是什么

bcdedit是Windows操作系统中的一个命令行工具,用于查看和修改启动配置数据(BCD)。启动配置数据存储重要的启动信息,包括启动加载程序和启动设置。这个工具主要由高级用户、系统管理员和开发人员使用,以调整与系统启动相关的各种参数。

为什么使用 bcdedit

  1. 修改启动设置:可以修改系统启动时的行为,例如设置启动等待时间、配置多重启动选项等。
  2. 故障排除:在遇到启动问题时,可以通过bcdedit来修复启动配置,如修复启动加载程序路径、添加缺失的启动项等。
  3. 性能优化:通过调整启动配置,可以优化系统的启动时间和性能,比如禁用某些启动项以加快启动速度。
  4. 启用高级功能:启用诸如安全启动、调试模式、启动日志记录等高级功能。

怎么使用 bcdedit

使用bcdedit需要管理员权限。你可以通过以管理员身份打开命令提示符或PowerShell来执行bcdedit命令。

以下是一些常用的bcdedit命令示例:

  • 查看当前的启动配置

    cmdCopy Code
    bcdedit

    不带任何参数运行bcdedit会显示当前的启动配置信息。

  • 设置启动等待时间

    cmdCopy Code
    bcdedit /timeout 30

    这个命令设置系统在启动菜单上等待用户选择的时间为30秒。

  • 创建新的启动项

    cmdCopy Code
    bcdedit /copy {current} /d "Windows 10 - New Configuration"

    该命令复制当前的启动项并为新项命名为“Windows 10 - New Configuration”。

  • 删除启动项: 首先,需要找到要删除的启动项的标识符,然后使用/delete参数:

    cmdCopy Code
    bcdedit /delete {identifier}

    {identifier}替换为要删除的启动项的实际标识符。

  • 启用或禁用高级启动选项: 比如,启用启动时的调试模式:

    cmdCopy Code
    bcdedit /debug on
  • 修复启动加载程序: 如果启动加载程序损坏或丢失,可以使用以下命令修复(以Windows 10为例):

    cmdCopy Code
    bcdedit /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi

使用bcdedit时应格外小心,因为不正确的更改可能导致系统无法启动。在进行任何重大更改之前,建议备份当前的启动配置数据。可以使用bcdedit /export命令来导出BCD存储,以便之后需要时能够恢复。


bootmgfw.efi 是什么

bootmgfw.efi是Windows操作系统中的EFI(可扩展固件接口)启动管理器文件。它是一种特殊的EFI应用程序,负责初始化系统加载过程中的EFI环境,并最终引导Windows操作系统的启动。这个文件位于EFI系统分区上,通常路径为\EFI\Microsoft\Boot\bootmgfw.efi

为什么使用 bootmgfw.efi

在基于EFI的系统中,bootmgfw.efi扮演着至关重要的角色:

  1. 启动管理:它管理EFI启动项,提供操作系统选择菜单(如果有多个操作系统安装),并处理用户的选择。
  2. 安全启动:支持EFI安全启动功能,确保启动过程中加载的软件是被信任的,以防止恶意软件在启动过程中篡改系统。
  3. 启动修复:当系统无法正常启动时,bootmgfw.efi可以引导到Windows恢复环境(WinRE),进行系统修复、恢复或诊断。

怎么使用 bootmgfw.efi

通常情况下,普通用户不需要直接与bootmgfw.efi文件交互。系统在安装或通过特定的修复操作时会自动配置和使用该文件。然而,在某些特定的系统修复或调试场景中,了解如何使用bootmgfw.efi可能会有所帮助:

  1. 手动添加EFI启动项:如果EFI启动项丢失或损坏,可以使用EFI Shell或其他工具(如Linux的efibootmgr或Windows的bcdedit)手动添加一个指向bootmgfw.efi的启动项。

    使用bcdedit手动添加EFI启动项的示例命令:

    cmdCopy Code
    bcdedit /createstore c:\temp\bcd
    bcdedit /store c:\temp\bcd /create {bootmgr} /d "Windows Boot Manager"
    bcdedit /store c:\temp\bcd /create /d "Windows 10" /application osloader

    然后,你需要设置正确的设备和路径指向bootmgfw.efi,并将其添加到EFI启动顺序中。

  2. 修复EFI启动加载程序:在一些系统修复场景中,可能需要重新创建或修复指向bootmgfw.efi的EFI启动项。这可以通过Windows安装介质上的“修复你的电脑”选项来完成,或者使用命令行工具手动完成。

  3. 更新或替换bootmgfw.efi:在极少数情况下,如果bootmgfw.efi文件损坏,可能需要从另一个有效的Windows安装或从安装介质中复制该文件到EFI系统分区。这通常是高级操作,需要足够的知识和谨慎执行。

在执行任何修改或修复操作之前,建议备份当前的EFI系统分区和重要数据,以防万一操作不当导致系统无法启动或数据丢失。

   
     

BCDEDIT - 启动配置数据存储编辑器

Bcdedit.exe 命令行工具用于修改启动配置数据存储。
启动配置数据存储包含启动配置参数并
控制操作系统的启动方式。这些参数以前
位于 Boot.ini 文件中(在基于 BIOS 的操作系统中)或位于非易失性 RAM 项中
(在基于可扩展固件接口的操作系统中)。可以
使用 Bcdedit.exe 在启动配置数据存储中
添加、删除、编辑和附加项。

有关命令和选项的详细信息,请键入 bcdedit.exe /? <command>。例如,
若要显示有关 /createstore 命令的详细信息,请键入:

     bcdedit.exe /? /createstore

有关本帮助文件中按字母顺序排列的主题列表,请运行 "bcdedit /? TOPICS"。

对存储执行的命令
================================
/store          用于指定当前系统默认值以外的 BCD 存储。
/createstore    新建空的启动配置数据存储。
/export         将系统存储的内容导出到文件。以后
                可以使用该文件还原系统存储的状态。
/import         使用 /export 命令创建的备份文件来还原
                系统存储的状态。
/sysstore       设置系统存储设备(仅影响 EFI 系统,在重新启动后不再保留,
               且仅用于系统存储
                设备不确定的情况下)。

对存储中的项执行的命令
===========================================
/copy           复制存储中的项。
/create         在存储中创建新项。
/delete         删除存储中的项。
/mirror         创建存储中项的镜像。

运行 bcdedit /? ID 可获得有关这些命令使用的标识符的信息。

对项选项执行的命令
======================================
/deletevalue    删除存储中的项选项。
/set            设置存储中的项选项值。

运行 bcdedit /? TYPES 可获得这些命令使用的数据类型的列表。
运行 bcdedit /? FORMATS 可获得有效数据格式的列表。

控制输出的命令
============================
/enum           列出存储中的项。
/v              命令行选项,完整显示项标识符,
                而不是使用已知标识符的名称。
                单独使用命令 /v 可完整
                显示 ACTIVE 类型的项标识符。

单独运行 "bcdedit" 等同于运行 "bcdedit /enum ACTIVE"。

控制启动管理器的命令
======================================
/bootsequence   为启动管理器设置一次性启动序列。
/default        设置启动管理器将使用的默认项。
/displayorder   设置启动管理器显示
                多重启动菜单的顺序。
/timeout        设置启动管理器的超时值。
/toolsdisplayorder  设置启动管理器显示工具
                    菜单的顺序。

控制启动应用程序紧急管理服务的命令
==========================================================================
/bootems        启用或禁用启动应用程序的
                紧急管理服务。
/ems            启用或禁用操作系统项的
                紧急管理服务。
/emssettings    设置全局紧急管理服务参数。

控制调试的命令
==============================
/bootdebug      启用或禁用启动应用程序的启动调试。
/dbgsettings    设置全局调试程序参数。
/debug          启用或禁用操作系统项的内核
                调试。
/hypervisorsettings  设置虚拟机监控程序的参数。

控制远程事件日志记录的命令
=========================================
/eventsettings  设置全局远程事件日志记录参数。
/event          启用或禁用操作系统项的远程
                事件日志记录。

 

标签:bcdedit,efi,存储,系统启动,开发人员,启动,EFI,bootmgfw
From: https://www.cnblogs.com/suv789/p/18010254

相关文章

  • app.json 中未定义自定义编译中指定的启动页面
    换了启动页,这里得手动改。。。。。。。。。。。[app.json或自定义编译条件错误]app.json中未定义自定义编译中指定的启动页面./pages/index/index(env:Windows),......
  • 软件测试学习笔记丨App端测试—adb命令启动页面
    一、包和Activity(活动页)的概念package包:是Android应用的唯一标志Activity活动页:Android应用页面,一个页面就是一个Activity二、获取当前的页面名方法一:先启动应用执行adb命令:adbshell"dumpsyswindow|grepmCurrentFocus"三、获取启动页面的activity先执行adb命令:win:a......
  • idea maven启动项目报错记录
    1.Failedtoexecutegoalorg.codehaus.mojo:tomcat-maven-plugin:1.1:redeploy(default-cli)onprojecth更改项目配置中的commandline栏:tomcat7:run-Dmaven.tomcat.port=8087-fpom.xml2.tomcat-maven-plugin:1.1:run(default-cli)onprojectBidNXJC:Couldnots......
  • vue新项目启动步骤
    项目启动前npminstall--registryhttps://registry.npm.taobao.org启动项目npmrunserve项目buildnpmrunbuild~#打包时请指定生产环境信息#生产环境可选项请参考package.json中的script脚本Lintsandfixesfilesnpmrunlint自定义配置SeeConfiguration......
  • SpringBoot的maven插件生成可以直接启动的jar
    简单使用<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration&g......
  • 云打印服务未启动是什么情况?云打印服务未启动怎么解决?
    随着互联网技术的发展,很多“云概念”也开始火热起来。这其中,最适合办公人群和学生人群的“云打印”概念也受到了追捧。目前市场上提供的云打印服务有很多,但是最近出现了较多云打印服务的问题。那么今天小易就带大家来了解一下,云打印服务未启动是什么情况?云打印服务未启动怎么解决?......
  • docker 启动jar包
    1、编写Dockerfile文件FROMopenjdk:8ENVTZ="Asia/Shanghai"ADDcim-gisportal.jarcim-gisportal.jarADDnohup.outnohup.outENTRYPOINT["nohup","java","-jar","/cim-gisportal.jar",">nohup.out&&quo......
  • iis 配置后启动报不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种
     错误  配置后启动报不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny" 处理如图 C:\windows\system32\inetsrv\appcmdunlockconfig-section:system.webServer/handlersC:\windows\system3......
  • 通达信启动黑马源码主图
    {成交量卖点}VASS1:=HHV(H,20);VASS2:=LLV(L,20);VASS3:=REF((VASS1/VASS2-1)*100<=30,1);VAR6:=REF(CLOSE,1);VAR7:=SMA(maX(CLOSE-VAR6,0),6,1)/SMA(Abs(CLOSE-VAR6),6,1)*100;stICKLINE(crOSS(84,VAR7),CLOSE,OPEN,2.8,0),COLORGREEN;A1:=ABS(((3.48*CLOSE+HIGH+LOW)/......
  • Quartz.net启动后不立即执行
    Quartz.net启动后不立即执行看了好多帖子说加这一句,多番尝试后还是立即执行了。((CronTriggerImpl)jobTrigger).MisfireInstruction=MisfireInstruction.CronTrigger.DoNothing; 经过测试后,还需要加一行代码:_scheduler.ResumeTrigger(jobTrigger.Key).Wait(); 完整......