无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2046|回复: 63
打印 上一主题 下一主题

[分享] 重启更换指定系统进入的快速方法

    [复制链接]
跳转到指定楼层
1#
发表于 2024-9-8 18:46:05 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 呆萌鼠 于 2024-9-9 14:07 编辑

                               重启更换指定系统进入的快速方法
多系统的想重启进别的系统不用在引导界面选,直接进,运行bat或软件--输入一个数字--回车三步结束。
是一次性的,再启动会重回到默认系统。
代码:
  1. @echo off
  2. chcp 65001 >nul

  3. :: 检查是否以管理员身份运行
  4. net session >nul 2>&1
  5. if %errorLevel% neq 0 (
  6.     echo 请以管理员身份运行此脚本。
  7.     echo 正在尝试以管理员身份重新运行...
  8.     :: 重新以管理员身份运行
  9.     powershell -Command "Start-Process '%~f0' -Verb RunAs"
  10.     exit
  11. )

  12. :: 如果已是管理员权限,则执行以下命令
  13. setlocal enabledelayedexpansion

  14. REM 初始化变量
  15. set index=1

  16. REM 获取系统引导配置列表
  17. for /f "tokens=1,2,* delims= " %%A in ('bcdedit /enum ^| findstr "identifier description"') do (
  18.     if /i "%%A"=="identifier" (
  19.         REM 存储每个操作系统的标识符
  20.         set id!index!=%%B
  21.     ) else if /i "%%A"=="description" (
  22.         REM 存储每个操作系统的描述
  23.         set name!index!=%%C
  24.         echo !index!: %%C
  25.         set /a index+=1
  26.     )
  27. )

  28. REM 提示用户选择系统
  29. set /p choice=请选择要启动的系统对应的数字(例如1, 2, 3...):

  30. REM 验证输入是否为有效数字
  31. if not defined id%choice% (
  32.     echo 输入无效,请重试。
  33.     pause
  34.     exit /b
  35. )

  36. REM 设置一次性启动项
  37. bcdedit /bootsequence !id%choice%!

  38. REM 重启系统
  39. shutdown /r /t 0
复制代码
复制到记事本保存,把后缀改为bat即可。
想改成exe的用论坛里的软件,请自行搜索,我昨天的帖子里也有。
使用方法

运行后出现对话框,选择对应系统前面的数字,输入数字,回车,结束。

我只有win11系统带2硬盘PE不知道为啥显示这么少,水平有限,请大佬们多多指教!

成品及制作过程下载地址123pan.com/s/DdErVv-XaKHA

不经常改系统的建议转9#楼,有一键直达!
补充:用论坛里的bat转exe,快捷键可以放到任务栏和桌面右键菜单,详细情况请参考我的帖子由GPT3.5 制作的批量文件重命名软件添加右键制作过程更新 - 综合讨论区 - 无忧启动论坛 - Powered by Discuz! (wuyou.net)

评分

参与人数 3无忧币 +15 收起 理由
smartcowboy + 5 很给力!
Climbing + 5 很给力!
yyz2191958 + 5 赞一个!

查看全部评分

54#
发表于 4 天前 | 只看该作者
感谢分享
回复

使用道具 举报

53#
发表于 4 天前 | 只看该作者
回复

使用道具 举报

52#
发表于 2024-10-7 14:37:09 | 只看该作者
感谢楼主分享
回复

使用道具 举报

51#
发表于 2024-9-11 13:20:05 | 只看该作者

请右键以管理员身份运行
回复

使用道具 举报

50#
发表于 2024-9-11 08:07:50 | 只看该作者
学习了,谢谢。
回复

使用道具 举报

49#
发表于 2024-9-11 05:39:04 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

48#
发表于 2024-9-11 02:07:13 | 只看该作者
怎么报错了

点评

请右键以管理员身份运行  详情 回复 发表于 2024-9-11 13:20
回复

使用道具 举报

47#
发表于 2024-9-11 01:15:50 | 只看该作者
@echo off
setlocal enabledelayedexpansion
set i=0
echo.
for /f "tokens=1,* delims= " %%a in ('bcdedit /enum') do (
    if "%%a"=="标识符" set id_!i!=%%b
    if "%%a"=="description" (
        if !i! GTR 0 echo !i!.%%b
        set /a i+=1
    )
)

set n=1
echo.
set /p n=请输入数字选择(默认%n%):
if not defined id_%n% goto:eof
bcdedit /bootsequence !id_%n%!
shutdown /r /t 0
回复

使用道具 举报

46#
发表于 2024-9-10 11:42:58 | 只看该作者
关于这个,实际我用的 iReboot 软件。
当然,手工写命令运行命令也是可行的,不过我不太愿意写这个。

这个软件是免费的(会安装服务),是开发 EasyBCD 公司出的。

点评

看了一下,应该很不错,不知道有没有汉化版的,有时间试试,十分感谢!  发表于 2024-9-10 11:59
回复

使用道具 举报

45#
发表于 2024-9-10 10:22:51 | 只看该作者
抱走收藏,不客气了,期待更好的作品
回复

