准备操作系统映像的 DR 二进制文件

您必须准备 DR 二进制文件,并将其配置到每个操作系统映像且仅配置一次。 请执行下列操作:

为操作系统映像准备 DR 二进制文件

  1. 在映像目录中创建名为 BOOTDISK 的目录,如下例所示:
    X:\RemoteInstall\Setup\<语言>\Images\<映像名>\BOOTDISK
    
  2. 将 CA ARCserve Backup 安装光盘插入到 RIS 服务器,然后将光盘根目录下 BOOTDISK 目录中可用的所有文件复制到您刚创建的新 BOOTDISK 目录中。
  3. 在映像目录中创建一个目录 drpatch.xp,如下例所示:
    X:\RemoteInstall\Setup\<语言>\Images\<映像名>\drpatch.xp
    
  4. 将安装了 CA ARCserve Backup 和灾难恢复选件的计算机的 BAB_HOME\drpatch.xp 目录中所有可用的文件复制到您刚创建的新 drpatch.xp 目录下。

    注意:在执行此操作时,您必须具有安装了灾难恢复选件的 CA ARCserve Backup 服务器。 您可以从 CA ARCserve Backup 服务器计算机的以下位置上找到 BAB_HOME\drpatch.xp:

    C:\Program Files\CA\ARCserve Backup
    
  5. 对于 32 位的 Windows,请手工创建一个名为“DR_ASR.BAT”的 Windows 批处理文件,并将其复制到映像目录中,如下例所示:
    X:\RemoteInstall\Setup\<语言>\Images\<映像名>\DR_ASR.BAT
    

    此批处理文件的内容如下:

    rem X:\RemoteInstall\Setup\<语言>\Images\<映像名>\DR_ASR.BAT
    
    echo off
    echo Creating DR directories ...
    if not exist "%SystemRoot%\SYSTEM32\DR"(
    call mkdir "%SystemRoot%\SYSTEM32\DR"
    )
    if not exist "%SystemRoot%\SYSTEM32\DR"(
    call mkdir "%SystemRoot%\SYSTEM32\DR\DRIF"
    )
    if not exist "%SystemRoot%\SYSTEM32\DR\DISK" (
    call mkdir "%SystemRoot%\SYSTEM32\DR\DISK"
    )
    if not exist "%SystemRoot%\SYSTEM32\DR\ENU" (
    call mkdir "%SystemRoot%\SYSTEM32\DR\ENU"
    )
    echo Creating DR directories done
    echo Copying DR binary files ...
    pushd "%systemdrive%\$win_nt$.~ls\drpatch.xp\"
    call expand -r * %SystemRoot%\SYSTEM32\
    popd
    if exist "%systemdrive%\$win_nt$.~ls\drpatch.xp\ENU\" (
    pushd "%systemdrive%\$win_nt$.~ls\drpatch.xp\ENU\"
    call expand drlaunchres.dl_ %SystemRoot%\SYSTEM32\drlaunchenu.dll
    popd
    )
    pushd "%systemdrive%\$win_nt$.~ls\BOOTDISK\"
    call expand -r * %SystemRoot%\SYSTEM32\DR\
    popd
    
    if exist "%systemdrive%\$win_nt$.~ls\BOOTDISK\ENU\" (
    pushd "%systemdrive%\$win_nt$.~ls\BOOTDISK\ENU\"
    call expand -r * %SystemRoot%\SYSTEM32\DR\ENU\
    popd
    )
    
    echo Copying DR binary files done
    echo Copying DR emergency data ...
    
    pushd "%systemdrive%\$win_nt$.~ls\DR\%1\"
    call copy *.exe "%SystemRoot%\SYSTEM32\DR\" /Y
    popd
    pushd "%systemdrive%\$win_nt$.~ls\DR\%1\"
    call copy *.dll "%SystemRoot%\SYSTEM32\DR\" /Y
    popd
    pushd "%systemdrive%\$win_nt$.~ls\DR\%1\"
    call expand -r *_ %SystemRoot%\SYSTEM32\DR\
    popd
    pushd "%systemdrive%\$win_nt$.~ls\DR\%1\"
    call copy * "%SystemRoot%\SYSTEM32\DR\DRIF\" /Y
    popd
    pushd "%systemdrive%\$win_nt$.~ls\DR\%1\"
    call copy * "%SystemRoot%\SYSTEM32\DR\DISK\" /Y
    popd
    if exist "%SystemRoot%\SYSTEM32\DR\OBDRSIGN" (
    call del "%SystemRoot%\SYSTEM32\DR\OBDRSIGN" /Q
    )
    if exist "%SystemRoot%\SYSTEM32\DR\OBDRDTCT" (
    call del "%SystemRoot%\SYSTEM32\DR\OBDRDTCT" /Q
    )
    
    echo Copying DR emergency data done
    echo on
    
  6. 对于 64 位的 Windows,请手工创建一个名为“DR_ASR.BAT”的 Windows 批处理文件,并将其复制到映像目录中,如下例所示:
    X:\RemoteInstall\Setup\<语言>\Images\<映像名>\DR_ASR.BAT
    
    
    

    此批处理文件的内容如下:

    rem E:\RemoteInstall\Setup\English\Images\W2K3\DR_ASR.BAT
    echo off
    echo Creating DR directories ...
    if not exist "%SystemRoot%\SYSWOW64\DR" (
    call mkdir "%SystemRoot%\SYSWOW64\DR"
    )
    if not exist "%SystemRoot%\SYSWOW64\DR"(
    call mkdir "%SystemRoot%\SYSWOW64\DR\DRIF"
    )
    if not exist "%SystemRoot%\SYSWOW64\DR\DISK" (
    call mkdir "%SystemRoot%\SYSWOW64\DR\DISK"
    )
    if not exist "%SystemRoot%\SYSWOW64\DR\ENU" (
    call mkdir "%SystemRoot%\SYSWOW64\DR\ENU"
    )
    if not exist "%SystemRoot%\SYSWOW64\DR\Agent" (
    call mkdir "%SystemRoot%\SYSWOW64\DR\Agent"
    )
    echo Creating DR directories done
    echo Copying DR binary files ...
    
    pushd "%systemdrive%\$win_nt$.~ls\drpatch.xp\"
    call expand -r * %SystemRoot%\SYSWOW64\
    popd
    if exist "%systemdrive%\$win_nt$.~ls\drpatch.xp\ENU\" (
    pushd "%systemdrive%\$win_nt$.~ls\drpatch.xp\ENU\"
    call expand drlaunchres.dl_ %SystemRoot%\SYSWOW64\drlaunchenu.dll
    popd
    )
    pushd "%systemdrive%\$win_nt$.~ls\BOOTDISK\"
    call expand -r * %SystemRoot%\SYSWOW64\DR\
    popd
    if exist "%systemdrive%\$win_nt$.~ls\BOOTDISK\ENU\" (
    pushd "%systemdrive%\$win_nt$.~ls\BOOTDISK\ENU\"
    call expand -r * %SystemRoot%\SYSWOW64\DR\ENU\
    popd
    )
    pushd "%systemdrive%\$win_nt$.~ls\BOOTDISK\%3\"
    call expand -r * %SystemRoot%\SYSWOW64\DR\Agent\
    popd
    pushd "%systemdrive%\$win_nt$.~ls\BOOTDISK\Agent\%3\"
    call expand -r * %SystemRoot%\SYSWOW64\DR\Agent\
    popd
    pushd "%systemdrive%\$win_nt$.~ls\BOOTDISK\Agent\%3\%2\"
    call expand -r * %SystemRoot%\SYSWOW64\DR\Agent\
    popd
    
    pushd "%systemdrive%\$win_nt$.~ls\BOOTDISK\ETPKI\%3\"
    call expand -r * %SystemRoot%\SYSWOW64\DR\Agent\
    popd
    echo Copying DR binary files done
    echo Copying DR emergency data ...
    
    pushd "%systemdrive%\$win_nt$.~ls\DR\%1\"
    call copy *.exe "%SystemRoot%\SYSWOW64\DR\" /Y
    popd
    pushd "%systemdrive%\$win_nt$.~ls\DR\%1\"
    call copy *.dll "%SystemRoot%\SYSWOW64\DR\" /Y
    popd
    pushd "%systemdrive%\$win_nt$.~ls\DR\%1\"
    call expand -r *_ %SystemRoot%\SYSWOW64\DR\
    popd
    pushd "%systemdrive%\$win_nt$.~ls\DR\%1\"
    call copy * "%SystemRoot%\SYSWOW64\DR\DRIF\" /Y
    popd
    pushd "%systemdrive%\$win_nt$.~ls\DR\%1\"
    call copy * "%SystemRoot%\SYSWOW64\DR\DISK\" /Y
    popd
    if exist "%SystemRoot%\SYSWOW64\DR\OBDRSIGN" (
    call del "%SystemRoot%\SYSWOW64\DR\OBDRSIGN" /Q
    )
    if exist "%SystemRoot%\SYSWOW64\DR\OBDRDTCT" (
    call del "%SystemRoot%\SYSWOW64\DR\OBDRDTCT" /Q
    )
    
    echo Copying DR emergency data done
    echo on