hilsonma 发表于 2023-6-12 06:53:29

添加PE到C盘

本帖最后由 hilsonma 于 2023-6-12 06:58 编辑

这是一个Windows命令脚本,我使用这个脚本来添加PE到已有Windows系统的C盘,同时添加引导。
可以将pe的wim文件拖放到脚本上来执行
也可以点击脚本文件执行脚本再将pe的wim文件拖放到脚本窗口

@echo off
title 添加PE到C盘
setlocal enabledelayedexpansion
set wim=%1
echo.
if %1.==. set /p wim=请将pe的wim文件拖放到本窗口后按回车键:
if not exist %wim% ( echo 文件不存在!&timeout 3 >nul&exit )
pushd %~dp0

set bcd1=bcdedit /store c:\Boot\BCD
set desc="Win PE"
set wim1=\pe.wim
set sdid="partition=c:"
set sdip="\Windows\Boot\DVD\EFI\boot.sdi"

cls
echo.
echo 即将把 %wim% 复制成 c:\pe.wim 并添加引导
echo.
echo 1.添加UEFI引导 2.添加传统引导 3.退出
echo.

set n=1
set /p n=请输入选项并回车(默认%n%):
goto:do%n%

:do1
mountvol z: /s
set bcd1=bcdedit /store z:\EFI\Microsoft\Boot\BCD

:do2
copy %wim% c:\pe.wim
for /f "tokens=2 delims={}" %%a in ('%bcd1% /create /application osloader') do set id={%%a}
%bcd1% /set %id% description %desc%
%bcd1% /set %id% device ramdisk="%wim1%,{ramdiskoptions}"
%bcd1% /set %id% osdevice ramdisk="%wim1%,{ramdiskoptions}"
%bcd1% /set %id% systemroot \Windows
%bcd1% /set %id% detecthal 1
%bcd1% /set %id% winpe 1
%bcd1% /displayorder %id% /addlast
%bcd1% /timeout 1
%bcd1% /set {bootmgr} displaybootmenu 1
%bcd1% /set {bootmgr} nointegritychecks 1
%bcd1% /create {ramdiskoptions}
%bcd1% /set {ramdiskoptions} ramdisksdidevice %sdid%
%bcd1% /set {ramdiskoptions} ramdisksdipath %sdip%
pause






yyz2191958 发表于 2023-6-12 07:35:24

很强大 辛苦了 谢谢

新空气 发表于 2023-6-12 07:37:56

厉害~!越来越简单了~

zhangz9 发表于 2023-6-12 07:40:40

多谢分享

dododo 发表于 2023-6-12 08:04:22

赞赞

765058729 发表于 2023-6-12 08:08:35

本帖最后由 765058729 于 2023-6-12 08:10 编辑

这样写z:\EFI\Microsoft\Boot\BCD,我所有启动文件都在C盘,不通用啊,最好自动判断有没有引导盘

papachi 发表于 2023-6-12 08:11:23

很给力,谢谢。

luntaner 发表于 2023-6-12 08:27:34

这是个什么操作学习学习

lx5815 发表于 2023-6-12 08:36:13

多谢分享

ningzhonghui 发表于 2023-6-12 08:39:42

谢谢,前辈老师的东西就是好用..

610644034 发表于 2023-6-12 08:56:10

本帖最后由 610644034 于 2023-6-12 20:20 编辑

给你一个想看源码头都大的脚本!{:1_201:}

boredleo 发表于 2023-6-12 09:28:32

多谢分享

temp2005 发表于 2023-6-12 09:35:15

765058729 发表于 2023-6-12 08:08
这样写z:\EFI\Microsoft\Boot\BCD,我所有启动文件都在C盘,不通用啊,最好自动判断有没有引导盘

bios+mbr
uefi+gpt
通用?

yc2428 发表于 2023-6-12 10:54:48

多谢分享

hilsonma 发表于 2023-6-12 11:35:25

本帖最后由 hilsonma 于 2023-6-12 11:36 编辑

765058729 发表于 2023-6-12 08:08
这样写z:\EFI\Microsoft\Boot\BCD,我所有启动文件都在C盘,不通用啊,最好自动判断有没有引导盘
这本来就不是全通用的。

我的应用场景是:拿到一台预装win的二手电脑,或者朋友要重装系统的电脑,插u盘,运行winosinfo看看原系统是不是c盘win,再看原启动方式是uefi还是传统,然后就把预先选好放在u盘的pe的wim镜像拖放到这个命令脚本上,就会在原来的c盘win上添加一个进pe的选项,就可以直接硬盘启动进pe

只适用于c盘win,主引导是bootmgfw.efi (uefi) 或 bootmgr (传统)
如果是c盘直接做uefi引导这种非标引导可能不适用,因为我没有这样的主板(支持ntfs分区做uefi主引导的主板),没有试过能不能进行mountvol z: /s

LRM-COM 发表于 2023-6-12 11:56:51

BOOTICE YYDS!

dos时代菜鸟 发表于 2023-6-12 12:01:39

目前还需要完善些地方:

1.判断当前系统 是否为efi 启动,
2.找出bcd启动分区,如果没有盘符就挂载 bcd所在启动分区到z:


旁观者清 发表于 2023-6-12 12:31:31

谢谢分享。

hilsonma 发表于 2023-6-12 12:48:26

dos时代菜鸟 发表于 2023-6-12 12:01
目前还需要完善些地方:

1.判断当前系统 是否为efi 启动,


感谢建议! 这就有待有需要的朋友自行完善了。

我要的不是大全,我只是拿来临时应用,简单快速的添加一个硬盘pe.
在运行这个脚本前,我会使用winosinfo或cpu-z来简单了解一下机器的配置
然后运行这个脚本,借以进入pe来进一步操作,必要的时候也可能使用bootice来查看分区及或处理引导。
最终经我维护的电脑都是在esp或d盘添加pe的,不是添加在c盘的。
这个脚本只不过是一个简单快速的临时过渡。

享β亻寸木东 发表于 2023-6-12 14:24:08

很强大 辛苦了 谢谢

zhenghui 发表于 2023-6-12 14:36:18

这个牛了,越来粤省事了

2011lanz 发表于 2023-6-12 18:13:30

临时用,方便、省事,谢谢大佬分享!

zsyloveyp 发表于 2023-6-12 18:30:30


wjgyz740526 发表于 2023-6-13 06:46:51

其实为系统添加一个pe是不应该放在C盘的,做系统的时候会提示文件正在使用无法格式化,强行格式化会导致pe工具失效无法使用,推荐把pe安装到esp分区,或者硬盘剩余空间最大的分区

窄口牛 发表于 2023-6-13 07:47:35

SSD&gpt了,做系统没必要格式化,删除就可以了,不必格式化慢多少。

36D 发表于 2023-6-15 18:36:22

少了全自动,因为引导需手动,应该自动选择的

有口呆 发表于 2023-6-16 19:10:21




zhangz9 发表于 2023-6-23 18:06:58

很强很方便

tiyo 发表于 2023-6-24 16:43:57

不知道行不行?

JayeDieyan 发表于 2023-6-25 11:04:16

很给力,谢谢
页: [1] 2 3
查看完整版本: 添加PE到C盘