使用道具 举报

44#
发表于 2024-9-9 18:07:38 | 只看该作者
谢谢!get到了。
回复

使用道具 举报

43#
发表于 2024-9-9 14:46:25 来自手机 | 只看该作者
感谢分享
回复

使用道具 举报

42#
发表于 2024-9-9 14:43:29 | 只看该作者
谢谢分享
回复

使用道具 举报

41#
发表于 2024-9-9 13:48:25 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

40#
发表于 2024-9-9 13:42:25 | 只看该作者
学习学习
回复

使用道具 举报

39#
发表于 2024-9-9 13:10:35 | 只看该作者
感谢分享
回复

使用道具 举报

38#
发表于 2024-9-9 13:05:26 | 只看该作者
下载下来学习一下
回复

使用道具 举报

37#
发表于 2024-9-9 13:03:04 | 只看该作者
谢楼主分享
回复

使用道具 举报

36#
发表于 2024-9-9 10:04:39 | 只看该作者
感谢楼主提供发现
回复

使用道具 举报

35#
发表于 2024-9-9 09:35:06 | 只看该作者
学到了,谢谢分享
回复

使用道具 举报

34#
发表于 2024-9-9 08:51:24 | 只看该作者
呆萌鼠 发表于 2024-9-8 19:39
标识码识别制作一键重启管理员运行cmd,输入bcdedit /enum出现一次性重启直达的bat代码在bcdedit /bootsequ ...

谢谢楼主分享,学到了这个bcdedit /bootsequence,第一次听说。

windows的bootmgr一直比较弱智,没有类似grub4dos的savedefault功能。

这个命令客观上弥补了一些这方面的缺陷。

点评

我也是一直在学习当中,十分感谢,希望大佬多多指教,谢谢了!  发表于 2024-9-9 09:36
回复

使用道具 举报

33#
发表于 2024-9-9 08:35:58 | 只看该作者
谢谢分享
回复

使用道具 举报

32#
发表于 2024-9-9 08:09:10 | 只看该作者
学习了
回复

使用道具 举报

31#
发表于 2024-9-9 06:02:56 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

30#
发表于 2024-9-9 05:25:58 | 只看该作者
谢谢分享
回复

使用道具 举报

29#
发表于 2024-9-9 05:09:22 | 只看该作者
谢谢分享
回复

使用道具 举报

28#
发表于 2024-9-9 00:28:13 | 只看该作者
谢谢分享
回复

使用道具 举报

27#
 楼主| 发表于 2024-9-9 00:19:12 | 只看该作者
本帖最后由 呆萌鼠 于 2024-9-11 19:56 编辑

终于我弄明白了,应该是命名问题!根据22#楼的图片,与我过去存档的cmd改本地系统名称的代码,想到有可能是命名问题,于是修改了本地win11名称
管理员运行cmd
  1. BCDEdit /set {current} description "Windows 11  professional edition"
复制代码
结果一试成了,想了一下原因,标识码是最最底层的唯一识别系统的东西,别的软件都是根据它识别系统,由于过于底层也就必须全英文名称才可以识别,否则会出现乱码,我由于不会代码,所以过去搜集了不少实用的代码保存,结果今天真用上了。获取系统的标识符(identifier)通常是通过使用 bcdedit 命令来完成的,这是 Windows 系统中管理启动配置的主要工具。标识符是一个唯一的 GUID(全局唯一标识符),用于唯一标识每个操作系统或启动项。
我的过去记录里面的代码,说win10及win11系统名称的修改是上面的代码,可以用混用中英文,但是要想使用顶楼重启的代码,必须将引号里的改成正规点的英文,必须本地系统运行改名才有效!
win7系统是管理员运行cmd
  1. BCDEdit /set {3f8fcfd0-3d31-11ea-973d-8d4cb55a61a6} description "Windows 7 x64"
复制代码
XP系统的是
管理员运行cmd
  1. BCDEdit /set {ntldr} description "Windows XP x32"
复制代码

要想使用顶楼代码,必须引号里的改成正规点的英文,必须本地系统运行改名才有效!
不管什么PE都只显示PE两字,
win7 和XP系统的没验证,你们有时间试试看看吧。
暂时总结一下:上面顶楼代码没有问题,是命名的原因。
以上这些可能有误,还得请各位大佬批评指正!
谢谢各位!辛苦了!
现在发现别的改名软件也行,如Easy BCD就可以。




回复

使用道具 举报

26#
发表于 2024-9-8 23:27:29 | 只看该作者
呆萌鼠 发表于 2024-9-8 22:58
你是改的还是原来的,效果这么好,如果是改的就分享一下呗!先谢谢了!

就是你一楼的代码啊。
跟你的不是一样吗
我已经不折腾启动菜单了。都是vhd右键直接启动

点评

哈哈。用得上就好。  发表于 2024-9-8 23:34
哈哈。我的问题解决了,谢谢你和你的图片!关键在图上!  发表于 2024-9-8 23:30
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-25 16:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表