前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >bcdedit,用于调整机器开机启动参数(安全模式、bootmenu显示名称、CPU、内存等)

bcdedit,用于调整机器开机启动参数(安全模式、bootmenu显示名称、CPU、内存等)

原创
作者头像
Windows技术交流
修改2021-12-25 15:42:36
3.7K0
修改2021-12-25 15:42:36
举报
文章被收录于专栏:Windows技术交流Windows技术交流

结论先行:bcdedit /set和bcdedit /deletevalue 都需要重启生效

bcdedit /set parameter_name parameter_value

bcdedit /deletevalue parameter_name

truncatememory和removememory不要同时设置,微软建议设置removememory来达到缩减内存的目的

微软建议使用bcdedit命令来调节开机时的vCPU个数和内存大小,msconfig显示不准的问题提单给微软,微软承认是bug,目前不打算修,让用bcdedit命令来调节

下面3句命令执行后重启机器可复原开机时CPU、内存配置

bcdedit /deletevalue numproc

bcdedit /deletevalue truncatememory

bcdedit /deletevalue removememory

【powershell】

bcdedit /deletevalue numproc 2>$nul 1>$nul

bcdedit /deletevalue truncatememory 2>$nul 1>$nul

bcdedit /deletevalue removememory 2>$nul 1>$nul

【cmd】

bcdedit /deletevalue numproc 2>nul 1>nul

bcdedit /deletevalue truncatememory 2>nul 1>nul

bcdedit /deletevalue removememory 2>nul 1>nul

如果没有执行过bcdedit /set parameter_name parameter_value就执行bcdedit /deletevalue parameter_name会报错或者执行第1遍bcdedit /deletevalue parameter_name已经成功了又继续重复执行就会报错,所以命令加了输出重定向隐藏报错

bcdedit,用于调整机器开机启动参数(安全模式、bootmenu显示名称、CPU、内存等)

1、设置开机进入安全模式

参考https://cloud.tencent.com/developer/article/1917677

2、设置bootmenu显示名称

参考https://cloud.tencent.com/developer/article/1871412 尾部

3、设置开机vCPU最大个数

参考https://cloud.tencent.com/developer/article/1922477

bcdedit /set numproc <number>

设置开机时最大几个逻辑处理器(比如8vCPU你可以设置开机时用4个vCPU)

bcdedit /set numproc 4

执行下面命令进行复原

bcdedit /deletevalue numproc

4、设置开机最大内存

图形界面"msconfig命令 → 引导 → 高级选项 → 最大内存" 这个方式设置的开机最大内存重启后不一定就是设置的值,因为存在硬件保留内存。

https://docs.microsoft.com/zh-cn/windows-hardware/drivers/devtest/boot-parameters-to-manipulate-memory

正如微软官方文档说的,由于removememory选项可以更有效地使用系统内存,因此建议使用它而不是truncatememory

truncatememoryremovememory选项在 Windows 7 及更高版本中可用。Truncatememory选项忽略指定物理地址或其上方的所有内存。removememory选项可按指定的量(以 MB 为单位)减少内存 。 这两个选项都可以减少内存,但在考虑内存间隙时,removememory选项会更好地限制操作系统使用指定的内存。

例如64G内存的机器,执行下面命令设置开机4G内存,实际进入系统发现开机后保留了61G内存,能被用到的只有3G内存

(这里有四舍五入的成分,实际情况是为硬件保留了61.xG,能被用到的是2.yG,x+y=1)

bcdedit /set truncatememory 0x100000000

以上命令跟图形界面"msconfig命令 → 引导 → 高级选项 → 最大内存" 这个方式设置的效果一样(想可用4G,实际可用只有3G),但图形界面方式的单位是MB。

truncatememory 0x500000000,20480M,设置20G,实际19G

truncatememory 0x200000000,8192M,设置8G,实际7G

truncatememory 0x100000000,4096M,设置4G,实际3G

truncatememory 0x80000000,2048M,设置2G,实际2G

truncatememory 0x40000000,1024M,设置1G,实际1G

truncatememory 0x20000000,512M,设置0.5G,实际0.5G

执行下面命令进行复原

bcdedit /deletevalue truncatememory

用removememory也可以设置开机4G内存,以64G内存的机器为例,命令如下

#当n=64时,削减60G、设置开机最大4G内存,算法是:削减的内存=总内存-开机内存=1024*(n-4)=1024*60=61440

bcdedit /set removememory 61440

执行下面命令进行复原

bcdedit /deletevalue removememory

注意:

removememory和truncatememory的数字单位是不一样的

removememory是MB

truncatememory是Byte

truncatememory 和 removememory 不可同时使用

truncatememory 和 removememory 不可同时使用

truncatememory 和 removememory 不可同时使用

truncatememory 和 removememory 有个1GB的差异

64G内存的机器,设置开机20G内存、8G内存、4G内存、2G内存、1G内存、512M内存启动,命令如下

#当n=64时,削减44G、设置开机最大20G内存,算法是:削减的内存=1024*(n-20)=1024*44=45056

bcdedit /set removememory 45056

执行bcdedit /deletevalue removememory进行复原

#当n=64时,削减56G、设置开机最大8G内存,算法是:削减的内存=总内存-可用内存=1024*(n-8)=1024*56=57344

bcdedit /set removememory 57344

执行bcdedit /deletevalue removememory进行复原

#当n=64时,削减60G、设置开机最大4G内存,算法是:削减的内存=总内存-可用内存=1024*(n-4)=1024*60=61440

bcdedit /set removememory 61440

执行bcdedit /deletevalue removememory进行复原

#当n=64时,削减62G、设置开机最大2G内存,算法是:削减的内存=总内存-可用内存=1024*(n-2)=1024*62=63488

bcdedit /set removememory 63488

执行bcdedit /deletevalue removememory进行复原

#当n=64时,削减63G、设置开机最大1G内存,算法是:削减的内存=总内存-可用内存=1024*(n-1)=1024*63=64512

bcdedit /set removememory 64512

执行bcdedit /deletevalue removememory进行复原

#当n=64时,削减63.5G、设置开机最大0.5G内存,算法是:削减的内存=总内存-可用内存=1024*(n-0.5)=1024*63.5=65024

bcdedit /set removememory 65024

执行bcdedit /deletevalue removememory进行复原

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • bcdedit,用于调整机器开机启动参数(安全模式、bootmenu显示名称、CPU、内存等)
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档