4

Раньше всегда можно было перенести установку Windows (NT/2000/XP/2003) на новый загрузочный носитель с помощью:

  • Воссоздание таблицы разделов и MBR
  • Копирование разделов с использованием ntfsclone
  • Сложная часть: геометрия диска должна была оставаться прежней, а раздел, в котором находился ntldr, должен был начинаться в том же секторе LBA, что и раньше

Это все еще возможно с Windows (Vista/7/2008)? Будет ли такая процедура работать?

  • Копировать таблицу разделов с подписью диска (!) и MBR
  • Возможно изменить размер разделов, чтобы соответствовать жесткому диску
  • Ntfsclone "Системный зарезервированный раздел" и "Загрузочный раздел".
  • Нужно ли начинать один или оба в одном и том же секторе на старом и новом жестком диске?

Можете ли вы объяснить, как bootmgr и bcd действительно работают под капотом, в отличие, например, от grub или ntldr? Есть ли первый и второй этап? Хранит ли он где-нибудь черные списки?

Обновление: Моя первоначальная проблема оказалась связана с аппаратным обеспечением. Вопрос перефразирован для решения более широкой проблемы.

1 ответ1

3

bootmgr не знает о "буквах дисков", это то, что Windows делает с опозданием в процессе загрузки (и настраивается в реестре, абсолютно безразлично к конфигурации физического диска).

Использование Linux для клонирования системы не поддерживается Microsoft. Короче говоря, официальный ответ - не делай этого. Вы должны использовать Windows PE. DISM может создавать и применять файлы изображений WIM, который является предпочтительным форматом Microsoft (тот же, который используется программой установки Windows).

Клонирование машины обычно происходит следующим образом:

  1. Настройка эталонного аппарата. Запустите sysprep .
  2. Загрузочный 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
    

    Это может потребоваться изменить, если у вас нестандартная разметка разделов.

  3. Загрузите конечный компьютер с 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 в любом случае.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .