bootmgr не знает о "буквах дисков", это то, что Windows делает с опозданием в процессе загрузки (и настраивается в реестре, абсолютно безразлично к конфигурации физического диска).
Использование Linux для клонирования системы не поддерживается Microsoft. Короче говоря, официальный ответ - не делай этого. Вы должны использовать Windows PE. DISM может создавать и применять файлы изображений WIM, который является предпочтительным форматом Microsoft (тот же, который используется программой установки Windows).
Клонирование машины обычно происходит следующим образом:
- Настройка эталонного аппарата. Запустите
sysprep
.
Загрузочный WinPE. Используйте dism
для захвата диска. Что-то вроде этого командного файла:
@ECHO OFF
IF %1 == "" GOTO DIE:
CHKDSK /X C:
CHKDSK /X D:
IF NOT ERRORLEVEL 0 GOTO DIE:
DISM /Capture-Image /ImageFile:Z:\Path\To\Images\%1.wim /Name:Boot /CaptureDir:C:\ /Compress:fast
DISM /Append-Image /ImageFile:Z:\Path\To\Images\%1.wim /Name:Windows /CaptureDir:D:\
:DIE
Это может потребоваться изменить, если у вас нестандартная разметка разделов.
Загрузите конечный компьютер с WinPE. Используйте diskpart
и dism
чтобы применить изображение:
Стандартный скрипт diskpart
для настройки разделов:
SEL DISK 0
CLEAN
CREATE PART PRI SIZE=350
ACT
FORMAT QUICK
ASSIGN LETTER=M
CREATE PART PRI
FORMAT QUICK
ASSIGN LETTER=O
EXIT
Стандартный пакетный файл dism
для записи изображения:
@ECHO OFF
IF %1 == "" GOTO DIE:
DISKPART /s Diskpart-Standard.script
IF NOT ERRORLEVEL 0 GOTO DIE:
DISM /Apply-Image /ImageFile:%1 /Index:1 /ApplyDir:M:\
DISM /Apply-Image /ImageFile:%1 /Index:2 /ApplyDir:O:\
IF NOT ERRORLEVEL 0 GOTO DIE:
BCDEDIT -STORE M:\BOOT\BCD -set {bootmgr} device partition=M:
BCDEDIT -STORE M:\BOOT\BCD -set {memdiag} device partition=M:
BCDEDIT -STORE M:\BOOT\BCD -set {default} device partition=O:
BCDEDIT -STORE M:\BOOT\BCD -set {default} osdevice partition=O:
:DIE
ECHO Script ended...
Ваш процесс может работать, но вам, вероятно, не хватает этих последних четырех строк bcdedit
из скрипта.
Обратите внимание, что это не настраивает WinRE, но вам это не нужно, если у вас есть WinPE в любом случае.