C# 如何通过c代码或脚本将当前操作系统的值设置为默认操作系统

C# 如何通过c代码或脚本将当前操作系统的值设置为默认操作系统,c#,bcdedit,C#,Bcdedit,如何通过c代码或脚本将当前操作系统的值设置为默认操作系统。 手动:控制面板->系统->更改系统->高级->设置->(启动和恢复) 已检查默认操作系统。 我通过此脚本执行此操作,我想在当前操作id中设置: bcdedit/default您无法更改/设置操作系统版本。您只能使用它。您可以使用以下方法: 您正在寻找的答案是: bcdedit/default{current} 您应该从拥有管理权限的c#程序中执行此命令行 否则它将失败 Windows BCD存储区只能通过管理员权限访问 或者,您可以使用

如何通过c代码或脚本将当前操作系统的值设置为默认操作系统。 手动:控制面板->系统->更改系统->高级->设置->(启动和恢复) 已检查默认操作系统。 我通过此脚本执行此操作,我想在当前操作id中设置:
bcdedit/default

您无法更改/设置操作系统版本。您只能使用它。

您可以使用以下方法:


您正在寻找的答案是:

bcdedit/default{current}

您应该从拥有管理权限的c#程序中执行此命令行 否则它将失败

Windows BCD存储区只能通过管理员权限访问

或者,您可以使用WMI以编程方式访问BCD存储。 上述命令行的等效程序代码是10-20行c#代码


您将{bootmgr}对象的“DefaultObject”元素设置为{current}。

对不起,我不明白您的问题。你能确切说明你想做什么吗?我怎样才能得到当前的操作id?(yourOSId)@FrédéricHamidi我试过
Process.Start(“bcdedit.exe”,“v”)但收到错误消息
System.ComponentModel.Win32Exception:“系统找不到指定的文件”
(以下是错误消息)。当我通过cmd手动执行相同的操作时,效果很好。我做错了什么?提前感谢。您可以选择默认值,然后使用bcdedit命令行工具重新启动它对我有效。只需确保您将以管理员身份运行CMD。
Process.Start("bcdedit.exe", "/default " + yourOSId);