Error: Windows Server Backup failed if Target backup folder is a Samba share

If you try to backup the files and folders on a windows server 2008R2 (it’s true also for windows 7/8.1/10 backup and restore), selecting as “backup target” a share folder created in a Linux system with samba, after starting the backup and taking several minutes, this error message will appear:

“the backup of volume xxx could not be completed, Error: the version does not support this version of the file format.”

The backup operation stopped before completing.

To solve the problem add this option on your smb.conf:

strict allocate = yes

To understand the reason of that check: https://blogs.technet.microsoft.com/asiasupp/2010/11/03/windows-server-backup-failed-with-error-the-version-does-not-support-this-version-of-the-file-format/

How to Nested Hyper-V Virtualization

My need was to create a Hyper-V VM with Windows 10 where I can install Visual Studio and all my development tools without touch my production machine.

One limitation on that configuration was running “Windows Mobile/Phone” emulator because Hyper-V can’t be nested on an Hyper-V VM.

Fortunately, starting from build 10565 (I’m running on build 10586.71, version 1511) is now possible, so I gave it a try.

First start with “limitation” that we have once nested virtualization is enabled in a virtual machine:

  • Dynamic memory must be OFF. This will prevent the VM from booting.
  • Runtime memory resize will fail.
  • Applying checkpoints to a running VM will fail.
  • Live migration will fail.
  • Save/restore will fail

And now the “requirement”:

  • A processor with Intel VT-x.
  • At least 4 GB RAM available for the virtualized Hyper-V host.
  • Only Hyper-V can nested, other Hypervisors will not work.

How to set it up:

There is a Microsoft powershell script that do the work for you:

Invoke-WebRequest https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Enable-NestedVm.ps1 -OutFile ~/Enable-NestedVm.ps1
~/Enable-NestedVm.ps1 -VmName "VmName"

 

Otherwise you can do it manually:

Enable Virtualization Extension for the vCPU (required)

Set-VMProcessor -VMName "VMName" -ExposeVirtualizationExtensions $true

Disable Dynamic Memory (required)

Set-VMMemory -VMName "VMName" -DynamicMemoryEnabled $false

Enable MAC spoofing (optional)

Once nested virtualization is enabled in a VM, MAC spoofing must be enabled for networking to work in its guests.

Set-VMNetworkAdapter -VMName "VName" -MacAddressSpoofing on

Set VM Memory to 4Gb (optional)

Without 4GB or more, you may not be able to start VMs.

Set-VMMemory -VMName "VMName" -StartupBytes 4294967296

Enjoy running VM inside a VM :-)

Via: https://msdn.microsoft.com/virtualization/hyperv_on_windows/user_guide/nesting

How to Run with an old version of JRE

Running with an out-of-date Oracle Java Runtime (JRE) became really pesky. I understand the reason to force to keep software update, but sometime there are also some reason that force you to stay with an out-of-date version.

For Java plugin on Internet Explorer there are 2 factors that should consider:

  • Microsoft out-of-date ActiveX control blocking
  • Oracle JRE release expiration check

Microsoft out-of-date ActiveX control blocking

This feature warns users if they are using an outdated ActiveX with a notification bar similar to this:

Java_IEBlock

The complete list of out-of-date ActiveX control can be found here: http://go.microsoft.com/fwlink/?LinkId=403864

This feature does not warn about or block ActiveX controls in the Local Intranet Zone or Trusted Sites Zone.
Put your site on one of these two IE Sites Zone to avoid this feature.

Check https://blogs.msdn.microsoft.com/ie/2014/08/06/internet-explorer-begins-blocking-out-of-date-activex-controls/ for more info.

But this is only a part of the problem….

Oracle Release Expiration Check

Every time Java plugin is launched, a release expiration check is performed, and warns users if an out-of-date JRE is found:

Java_JavaBlock

To bypass this warning, you should edit this file: %APPDATA%\..\LocalLow\Sun\Java\Deployment\deployment.properties

Add this property:

deployment.expiration.check.enabled=false

Remember that this file has the “read only” flag. Remove it before saving and put it back after.

Open the “Java Control Panel” to ensure that the native cache is synchronized with the file.

This property can be used starting from version 7u40.

VIA: https://p0w3rsh3ll.wordpress.com/2013/06/25/defeat-the-new-oracle-java-runtimejre-1-7-update-notification-mechanism/
http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/jcp/properties.html

How to configure Network Adapter DNS settings for a Domain Controller

When we came to DNS Client settings on domain controller there is always a bit of confusion about what we should set as preferred DNS servers in to the network adapter configuration.

Here the common rules:

  • Primary DNS: If possible a DC of the same domain on the same site. If not define a well connected DNS (use the same DNS server as not-site alternative on every DCs)
  • Secondary DNS: PDCe
  • Third DNS: 127.0.0.1 (if the DC is also a DNS)

Do:

  • Clear the automatically added ::1 as the primary and only DNS server for the IPv6 stack unless you actively use IPv6.
  • Use the loopback address, but not as the preferred server. Set it as the last server in the order. When referencing itself as DNS, you should always use a loopback address and not a real IP address.
  • DCs should have at least two DNS client entries.
  • all DCs in a domain should be running DNS and hosting at least their own DNS zone; all DCs in the forest should be hosting the _MSDCS zones.

Do not:

  • Use the server’s own IP as the primary. This to avoid various DNS islanding and performance issues that can occur.
  • Disable IPv6 entirely.