我捕获了一个图像,并尝试在不使用 Sysprep 的情况下将其还原到不同的 VM,因为我正在积极使用我想要克隆的 VM 服务器,并且我不想再次设置它,我可以但这会浪费时间:
从 WinPE ISO 启动原始 VM,并调出 cmd 提示符:
捕获 共享读/写:\DESKTOP-O8ESL65\wsus_img
start /w wpeinit
连接到共享
net use i: \\DESKTOP-O8ESL65\wsus_img /user:someuser /password
使用以下命令捕获图像:
dism /capture-image /ImageFile:i:\install.wim /CaptureDir:C:\ /Name:"winserver_wsus2016"
不使用 Sysprep 进行还原
创建一个新的虚拟机并使用 WinPE 启动它,然后在其上创建 GPT 分区:
start /w wpeinit
net use f: \\DESKTOP-O8ESL65\wsus_img
diskpart
Microsoft DiskPart version 10.0.14393.0Copyright (C) 1999-2013 Microsoft Corporation.On computer: MININT-TJ84J7UDISKPART> select disk 0
Disk 0 is now the selected disk.
DISKPART> list vol
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 D DVD_ROM UDF DVD-ROM 6649 MB Healthy
Volume 1 RAW Partition 126 GB Healthy
Volume 2 C Recovery NTFS Partition 450 MB Healthy Hidden
Volume 3 E FAT32 Partition 100 MB Healthy HiddenDISKPART> select volume 1
DISKPART> format fs="ntfs" quick label="data"
DISKPART> assign letter=g
DISKPART> list vol
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 D DVD_ROM UDF DVD-ROM 6649 MB Healthy
Volume 1 G data NTFS Partition 126 GB Healthy
Volume 2 C Recovery NTFS Partition 450 MB Healthy Hidden
Volume 3 E FAT32 Partition 100 MB Healthy Hidden
DISKPART> exit
然后我运行这个程序来应用图像,但随后新的虚拟机无法启动:
dism /apply-image /Imagefile:f:\install.wim /index:1 /applydir:g:\
之后我无法从驱动器启动机器,因此我重复了上述步骤,然后在我读到以下命令可以替代 sysprep 后添加了此步骤:
bcdedit /set {default} device partition=c:
The boot configuration data store could not be opened.
The system cannot find the file specified.
bcdedit /set {default} osdevice partition=c:
The boot configuration data store could not be opened.
The system cannot find the file specified.
bcdedit /set {bootmgr} device partition=c:
The boot configuration data store could not be opened.
The system cannot find the file specified.
但这些命令在 WinPE 中不起作用。我甚至尝试从 G:\Windows\System32\bcdedit.exe 执行该命令,但仍然收到相同的消息。
我想设置 Windows 引导加载程序,以便虚拟机可以启动,我可以创建第二个 WSUS 服务器。我当时想也许我需要执行 runas,但由于我在 WinPE 中,我应该以哪个用户身份运行该命令?另外我找到一些关于 bcdedit.exe 的文档但我对 GPT 分区和 UEFI 还不熟悉,所以有点不知道如何继续。
答案1
好的,我可以让事情再次正常运转,但必须遵循微软网站上的手册。
我开始阅读捕获并应用 Windows .wim 文件,它链接到另一个文档(创建分区-UEFI.txt)关于 GPT 分区结构以及如何使用diskpart
和脚本(名为CreatePartions-UEFI.txt
)创建它,当我再次返回到原始文件说明书指出我们要运行diskpart /s CreatePartitions-UEFI.txt
,然后应用映像,最后将一些文件复制到 GPT 分区;如下所示:
1.创建分区:
因此,我首先需要连接所有 UNC 驱动器来从中提取图像,这是我首先做的。
说明如下,它们首先创建启动 WindowsPE 后要使用的脚本来创建分区:
rem == CreatePartitions-UEFI.txt ==
rem == These commands are used with DiskPart to
rem create four partitions
rem for a UEFI/GPT-based PC.
rem Adjust the partition sizes to fill the drive
rem as necessary. ==
select disk 0
clean
convert gpt
rem == 1. System partition ==============
create partition efi size=100
rem ** NOTE: For Advanced Format 4Kn drives,
rem change this value to size = 260 **
format quick fs=fat32 label="System"
assign letter="S"
rem == 2. Microsoft Reserved (MSR) partition ==============
rem == 3. Windows partition ==============
rem == a. Create the Windows partition ==============
rem == b. Create space for the recovery tools ===
rem ** Update this size to match the size of
rem the recovery tools (winre.wim)
rem plus some free space.
shrink minimum=650
rem === c. Prepare the Windows partition ==============
format quick fs=ntfs label="Windows"
assign letter="W"
rem === 4. Recovery tools partition ==============
create partition primary
format quick fs=ntfs label="Recovery Tools"
assign letter="R"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001
list volume
exit
创建分区-UEFI.txt
接下来我们必须使用 Windows PE 启动 PC,并从 cmd 提示符窗口运行以下命令来创建分区:
DiskPart /s F:\CreatePartitions-UEFI.txt
2.更改电源方案
因此,在图像恢复时它不会进入睡眠状态......
call powercfg /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
3.应用图像:
然后我从外部 UNC 共享应用了我之前捕获的图像dism
(其中 F:\ 是 UNC 共享):
dism /apply-image /Imagefile:F:\images\install.wim /index:1 /applydir:W:\
5. 使用引导文件设置分区:
W:\Windows\System32\bcdboot W:\Windows /s S:
6.使用 Windows 恢复环境设置分区:
6.1 从???添加 Windows 恢复环境
尝试安装 Windows 恢复映像,文档说它应该在里面W:\Windows\System32\Recovery\Winre.wim
但它不在那里,所以我从旧的 Windows 10 安装中挽救了它并通过我的 UNC 共享复制了它(但我仍然不知道在哪里可以正式获得它,或者这是微软改变了他们的做法,并且从未更新文档...如果您知道这个问题的答案,请告诉我...)
md R:\Recovery\WindowsRE
xcopy /h W:\Windows\System32\Recovery\Winre.wim R:\Recovery\WindowsRE
6.2 恢复工具的注册位置
我还注册了 Windows 恢复工具的位置,并且它起作用了:
W:\Windows\System32\Reagentc /Setreimage /Path R:\Recovery\WindowsRE /Target W:\Windows
6.3 验证镜像的配置
W:\Windows\System32\Regentc /Into /Target W:\Windows
7.重新启动进入 Windows Server 2016 并执行 sysprep 所要执行的操作?
我将虚拟机重新启动到 Windows Server,片刻之后就可以无需 sysprep 即可通用化机器至少这里是这么说的,我在重启后运行了以下命令:
bcdedit /set {default} device partition=c:
bcdedit /set {default} osdevice partition=c:
bcdedit /set {bootmgr} device partition=c:
概括
一切都解决了,但我仍然有点困惑,如果我没有从旧的 Windows 10 安装中检索到 winre.wim 文件,它会来自哪里,有人知道吗?