Sunday, February 12, 2017

WD Sentinel DS6100: Perform a clean install of Windows Server 2016

In a previous article we showed you how to perform a clean install of Windows Server 2012 R2 on a WD Sentinel DS6100. In another article, we also showed you how to install the Western Digital components to bring a WD Sentinel DS6100 with a clean install back to its original factory functionality. Performing a clean install of Windows Server 2016 is a very similar process with a few oddities. We'll going to run through the process in this article.


Before we start. Please note that performing a clean install of Windows on your WD Sentinel DS6100 is not something supported by Western Digital. You do this at your own risk. If you have any data on your DS6100 you want to keep, make sure you back it up. Clean installing an operating system includes wiping your hard drives. We also highly recommend backing up the recovery image in the recovery partition of the DS6100. We have written a guide on how to do this here.

Gather your resources


To perform a clean install of Windows Server 2016 on your WD Sentinel DS6100, you will need the following:

Get a copy of the Marvell 94xx SAS/SATA RAID Controller driver


The WD Sentinel uses a RAID controller which Windows Server 2016 and Windows PE does not have the driver for. In order for Windows Server 2016 and Windows PE to see the boot drives in your WD Sentinel, you'll need to inject a RAID controller driver into their respective images.

You can find these drivers in the WD Sentinel firmware/software package you download from the WD support site. The drivers are located in a .cab file called mvsdrv.cab packaged in sentinel_firmware_2_2_10_18.zip.

Create the Windows PE boot disk


One of the quirks with installing Windows Server 2016 on a WD Sentinel DS6100 from a USB is that you'll need two of them. The first USB will be a FAT32 formatted boot disk because the WD Sentinel can't boot off NTFS. The second USB will be a NTFS formatted Windows Server 2016 installer because one of the files on the install media exceeds the 4GB file size limit of FAT32.

To make the FAT32 boot disk, follow this guide we've written earlier for the WD Sentinel DS6100 with some exceptions. Use the latest Windows ADK and the drivers obtained in the previous section.

Create the Windows Server 2016 install disk


There are two parts to this bit. First we need to inject the RAID driver from the previous section into the Windows Server 2016 installation media. Then we need to put that installation media on a USB stick.

Copy the Windows Server 2016 installation media to a local working directory. We're going to assume you have place this in C:\WorkingDir\Win2016. We are also going to assume a copy of the RAID drivers have been extracted to C:\WorkingDir\mvsdrv and that an empty folder C:\WorkindDir\mount also exists.

Run the following three commands to inject the RAID controller driver into the first image (Index:1) inside install.wim.
  1. Dism /Mount-Image /ImageFile:C:\WorkingDir\Win2016\sources\install.wim /Index:1 /MountDir:C:\WorkingDir\mount
  2. Dism /Image:C:\WorkingDir\mount /Add-Driver /Driver:C:\WorkingDir\mvsdrv\mvs94xx.inf
  3. Dism /Unmount-Image /MountDir:C:\WorkingDir\mount /Commit
Since there are 4 images in total on a Windows Server 2016 install media, repeat the steps for each of the other images (Index:2-4). Below is a list of what index is which image.
  1. Windows Server 2016 Standard
  2. Windows Server 2016 Standard (Desktop Experience)
  3. Windows Server 2016 Datacenter
  4. Windows Server 2016 Datacenter (Desktop Experience)
Once the RAID drivers have been injected into the Windows Server 2016 install media, you can simply just copy the installation files to a NTFS formatted USB. If you want to make the USB bootable so you can use it with other computers, we have written another guide on how to do that here.

Perform the clean install


After you have made your Windows PE bootable USB and Windows Server 2016 installation media for the WD Sentinel, plug the Windows PE bootable USB into one of the USB ports on the back of your WD Sentinel and turn it on while pressing and holding the recovery button. Once Windows PE has loaded, plug the Windows Server 2016 installation media you created and run setup.exe.

To work out what drive letter the Windows Server 2016 install is on, run the diskpart command and then type list volume. Type exit to quit diskpart.

Install the WD components


The WD Sentinel DS6100 out of the box comes with Widows Server 2012 R2 Essentials preinstalled along with components from Western Digital that make features such as the LCD and fan work. These components will need to be reinstalled after a clean install of Windows and can be found in the sentinel_firmware_2_2_10_18.zip file mentioned earlier.

