Results 1 to 10 of 69

Thread: RG888 w ar5 demo 00001

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #29
    Join Date
    Nov 2018
    Location
    Terra0
    Posts
    140

    How to change the HDD where the undo, etc, winxp mode's VHDs stored

    Это — мои личные заметки, в общем-то, для себя, чтоб не искать.

    что делать, чтобы переместить win7 winxp mode виртуальные диски: отката, разницы, и т.п., с диска C: на диск, скажем, D:.

    VHD, похоже, хранятся рядом с xml-файлом настроек msft vm
    windows xp mode.vmc
    поэтому я его переместил в
    "D:\vpc_vhd_file_diffType\winXpMode2\Windows XP Mode.vmc"
    из
    "C:\Users\вашаУчётка\AppData\Local\Microsoft\Windo ws Virtual PC\Виртуальные машины\Windows XP Mode.vmc"

    и немного подпраил:
    ```xml
    <?xml version="1.0" encoding="UTF-16"?>
    <!-- Microsoft Virtual Machine Options and Settings -->
    <preferences>
    ...
    <ide_adapter>
    <-- пути поменял аналогично для дисков -->
    <ide_controller id="0">
    <location id="1">
    <drive_type type="integer">1</drive_type>
    <pathname>
    <absolute type="string">D:\vpc_vhd_file_diffType\winXpMode2\ WindowsXPMode_VHD2_ForTempData.vhd</absolute>
    <relative type="string">.\WindowsXPMode_VHD2_ForTempData.vhd </relative>
    </pathname>
    <undo_pathname>
    <absolute type="string">D:\vpc_vhd_file_diffType\winXpMode2\ VirtualPCUndo_Windows XP Mode_ччч.vud</absolute>
    <relative type="string">.\VirtualPCUndo_Windows XP Mode_ччч.vud</relative>
    </undo_pathname>
    </location>
    <location id="0">
    <drive_type type="integer">1</drive_type>
    <pathname>
    <absolute type="string">D:\vpc_vhd_file_diffType\winXpMode2\ WinXPModeDiff2.vhd</absolute>
    <relative type="string">.\WinXPModeDiff2.vhd</relative>
    </pathname>
    <undo_pathname>
    <absolute type="string">D:\vpc_vhd_file_diffType\winXpMode2\ VirtualPCUndo_Windows XP Mode_ссс.vud</absolute>
    <relative type="string">.\VirtualPCUndo_Windows XP Mode_ссс.vud</relative>
    </undo_pathname>
    </location>
    </ide_controller>
    ...
    <super_io>
    <-- для windbg отладки драйверов -->
    <serial_port id="0">
    <port_type type="integer">3</port_type>
    <pipe_name type="string">\\.\pipe\winxpmode</pipe_name>
    </serial_port>

    </super_io>

    <settings>
    <configuration>
    <next_id type="integer">1</next_id>
    <saved_state>
    <path>
    <absolute type="string">D:\vpc_vhd_file_diffType\winXpMode2\ Windows XP Mode.vsv</absolute>
    <relative type="string">.\Windows XP Mode.vsv</relative>
    </path>
    </saved_state>
    </configuration>
    ...
    </preferences>
    ...
    ```
    Потом поправил xml-файл c:\users\учётка\virtual machines\windows xp mode.vmcx

    ```xml
    <?xml version="1.0" encoding="UTF-16"?>
    <!-- Microsoft Virtual Machine Description and Registration Settings -->
    <vm_description>
    <primary_disk1 type="string">D:\vpc_vhd_file_diffType\winXpMode2\ WinXPModeDiff2.vhd</primary_disk1>
    <primary_disk2 type="string">D:\vpc_vhd_file_diffType\winXpMode2\ WindowsXPMode_VHD2_ForTempData.vhd</primary_disk2>
    <secondary_disk1 type="string" />
    ...
    <vmc_path type="string">D:\vpc_vhd_file_diffType\winXpMode2\ Windows XP Mode.vmc</vmc_path>
    </vm_description>
    ```
    При тестировании ПО, проще использовать два diff-диска vhd, получится цепочка winxp_образ<-diff_в_AppData_Local<-diff#2_на_HDD_D

    diff#2_на_HDD_D потом можно сливать с diff_в_AppData_Local при нормальной работе нового ПО.

    Добавим
    (для исходно присутствующего diff-vhd, к-рый явл-ся diff-vhd для инсталляционного winxp-mode vhd (из "c:\program files"),
    "C:\Users\вашаУчётка\AppData\Local\Microsoft\Windo ws Virtual PC\Виртуальные машины\Windows XP Mode.vhd"
    второй diff-диск (путём settings-hd1-create-diff vhd)
    "D:\vpc_vhd_file_diffType\winXpMode2\wrkTmp_Diff2_ for_WinXpModeDiffVHD.vhd"

    Вот, что не очень удобно, что в windows не вынесены часто изменяющиеся директории tmp, с не очень нужным содержимым, — в отдельный раздел.

    Для структуры tmp-директориев сделал D:\vpc_vhd_file_diffType\winXpMode2\WindowsXPMode_ VHD2.vhd и подключил как hd2 (E: в winxp vm)

    Для интеграции с clipboard хоста не достаточно просто включить это в разделе интеграции, надо ещё совместно используемый vhd (vm & хостом).

    Надеюсь, что скрипты без ошибок...

    Так... VHD сам не подключится после перезагрузки хоста, значит нужен батник и скрипт disk_part, очевидно, что в русской версии кодировка текста будет cp866 CrLf для обоих.

    Диск сделал через консоль управления, на 250мб
    "D:\TmpVHDDlaWinXpClipboard\TmpVHDDlaWinXpClipboar d.vhd"

    Скрипт diskp_art для подключения vhd к хосту
    Attach_Vhd_for_WinXpMode_work_w_clipboard.rusREM.D iskpartScript
    ```disk_part_(кодировка текста cp866 eol=crLF)
    REM Dirty diskpart-script for attaching the vhd drive
    REM romaGolich V 0.0.0.1
    REM -----------------------------------------------------
    REM Это DiskPart-скрипт, а не батник ms-dos.
    REM Для запуска исп-ть
    REM diskpart /s "C:\TmpSrc\UdExp\wrk2008\TmpExpSandcastle\myWinShe llNotes\CmdLine\my_DiskPart_Scripts\Attach_Vhd_for _WinXpMode_work_w_clipboard.DiskpartScript"
    REM --------------------------------------------------------------------------------------------
    REM diskpart-скрипт -- это текстовый файл, каждая строка к-рого содержит по одной команде DiskPart, и никаких пустых строк. Можно начать строку REM -- будет коментарий.
    REM Скрипт для подключения .vhd-диска "D:\TmpVHDDlaWinXpClipboard\TmpVHDDlaWinXpClipboar d.vhd"
    REM Оказалось, что просто разрешить Clipboard в интеграции winxp-mode недостаточно, надо ещё и диск общий с winxp и win7 в интеграции разрешить. Можно vhd в win7 подключить, однако консоль управления дисками его не подцепила автоматом при следующей перезагрузке. Поэтому понадобилось автоматизировать скриптом.
    REM --------------------------------------------------------------------------------------------
    REM Скрипт -- тест, надо переделать
    REM V 0.0.0.0
    REM --------------------------------------------------------------------------------------------
    REM
    REM
    REM
    SELECT VDISK FILE="D:\vpc_vhd_file_diffType\winXpMode2\TmpVHDDl aWinXpClipboard.vhd"
    attach vdisk
    exit
    ```

    и батник для его запуска планировщиком

    Подключить_VHD_250mb_G_xpMode.b_at
    ```bat (cp866 crlf)
    rem Подключает VHD 250mb "D:\vpc_vhd_file_diffType\winXpMode2\TmpVHDDlaWinX pClipboard.vhd".
    rem Без общего диска, разрешение clipboard средства интеграции winxp mode не давало copy-past-ить между vm и хостом

    cd "C:\TmpMySrc\UdExp\wrk2008\TmpExpSandcastle\myWinS hellNotes\My_DiskPart_Scripts"

    C:\Windows\System32\diskpart.exe /s "C:\TmpMySrc\UdExp\wrk2008\TmpExpSandcastle\myWinS hellNotes\My_DiskPart_Scripts\Attach_Vhd_for_WinXp Mode_work_w_clipboard.rusREM.DiskpartScript"

    C:\Windows\System32\eventcreate.exe /ID 888 /T INFORMATION /L APPLICATION /D "%0 Подсоединил VHD (disk U:, сам VHD-файл на D:) для winxp. ERRORLEVEL=%errorlevel% ."

    exit
    ```

    Для отключения можно:
    Detach_Vhd_for_WinXpMode_work_w_clipboard.rusREM.D iskpartScript"

    ```disk_part (cp866 CrLf)
    REM Dirty diskpart-script for Detaching the vhd drive, char encoding CP866
    REM romaGolich V 0.0.0.1
    REM -----------------------------------------------------
    REM Это DiskPart-скрипт, а не батник ms-dos.
    REM Для запуска исп-ть
    REM diskpart /s "C:\TmpMySrc\UdExp\wrk2008\TmpExpSandcastle\myWinS hellNotes\My_DiskPart_Scripts\Detach_Vhd_for_WinXp Mode_work_w_clipboard.rusREM.DiskpartScript"
    REM --------------------------------------------------------------------------------------------
    REM diskpart-скрипт - это текстовый файл, каждая строка к-рого содержит по одной команде DiskPart, и никаких пустых строк. Можно начать строку REM - будет коментарий.
    REM Скрипт для подключения .vhd-диска "G:\TmpVHDDlaWinXpClipboard\TmpVHDDlaWinXpClipboar d.vhd"
    REM Оказалось, что просто разрешить Clipboard в интеграции winxp-mode недостаточно, надо ещё и диск общий с winxp и win7 в интеграции разрешить. Можно vhd в win7 подключить, однако консоль управления дисками его не подцепила автоматом при следующей перезагрузке. Поэтому понадобилось автоматизировать скриптом.
    REM --------------------------------------------------------------------------------------------
    REM Скрипт - тест, надо переделать
    REM V 0.0.0.0
    REM --------------------------------------------------------------------------------------------
    REM
    REM
    REM
    SELECT VDISK FILE="D:\vpc_vhd_file_diffType\winXpMode2\TmpVHDDl aWinXpClipboard.vhd"
    DETACH VDISK
    exit
    ```

    далее конспективно

    Как советовал блогер из msft, подключил 24битный цвет (был 16битный в vm), но интеграцию пришлось отключить
    создано значение реестра win7
    ColorDepth (doubleword) = 4
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Win dows NT\Terminal Services

    И
    Ещё Tmp & Temp для XPMUser перебросил с системного диска, на vhd #2 — E:
    %userprofile%\temp
    на E:\tmp\%username%
    правкой реестра для каждой учётки
    надо ещё скрипт для автоустановки прав на такие директории сделать, пока — вручную.

    Заметки потенциально содержать неточности, не полны, и пути к файлам — те, что у меня лично, а не у вас. Без любых гарантий, короче.
    Last edited by roma Golich; 03-06-2024 at 06:04 AM. Reason: qwertyuiop

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •