應用/部署/恢復映像時,bcdedit 在 Windows PE 中不起作用?
我擷取了一個映像,我試圖在不使用 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 進行還原
創建一個新的 vm 並使用 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
然後我執行它來應用映像,但是之後新的 VM 將無法啟動:
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 引導載入程序,以便 vm 可以啟動並且我可以創建第二個 WSUS 伺服器。我在想也許我需要做一個 runas,但由於我在 WinPE 中,我會以什麼使用者身份執行命令?我還在 bcdedit.exe 上找到了一些文件,但我是 GPT 分區和 UEFI 的新手,所以我不知道如何繼續。
好的,所以我能夠讓事情重新開始,但只有在遵循微軟網站上的手冊之後。
首先,我開始閱讀Capture and Apply a Windows .wim file,它連結到另一個關於 GPT 分區結構以及如何使用腳本(命名)創建它的文件( CreatePartitions-UEFI.txt ) ,當我再次返回原始文件時記錄說明我們要執行的說明,然後應用映像,最後將一些文件複製到 GPT 分區;見下文:
diskpart``CreatePartions-UEFI.txt``diskpart /s CreatePartitions-UEFI.txt
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
CreatePartitions-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:\
- 使用引導文件設置分區:
W:\Windows\System32\bcdboot W:\Windows /s S:
- 使用 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
- 重新啟動到 Windows Server 2016 並執行 sysprep 會執行的操作?
我將 vm 重新啟動到 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 文件的來源,我仍然有點困惑,有人知道嗎?