Before installing the WD components, you'll need to install the Windows Server Essentials Experience role which is required to make the WD components work. We wrote an article on how to do this for Windows Server 2012 R2 which you can reference for Windows Server 2016. After installing the Windows Server Essentials Experience role but before configuring the Windows Server Essentials Experience, install the following WD components from the zip file.
  1. LpcDriverSetup.msi
  2. WDSMbusDriverSetup.msi
  3. PCHThermalDriverSetup.msi
  4. WDSystemConfigSetup.msi
  5. WDProductConfigService.msi
  6. WDBonjourSetup.msi
  7. WDAfpSupportSetup.msi
  8. WDHealthMonitorSetup.msi
  9. WdLcdSetup.msi
    Note: Run WdLcdSetup_PreInstall.bat before installing WdLcdSetup.msi.
  10. WDSoftwareUpdateProvider.msi
  11. WdStorageSetup.msi
  12. WDMonitorSetup.msi
  13. WDBranding.msi
  14. WDHomePageSetup.msi
  15. WDSUSetup.exe
    Note: Run C:\Windows\system32\pkgmgr.exe /iu:IIS-CGI after installing WDSUSetup.exe.
  16. WDDriveList.msi
    Note: This one was added for firmware 2.2.10.18.

Known issues


After successfully performing a clean install of Windows Server 2016 and the WD components, you may notice that not everything is working. Since installing Windows Server 2016 is not something that Western Digital officially supports, there may not be solutions to these problems. We've listed some of these problems here.

  • Unlike the Windows Server 2012 R2 process for performing a clean install, the fan will spin at maximum speed until the WD components are installed and the Windows Server Essentials Experience is configured.
  • If you install WDBranding.msi, the Windows Server Essentials Dashboard says Windows Server 2012 instead of just Windows Server. You can resolve this by uninstalling that component.
  • We have found that the WD Tray (WDSUSetup.exe) may need to be reinstalled after configuring the Windows Server Essentials Experience to get it working.
  • WD SOFTWARE UPDATE FAILED appears on the LCD screen and you'll also find that you are unable to check for firmware updates. We are unsure why this happens even with the latest firmware but suspect is has something to do with WD Product Configuration service failing to start. Currently no known workaround.

Tuesday, January 24, 2017

WD Sentinel DS6100: Using Unsupported Solid State Drives (SSDs)

If you own a WD Sentinel DS6100, one of the things you may be thinking about is whether or not you can replace your boot drives with Solid State Drives (SSDs) for faster performance. Straight up we're going to answer that for you with a yes. Please note that no SSD is officially supported by WD for the DS6100 so you do this at your own risk.

Performing a clean install of Windows Server


When swapping out your boot drives for SSDs, it is probably best to perform a clean install of Windows Server onto your WD Sentinel rather than attempting to rebuild your existing install by exploiting the RAID configuration of your WD Sentinel.

After a clean install, you may find that the RAID configuration is broken and your two boot drives will show up individually in Windows. To fix this, make sure all the WD components are installed and that Windows Server Essentials Experience is configured.

Whitelisting an Unsupported or Incompatible Drive


When using an unsupported or incompatible drive with your WD Sentinel, you may get an INVALID DRIVE message on your WD Sentinel's LCD screen and/or a red light above the drive bay that has the unsupported or incompatible drive. To make the message and/or red light go away, you'll need to add the unsupported or incompatible drive to the WD approved drive list.


To add a drive to the drive list, first make sure that the latest WD software components are installed. The minimum version required is 2.2.10.18 which can be downloaded from the WD website in the support section for the WD Sentinel DS6100. Then go edit the DriveList.xml file located at "C:\Program Files\Western Digital\Western Digital Drive List".

Wednesday, January 11, 2017

Setting up a NAT virtual switch in Hyper-V

Below is a quick reference guide to setting up a NAT (Network Address Translation) virtual switch in Hyper-V using PowerShell. This only works on the later builds of Windows 10 and Windows Server 2016. A NAT virtual switch can be useful if you are setting up a virtual lab for example.

In our example, we'll be setting a virtual switch and NAT rule called Unit35.co on subnet 192.168.35.0/24.

Step 1. Create a "Internal" VM Switch


Start PowerShell as an administrator on your Hyper-V host a create an internal virtual switch with the following command.
New-VMSwitch -Name "Unit35.co" -SwitchType Internal

Step 2. Create a Private IP Network for NAT


Next, define the internal subnet that we are going to be using for NAT.
New-NetNat -Name Unit35.co -InternalIPInterfaceAddressPrefix 192.168.35.0/24

Step 3. Assign a Default Gateway IP Address


Finally assign an IP address from the internal subnet that we just defined to be our gateway to the virtual switch we created earlier.
New-NetIPAddress -IPAddress 192.168.35.1 -PrefixLength 24 -InterfaceAlias "vEthernet (Unit35.co)"

Note: There are a few things that you'll need to be aware of when NAT is set up. Current builds of Windows 10 and Windows Server 2016 appear to only allow you to have one NAT network. The other thing to note is that NAT switches do not provide DHCP or DNS services to your NAT network. You'll need to setup a virtual machine on that network for those services.

