Windows IOPS and MB/s benchmarking

You have bought een new system and the first thing what you want to do is check the disk performance (ehhh that’s always the first thing I want to know 😛 )

There  is one tool I always use: ATTO Disk Benchmark


This is a very nice tool to quickly see how fast your troughput is of your new system.

But sometimes you want to check your IOPS. Then you can use another nice microsoft commandline benchmark tool DiskSpd

You can use this parameter to benchmark:

diskspd -b8K -d30 -o4 -t8 -h -r -w25 -L -Z1G -c20G testfile.dat

This example command line will run a 30 second random I/O test using a 20GB test file located on the T: drive, with a 25% write and 75% read ratio, with an 8K block size. It will use eight worker threads, each with four outstanding I/Os and a write entropy value seed of 1GB. It will save the results of the test to a text file called DiskSpeedResults.txt. This is a pretty good set of parameters for a SQL Server OLTP workload.


Orginal article

If you get errors like:

Results for timespan 1:
The test was interrupted before the measurements began. No results are displayed.
Error generating I/O requests

Or file creation errors like “Error opening file: testfile.dat” please try to replace the minus “-” characters with your keyboard. Sometimes your browser copy the wrong character.

Happy benchmarking 😀

Remove Windows 2008 r2 WinSXS “Windows Update” files

copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe to %systemroot%\System32

copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui to %systemroot%\System32\en-Us

Run cmd > cleanmgr and remove all the nasty update files!

After I cleaned up the server I had to stop the windows installer service (trustedinstaller.exe) to remove the c:\windows\logs\cbs\CBS.log (6GB file) manually. Maybe a restart of the server do the same but I cannot test it on a production environment.

Have fun!


Windows update is looping forever

On my windows 2008 r2 server, Windows update was running forever 🙁

Windows update - Fix - 2

I tried a lot of things but fixing the problem was really simple:

  1. Go to
  2. Download the fixit
  3. Run the fixit and follow the wizard

Then your problem will be fixed automatically 🙂

Still problems? Try this post:

Note: If you have a WSUS server and you still have problems to find windows updates you can try to temporary disable the WSUS client to change the registry key UseWUServer to dword:00000000


Windows update - Fix


Clone HP ThinState Capture USB stick (or any other USB disk)

The ThinState USB disk is split into 2 partitions. And the second partition isn’t accessible in Windows so it was very hard to build a stick from scratch. There are a lot of Windows USB clone tools but because I had to clone the ThinState 16GB to a 8GB stick also, it was impossible to do it from my windows workstation. But when some things get more difficulty what do you do? Use Linux 🙂

The Easy way (same USB stick size or bigger):

$sudo dd if=/dev/sdb of=/dev/sdc bs=512

The “Hard” way (clone to smaller USB):

First resize the partitions with gparted to the minimum size. Then find out the last sector of the /dev/sdb2 (where sdb2 is my USB stick)

$sudo fdisk -u -l /dev/sdb


Disk /dev/sdb: 14,9 GiB, 16026435584 bytes, 31301632 sectors
Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x6a60ab98

Device     Boot   Start     End Sectors Size Id Type
/dev/sdb1 *       2048 2099199 2097152   1G b W95 FAT32
/dev/sdb2       2099200 14131199 12032000 5,8G 7 HPFS/NTFS/exFAT

Now use dd with sector 12032000 + 1.

dd if=/dev/sdb of=/home/myusername/usbimage.img count=12032001

and write the *.img file back to your new USB stick:

dd if=/home/myusername/usbimage.img of=/dev/sdb

Install Disk Cleanup without Desktop Experience to clean WinSXS

For: Windows Server 2008 R2 (64-bit)

Copy the following files:

> copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe C:\Windows\System32\


> copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui C:\Windows\System32\en-US\


> copy C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_nl-nl_72d752f33b5fc86a c:\Windows\System32\nl-NL\

Run the cleanmgr.exe:

> cleanmgr.exe

Install a lot of software with a few clicks

If you have a new computer you always must install the same tools. There is an very nice installation tool that automate this process. All the crap with the installers is deselected by default.

  1. Go to:
  2. Select the apps
  3. Click “Get installer”
  4. Run the installer
  5. The software will be download and installed

Ninite - Install or Update Multiple Apps at Once

Windows 2012 R2 unstable internet connection

I had 2x HP DL 380 G6 servers with Windows 2012 R2 whit the same problem. When I start a download (I try a lot of different sites) the download drops and fluctuate. When I connect my laptop or another server on the same cable the download is stable. So my conclusion was the onboard nic.

What I tried:

  • Update latest HP SSP (2014_2)
  • Update firmware NIC
  • Update driver NIC
  • Update Windows (patches)
  • change all the default nic settings like disable tcp offload for example
  • Try another switch

Bandwidth during download:

hp ethernet

I thought the problem must be the NIC so I added an intel pro to my server with the same result 🙁

Then I found the command netsh interface tcp show global


C:\Windows\system32>netsh interface tcp show global
Querying active state...

TCP Global Parameters
Receive-Side Scaling State          : enabled
Chimney Offload State               : disabled
NetDMA State                        : disabled
Direct Cache Access (DCA)           : disabled
Receive Window Auto-Tuning Level    : enabled
Add-On Congestion Control Provider  : none
ECN Capability                      : enabled
RFC 1323 Timestamps                 : disabled
Initial RTO                         : 3000
Receive Segment Coalescing State    : enabled
Non Sack Rtt Resiliency             : disabled
Max SYN Retransmissions             : 2

I dived in to these settings and I found the “Receive Window Auto-Tuning Level on enabled”. So I disabled the setting with:

netsh int tcp set global autotuninglevel=disabled

After that setting the network connection to the internet was stable 🙂


I found an article on the net that Cisco PIX IOS 8.0 doesn’t support “TCP Window Scaling”. Source:

So I use the workaround to disable the Automatic Windows Scaling in Windows because I can’t update our old PIX.

Problem solved 😀


0xc0000225 – Boot selection failed because a required device is inaccessible

When you run Acronis version 10 on a Windows 2008 R2 you get the error “0xc0000225 – Boot selection failed because a required device is inaccessible.

To fix this problem:

  1. Boot Windows 2008 R2 CD
  2. Select repair
  3. Run command line
  4. Now run these commands

Bootrec /fixmbr
Bootrec /fixboot 
Bootrec /rebuildbcd

Reboot the server and your windows is running again.