Article ID: 124308, created on Jan 28, 2015, last review on Sep 7, 2016

  • Applies to:
  • Virtuozzo containers for Windows 4.6

WARNING: This article should not be used with Virtuozzo containers for Windows 6.0.

Symptoms

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 [18]
File is not link

However, all Windows updates were installed according to the best practices:

Cause

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.
  • service vzsrv was stopped/restarted while container(s) were in "starting" state.

Check 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)

Resolution

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.

Search Words

Failed to change link for

vzfs

container stopping

links

Failed to change link

Native API function call 'ZwConnectPort' failed, code 0xc0000034

RootSession timeout

File is not link

broken

rdp log out

Cannot start a container

update

2897d76d56d2010f4e3a28f864d69223 d02f9caf3e11b191a38179103495106f 965b49118115a610e93635d21c5694a8 6c20476fe6c3408461ce38cbcab6d03b

Email subscription for changes to this article
Save as PDF