Tuesday, January 10, 2017

How to delete a user profile in Windows with PowerShell

In a previous article, we showed you how to delete a user profile in Windows using the graphical user interface. In this article, we are going to do it with PowerShell.

Log on to the computer with the user profile you want to delete and run PowerShell as an administrator. The user profile you want to delete cannot be logged on to at the same time.


Run the following command with the user profile you want to delete. For a list of user profiles, see C:\Users.

Get-CimInstance Win32_UserProfile | Where-Object {$PSItem.LocalPath -eq "C:\Users\<USERNAME>"} | Remove-CimInstance -Confirm

Please note that deleting a user profile on the system does not delete the user's account on the local computer or domain. If the user logs on again, a new blank user profile is created for that user.

Tuesday, January 3, 2017

WD Sentinel DS6100: Booting into the Firmware/BIOS

Recently I found myself needing to boot into the Firmware/BIOS of my WD Sentinel DS6100 to check the boot order of my drives. I've been attempting to install Windows Server 2016 on it when it kept failing to boot into the operating system after installation.



For the WD Sentinel DS6100, to boot into the Firmware/BIOS simply press the "Delete" key while turning on the device. Hope that's helpful to someone.

Friday, April 15, 2016

Enhancing WDS with the Microsoft Deployment Toolkit (MDT)

The Microsoft Deployment Toolkit (MDT) is a free tool that can be downloaded from Microsoft to assist you with Operating System Deployment (OSD) and is often used in conjunction with Windows Deployment Services (WDS) and System Center Configuration Manager (SCCM). It can also be used on its own. It this article we'll be looking at using MDT with WDS.

Download and install the Microsoft Deployment Toolkit (MDT)


Get started by downloading the Microsoft Deployment Toolkit (MDT) from here. We're using the MDT 2013 Update 2 version in this article. You'll also need to download the Windows Assessment and Deployment Kit (ADK). We're using Windows ADK for Windows 10, Version 1511 which you can download here.

After downloading both of these tools, install MDT and when you go to install Windows ADK, we recommended selecting the following option in the picture below.



Creating the Deployment Share


The deployment share is a network share on your Windows network that hosts all of your deployment resources. You interact with your deployment share through the MDT Deployment Workbench and you can have multiple deployment shares on your Windows network.

Start by creating an empty network share on your Windows network for example, \\CARBON.Unit34.co\DeploymentShare$. Make sure you have write permission to this share and that anyone you wish to be able to deploy from it has permission to read it.


Start the MDT Deployment Workbench and in the left pane, right-click on the Deployment Shares node and select New Deployment Share. The first screen you will be presented with will ask you to specify the path to your deployment share. Replace the default path of C:\DeploymentShare with the path to your network share. When you complete the wizard, MDT will begin populating the network share with some default deployment resources.



Configuring the Deployment Share


Before you can start deploying Windows from your deployment share, you need to configure your deployment share by adding deployment resources and creating task sequences. Deployment resources includes things like operating system installers, drivers, applications and Windows updates. Task sequences allow you to specify what happens on a step-by-step basis during an operating system deployment.

Deployment resources and task sequences are configured and managed through the MDT Deployment Workbench. There is a lot you can configure that we're not going to cover here in this article but the best way to learn is to have a play and explore. One thing we do recommend you configure is the rules for your deployment share which can be accessed by right-clicking on your deployment share in the Deployment Workbench and then selecting Properties and then the Rules tab.


We've added the property DeployRoot=\\CARBON.Unit34.co\DeploymentShare$. MDT has a bunch of other properties you can add that you'll have to find and discover.

Generating a boot image for your Deployment Share and adding it to WDS


After you have configured your deployment share, the next step is to actually perform a deployment. In the Deployment Workbench, right-click on your deployment share and select Update Deployment Share. Complete the wizard to generate new boot images for your deployment share.


One the wizard completes, your boot images will be located in a subdirectory called Boot in your deployment share. For example \\CARBON.Unit34.co\DeploymentShare$\Boot. Select the appropriate boot image from this folder and upload it to your WDS server. If configured correctly, any computer that performs a network boot from your WDS server will now download the MDT boot image. This boot image will then connect to your deployment share allowing you to select which task sequence to run for your deployment.

Saturday, February 20, 2016

Remote connect to Windows PE with VNC

A few years ago, I came across this neat trick while trying to upgrade my WD Sentinel DX4000 from Windows Storage Server 2008 R2 Essentials to Windows Server 2012 R2 Standard. The challenge in this was that the DX4000 is a headless system. To interact with the DX4000, someone came up with the good idea of injecting a TightVNC server into the Windows PE boot media of the installation. You could then interact with the installation from a remote computer. In this guide, we are going to show you how you do that.

