-
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
-
Forum Rules