WARNING: This article should not be used with Virtuozzo containers for Windows 6.0.
After Windows updates installation on the node there are 0-sized files in container`s private area, which are not linked to the real files on the node:
C:\> vzfsctl lnkctl 101 --link D:\vz\private\101\root\Windows\System32\ntdll.dll id: 101 link: ntdll.dll delete: 0 FileId=[0004000000026c44] query  File is not link
However, all Windows updates were installed according to the best practices:
- Correct installation sequence of Virtuozzo updates and Windows updates was followed.
- Supported Windows updates or allowed unsupported were installed.
After Windows updates installation on the node, they are propagated into container on the first container`s start. If for some reason this first start after the node reboot followed by Windows updates installation was interrupted, the updates may not get properly propagated.
This could happen when:
- another node reboot took place while container(s) were in "starting" state.
vzsrvwas stopped/restarted while container(s) were in "starting" state.
vzlog for the mentioning of the 0-sized files you found.
On the example of CT101, there are errors re-creating links to
tdx.sys, which MS KB3013410 brings :
T=2015.01.12 00:13:53.109; A=VzSrv; P=2104.27460; S=VZWINUP; F=vzwinup.cpp,CVZWinUp::InstallUpdateW2k8,5444; L=INFO; R=87(135); C=0(0); M=135  Update KB3013410 has been installed to Container 101 ---snip--- T=2015.01.12 00:13:53.418; A=VzSrv; P=2104.27460; S=VZWINUP; F=vzwinup.cpp,FileInfo::UpdateVpsLink,769; L=ERROR; R=ffff(65535); C=0(0); M=65535  Failed to change link for D:\vz\Private\101\root\Windows\WinSxs\amd64_microsoft-windows-tdi-over-tcpip_31bf3856ad364e35_6.1.7601.22865_none_48b848380bfa8bbd\tdx.sys to WinSxs\amd64_microsoft-windows-tdi-over-cpip_31bf3856ad364e35_6.1.7601.22865_none_48b848380bfa8bbd\tdx.sys, error 0x1000
Around the timeframes of the error above the following records indicating problems with
vzsrv can be found:
T=2015.01.12 00:13:53.288; A=VzSrv; P=2104.27460; S=LPCLIB; F=build\4.6.490.0\sources\virtuozzo\vzwin\lib\lpclib3\lpc_client.c,LpcClientConnect,56; L=ERROR; R=58(88); C=0(0); M=88 [ZwConnectPort;c0000034] Native API function call 'ZwConnectPort' failed, code 0xc0000034 T=2015.01.12 00:13:53.288; A=VzSrv; P=2104.27460; S=LPCLIB; F=build\4.6.490.0\sources\virtuozzo\vzwin\lib\lpclib3\lpc_client.c,LpcClientConnect,57; L=ERROR; R=51(81); C=0(0); M=81 [\VzfsDbPort] Cannot connect to LPC port \VzfsDbPort (failed to connect)
Avoid interrupting first container`s start after Windows updates installation.
In order to fix current installation, general broken links troubleshooting steps can be followed per topic How to deal with broken links in Parallels Virtuozzo Containers for Windows.
However, in this particular case it is possible just to re-propagate Windows updates, which were installed recently, into the affected containers:
C:\> for /f "tokens=1 delims= " %i in ('cmd /c "wmic qfe get hotfixid,installedon | findstr DATE"') do reg delete "HKLM\vzCTID\MACHINE\Software\Microsoft\Windows\Currentversion\Uninstall\%i" /f && ren D:\vz\private\CTID\updates\%i.install.txt %i.install.txt.old && ren D:\vz\private\CTID\updates\%i.info.txt %i.info.txt.old
where DATE is the date of Windows updates installation in MM/DD/YYYY format, and CTID is the container ID.