To see the original article about installing Windows Server 2012 onto a WD Sentinel DX4000, click here.

Download and install TightVNC


The first step is to download TightVNC from http://www.tightvnc.com and install it onto a reference computer. We're using the 64-bit version of TightVNC 2.7.10 for this guide. Perform a Complete install of TightVNC accepting any defaults. When prompted to set a password for our TightVNC server, we have chosen not to use a password for the purpose of this guide.


After installing TightVNC, the next step is to configure your TightVNC server with all the settings you want and then open up the registry to HKLM\SOFTWARE\TightVNC\Server.

Export that key to a file called TightVNCServerSettings.reg and save the file to the installation directory of TightVNC, C:\Program Files\TightVNC. Your .reg file should look similar to the following.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\TightVNC\Server]
"ExtraPorts"=""
"QueryTimeout"=dword:0000001e
"QueryAcceptOnTimeout"=dword:00000000
"LocalInputPriorityTimeout"=dword:00000003
"LocalInputPriority"=dword:00000000
"BlockRemoteInput"=dword:00000000
"BlockLocalInput"=dword:00000000
"IpAccessControl"=""
"RfbPort"=dword:0000170c
"Hotpot"=dword:000016a8
"DisconnectAction"=dword:00000000
"AcceptRfbConnections"=dword:00000001
"UseVncAuthentication"=dword:00000000
"UseControlAuthentication"=dword:00000000
"RepeatControlAuthentication"=dword:00000000
"LoopbackOnly"=dword:00000000
"AcceptHttpConnections"=dword:00000001
"LogLevel"=dword:00000000
"EnableFileTransfers"=dword:00000001
"RemoveWallpaper"=dword:00000001
"UseMirrorDriver"=dword:00000001
"EnableUrlParams"=dword:00000001
"AlwaysShared"=dword:00000000
"NeverShared"=dword:00000000
"DisconnectClients"=dword:00000001
"PollingInterval"=dword:000003e8
"AllowLoopback"=dword:00000000
"VideoRecognitionInterval"=dword:00000bb8
"GrabTransparentWindows"=dword:00000001
"SaveLogToAllUsersPath"=dword:00000000
"RunControlInterface"=dword:00000001
"VideoClasses"=""

Download and install the Windows Assessment and Deployment Kit (ADK)


Windows PE is a part of the Windows Assessment and Deployment Kit (ADK). For this exercise, we're using Windows ADK for Windows 10. You can download Windows ADK for Windows 10 from here.

Run adksetup.exe. When you get to the part where you select the features you want to install, select Deployment Tools and Windows Preinstallation Environment (Windows PE). We only need these components for this exercise.


Create the Windows PE image and inject TightVNC


Run the Deployment and Imaging Tools Environment command prompt as an administrator. The shortcut should be in your Start menu after you install ADK.


Using the following article as a guide to create and mount a Windows PE image. We're using the 64-bit for our example.

Step 1. Create your Windows PE image with the working directory C:\WinPE_amd64.
copype amd64 C:\WinPE_amd64

Step 2. Mount your Windows PE image so that it can be edited.
Dism /Mount-Image /ImageFile:C:\WinPE_amd64\media\sources\boot.wim /Index:1 /MountDir:C:\WinPE_amd64\mount

Step 3. Copy the installation directory of TightVNC, C:\Program Files\TightVNC with the .reg file we created earlier in it to C:\WinPE_amd64\mount\Program Files\.


Step 4. Configure TightVNC to start up automatically in your Windows PE image by editing C:\WinPE_amd64\mount\Windows\System32\startnet.cmd in notepad. Add the following lines to startnet.cmd. This is a quick and dirty method.
%WINDIR%\System32\wpeutil.exe InitializeNetwork
%WINDIR%\System32\wpeutil.exe DisableFirewall
%WINDIR%\regedit.exe -s "%SYSTEMDRIVE%\Program Files\TightVNC\TightVNCServerSettings.reg"
"%SYSTEMDRIVE%\Program Files\TightVNC\tvnserver.exe" -install -silent
"%SYSTEMDRIVE%\Program Files\TightVNC\tvnserver.exe" -start -silent

Step 5. Unmount and save your Windows PE image.
Dism /Unmount-Image /MountDir:C:\WinPE_amd64\mount /Commit

Step 6. Once your Windows PE image is saved and unmounted, create your Windows PE media using the command MakeWinPEMedia. Below is an example for a USB drive on D:\.
MakeWinPEMedia /ufd C:\WinPE_amd64 D:

Boot Windows PE and remote in


Test your TightVNC enabled Windows PE boot media by booting a computer with your Windows PE boot media. On another computer on the same network, connect to your Windows PE machine with TightVNC viewer. You'll need the IP address of the Windows PE computer. How you work this out, we'll leave up to you.