225025 发表于 2018-8-25 08:06:34

shell脚本配置成服务启动

使用bcdedit实现配置多系统引导,先说下整个过程先,  1 创建{bootmgr}主入口,设置这个入口的device等值
  2 创建xp{ntldr}或vista&windows7{GUID}入口,设置device,path等值
  3 用/displayorder 将建好的每个入口(菜单项)一个一个加入到引导菜单中
  4 用/timeout 设置等待时间
  5 用/default 设置缺省菜单(也就是设置默认的启动系统)
  首先winkey+R,输入cmd,然后回车打开命令提示符
  使用bcdedit /store不针对本机操作
  在本机硬盘例如D盘创建bcdcfg文件夹
  bcdedit /createstore d:\bcdcfg\bcd 执行后将在bcdcfg文件夹下创建一个新的bcd文件
  提示成功完成;
  接下来我们添加bootmgr主入口:
  bcdedit /store d:\bcdcfg\bcd -create {bootmgr} /d "boot manager"
  提示项{bootmgr}成功创建;
  设置{bootmgr}的device的:
  bcdedit /store d:\bcdcfg\bcd -set {bootmgr} device partition=c:
  提示操作成功完成;
  添加xp的入口:
  bcdedit /store d:\bcdcfg\bcd /create {ntldr} /d "windows xp" --双引号中的字符输入你自己喜欢的
  提示项{ntldr}成功创建;
  设置{ntldr}的device的值(这里实际是xp所在分区,假设在C盘):
  bcdedit /store d:\bcdcfg\bcd -set {ntldr} device partition=c:
  提示操作成功完成;
  设置{ntldr}的path的值:
  bcdedit /store d:\bcdcfg\bcd -set {ntldr} path \ntldr
  提示操作成功完成;
  下面新建添加vista的入口:
  bcdedit /store d:\bcdcfg\bcd -create /d "windows vista" -application osloader
  运行后将返回GUID值,提示项{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}成功创建;
  {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}是全局唯一识别ID,在空间上和时间上具有唯一性。
  输入GUID是一定要认真,错一个字符都将导致启动加载失败,可以先把返回的GUID值认真的输在记事本中,使用-set命令时执行复制就OK
  设置{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}的device的值(这里实际是xp所在分区,假设在D盘):
  bcdedit /store d:\bcdcfg\bcd -set {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} device partition=d:
  提示操作成功完成;
  设置{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}的path的值:
  bcdedit /store d:\bcdcfg\bcd -set {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} path \windows\system32\winload.exe
  提示操作成功完成;
  设置{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}的windows device为d盘:
  bcdedit /store d:\bcdcfg\bcd -set {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} osdevice partition=d:
  设置{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}的windows root为\windows:
  bcdedit /store d:\bcdcfg\bcd -set {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} systemroot \windows
  到此c盘xp,d盘vista的启动入口都添加完成了,接下来要干的是把xp的入口{ntldr}和vista的{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}在启动菜单中通过bootmgr显示出来:
  bcdedit /store d:\bcdcfg\bcd -displayorder {ntldr} /addlast
  bcdedit /store d:\bcdcfg\bcd -enum
  就能发现windows启动管理器和windows旧os加载器了
  bcdedit /store d:\bcdcfg\bcd -displayorder {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} /addlast
  再次运行bcdedit /store d:\bcdcfg\bcd -enum
  是不是有什么不同呢,我们又看到windows启动加载器,这个是vista的
  bcdedit /store d:\bcdcfg\bcd -timeout 5(将超时时间设置为5秒)
  运行bcdedit /store d:\bcdcfg\bcd -enum ,bootmgr下显示timeout为5秒
  bcdedit /store d:\bcdcfg\bcd -default {ntldr}(将xp设置为默认启动的操作系统,与5秒后自动启动xp)
  到此配置完成。
  带 /store 的都是针对自己新建的bcd文件的操作,如果想直接对系统的bcd文件操作就去掉
  /store d:\bcdcfg\bcd
  e.g. bcdedit /default {ntldr},就是将系统设置默认从xp启动
  bcdedit /set {ntldr} description "........................."双引号中输入自己想要的
  可以将xp的启动菜单显示相应的字符或汉字,修改vista的只要将{ntldr}替换为{GUID}
  bcdedit /set {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}description "Microsoft Wwindows vista x64"
  则开机启动项vista的显示为Microsoft Wwindows vista x64
  设置关于xp的就告诉bcdedit {ntldr},更改vista的设置就告诉bcdedit {GUID}
  安装双系统三系统还是先安装xp要省事。
  刚接触命令行不久,最重要的是学会 /?
  e.g.   bcdedit /? create,会显示bcdedit /create命令的详细用法

页: [1]
查看完整版本: shell脚本配置成服务启动