• BCDedit 研究


    bcdedit的研究

    系统引导安装 2009-11-12 22:21:13 阅读13 评论0 字号:

    首先说明下引导:

    微软在Vista之前的系统,采用的是Ntldr来进行引导系统,使用的是boot.ini文件。

    在目前的Vista和win7中,采用的是新的引导方式Windows Boot Manager(就是Bootmgr),这个引导从修改的角度来说变成了数据库的形式,不能采取通过记事本修改的方法了,为此微软提供了修改的程序——bcdedit.exe。

    提醒:个别功能可以执行msconfig进行修改!或者安装管理软件修改,如easy bcd等。

    首先贴出一个bcdedit的例子:

    ==========================================================

    Windows 启动管理器
    --------------------
    标识符                  {bootmgr}
    device                  partition=C:
    description             Windows Boot Manager
    locale                  zh-CN
    inherit                 {globalsettings}
    default                 {current}
    resumeobject            {4f73a4f4-bfa7-11de-8f62-ebb3d51eb702}
    displayorder            {current}
                            {4f73a4f5-bfa7-11de-8f62-ebb3d51eb702}
                            {ntldr}
    toolsdisplayorder       {memdiag}
    timeout                 2


    Windows 启动加载器
    -------------------
    标识符                   {current}
    device                  partition=C:
    path                    Windowssystem32winload.exe
    description             Windows 7
    locale                  zh-CN
    inherit                 {bootloadersettings}
    recoverysequence        {4f73a4f6-bfa7-11de-8f62-ebb3d51eb702}
    recoveryenabled         Yes
    osdevice                partition=C:
    systemroot              Windows
    resumeobject            {4f73a4f4-bfa7-11de-8f62-ebb3d51eb702}
    nx                      OptIn

    Windows 旧 OS 加载器
    ------------------------
    标识符                  {ntldr}
    device                  partition=C:
    path                     tldr
    description             Windows XP

    ==========================================================

    标识符及代号说明:

    {4f73a4f6-bfa7-11de-8f62-ebb3d51eb702}    这个就是Windows7

    简单的bcdedit命令:

    <查看帮助>

    bcdedit /?                      查看帮助

    bcdedit /? set                查看set命令参数的帮助

    bcdedit /? createstore   查看createstore命令参数的帮助

    ...

    <备份与恢复>

    bcdedit /export "D:ackup"  保存BCD数据库到D盘backup文件

    bcdedit /import "D:ackup"  从D盘backup文件恢复BCD引导

    <多菜单修改>

    bcdedit /timeout 30    修改启动界面等待时间为30秒

    bcdedit /default     设置当前系统为默认启动系统。

    bcdedit /default {ntldr} 设置标识符为{ntldr}的系统为默认系统。

    bcdedit /displayorder {ntldr} {4f73a4f6-bfa7-11de-8f62-ebb3d51eb702}

                                      启动菜单顺数改为第一个为{ntldr},第二个为{4f73a4f6-bfa7-11de-8f62-ebb3d51eb702

    bcdedit /displayorder {ntldr} /addlast 将{ntldr}放到启动菜单的最后一个。

                                      除addlast外,还有addfirst(放到第一位)和remove(移除此选项)

    注意:bcdedit /displayorder后面必须接标识符,此处如果是{current}也不可以省略。bcdedit /displayorder /addlast是语法错误。

    <菜单创建>

    bcdedit /create {ntldr} /d "之前的 Windows系统"       创建一个描述为(/d后面的内容)"之前的 Windows系统"的菜单,这个可以用于创建XP等系统引导。

    bcdedit /create /d "Windows Vista" /application osloader   创建一个描述为"Windows Vista"的菜单,这个用于Vista和win7等系统的引导。(和上面的就差在最后的/application osloader一句话)

    <菜单删除>

    bcdedit /delete {4f73a4f4-bfa7-11de-8f62-ebb3d51eb702} 删除标识符为{4f73a4f4-bfa7-11de-8f62-ebb3d51eb702}的菜单
    bcdedit /delete {ntldr} /f  删除标识符为{ntldr}的菜单。(删除ntldr的菜单需要后面加上一个/f)

    <菜单修改>

    bcdedit /set description "windows 7 AT ONE"  将当前系统描述修改为"windows 7 AT ONE"

    bcdedit /set {ntldr} description "windows XP AT ONE"  将标识符为{ntldr}的菜单描述修改为"windows XP AT ONE"

    bcdedit /set {4f73a4f4-bfa7-11de-8f62-ebb3d51eb702} device partition=C:   设定标识符为"cbd971bf-b7b8-4885-951a-fa03044f5d71"的菜单的引导分区为"C:"

    bcdedit /set {4f73a4f4-bfa7-11de-8f62-ebb3d51eb702} path windowssystem32winload.exe     设定标识符为{4f73a4f4-bfa7-11de-8f62-ebb3d51eb702}的菜单的系统引导文件为"windows system 32 winload.exe"

    bcdedit /set {4f73a4f4-bfa7-11de-8f62-ebb3d51eb702} nx optin    设定设定标识符为{4f73a4f4-bfa7-11de-8f62-ebb3d51eb702}的菜单系统开启DEP保护

    Bootmgr下面添加NTLDR范例:

    bcdedit /create {ntldr}
    bcdedit /set {ntldr} device partition=C:
    bcdedit /set path tldr
    bcdedit /set description "WinXP"

    第二行的C:是bootmgr启动所在分区,之后要把NTLDR的启动文件拷贝到该分区。

  • 相关阅读:
    属性序列化自定义与字母表排序-JSON框架Jackson精解第3篇
    URL及日期等特殊数据格式处理-JSON框架Jackson精解第2篇
    JSON数据处理框架Jackson精解第一篇-序列化与反序列化核心用法
    开源项目-跨项目及操作系统的通用代码生成器,解放您的双手
    图解并发与并行-分别从CPU和线程的角度理解
    8成以上的java线程状态图都画错了,看看这个-图解java并发第二篇
    面霸告诉你这些技术面试的非技术性经验,让你的面试成功率显著提升
    List集合对象去重及按属性去重的8种方法-java基础总结系列第六篇
    图解进程线程、互斥锁与信号量-看完不懂你来打我
    总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇
  • 原文地址:https://www.cnblogs.com/fatt/p/4397723.html
Copyright © 2020-2023  润新知