Archive for the ‘Migration’ Category


Guess I am like the cobbler’s kids who didn’t get their shoes when everyone else did.  I am the last of my clients, save one, to migrate off SBS and onto Windows 2012 R2 Standard.  I thought you could benefit from some of the issues I ran into, and solved.

Here’s my scenario.  Have a Hyper-V server running SBS 2011 as a virtual machine.  Created a new virtual machine and installed Windows 2012 R2, did updates.  Unfortunately, it sat for several months while I finally got a few days to do he migration.  More about that later.

Long ago, I migrated email and SharePoint to Office 365, so I had disabled services and IIS application pools on SBS.  My starting point was to fire them up again in order to remove them.  I did not want AD to migrate with all of those extra objects.

Removing Exchange Server 2008 R2

This did not start off well.  When I launched EMC, it failed to connect to the SBS server.  I ended up putting it aside for a few days but came back to it.  I had tried to guess or remember which services should be started, but I seemed to have failed.  I also only started the Exchange-related application pools.  I easily tracked down an article describing which services start automatically, fired them up, and enabled those that should start manually.  BTW it describes all of SBS services.

That did the trick, and EMC successfully opened.  But I knew that in order to uninstall Exchange, I had to remove the mailboxes.  Fortunately, I had a small number of them.  And to make it easy, I used Exchange PowerShell commands to do this.

Get-Mailbox | Disable-Mailbox
Get-Mailbox -Archive | Disable-Mailbox -Archive
Get-Mailbox -Arbitration | Disable-Mailbox -Arbitration

First, please note that my scenario had with SBS – a single mailbox database and server.  That is why there are no qualifying parameters on the commands.

If your first thought is to use EMC to remove mailboxes, CAUTION!  That method removes both the mailbox AND the user from AD.  If you do want to remove some users and their mailboxes, do that but otherwise use Disable-Mailbox.  There is a Remove-Mailbox command but it also removes both user and mailbox.

So what the first command does is get a list of mailboxes which are piped to the next command.  The second does the same thing but gets the archive mailboxes.  You will then not be surprised the third command gets the arbitration ones.

I tried just getting archive and arbitration mailboxes, but the id names were too long to display in their entirety, so piping was essential.  And easier. And faster.

I then tried to uninstall Exchange but got two failures.  The first block came from Trend Micro Worry Free Advanced that it was using the database and the second was the Offline Address Book in Public Folders.  I uninstalled the messaging agent for Trend Micro but getting rid of the OAB was harder.

First I tried to simply delete the public database but it was not empty (I knew that from the OAB warnings).  I then tried to create a new, empty one to mount but then Exchange would not let me create a second one.  So under Tools, I chose Public Folders and expanded the tree and selected OAB then the firs entry and deleted that.  It was the only entry I could delete.

Luckily, I was then able to uninstall Exchange.

Removing SharePoint

Could not have been easier.  Just uninstall from Control Panel.

Back to Windows 2012 R2

I had already joined the domain and installed Active Directory Services, so I was ready to promote it to a domain controller by starting the configuration on that role.  Just added to the existing domain and it just worked.

I needed a few more roles on this new server, and then trouble started.  I tried to add both Remote Access and Windows Update at the same time and the installation failed.  Separately they also failed.  Again and again.

I cheeked for updates and found plenty and installed and rebooted.  Still no luck in adding roles or features.  I finally found this article which pointed me to a fix.  Note that I modified both policies that it refers to.  After the gpupdate, installation of roles worked fine.

I had not run into this issue before with 2012 R2, so I think it is related to both the GPO settings from SBS 2011 and that AD is at 2008 R2 levels and cannot be promoted until SBS is removed from the domain.

But this puts me well on my way to being where I want to be.

Now I just have to move Worry Free Advanced and get client machines set up under Windows Essentials role.

What Scares Me About Migrations

It’s always a bit scary doing migrations.  First, there is a lot of prep work to do that is designed to put your SBS 2003 or 2008 server in a state that is receptive to the migration processes.  Then there is – at least for me – two more scary moments.

  1. Will the information in the Answer File prove correct and sufficient for the migration to get started?
  2. Once the migration is finished and the destination server is being restarted, will it show errors or will there be a successful migration?

I have been disappointed as each of these scenarios have arisen.  I will address the second one in a subsequent post, but let me share with you a recent heart-stopping encounter with the first and how to fix it.

Finding the Source Server

In the answer file, you must provide among other things:

  • Source server name
  • Source server IP address
  • Source server domain name
  • Destination server name
  • Destination server IP address

Why wouldn’t migration not find the source server and how can you fix it? What migration has done by this point is established a good base in the destination server for it to operate.  For the network IPv4 properties of the network connection, they should be set so that:

  • IP address is what you provided for the destination server in the answer file
  • First DNS server is the IP address of the destination server
  • Second DNS server is the IP address of the source server

Toss in the source server name and domain, and you should be all set for a DNS query to properly resolve into an IP address.  It is my assumption that migration doesn’t rely on the  IP address you provide for the source as it wants to make certain DNS queries work.  Or maybe not as you will see.  Because even when all this is correct, migration continues to give you an error that it can’t find the source server.

Getting Access to the  Destination Server while in Migration Mode

Make no mistake about it.  When you get to migration mode, you have a working SBS2011 server below it, although not fully configured for the domain.  But how do you get to features and functions?

Pretty simply, actually.  While the migration wizard is in progress, just press SHFT+F10.  That will launch a command window.  From there, you can run command line executables to launch GUI objects.

Here is a short list you might likely need:

  • control.exe – launches Control Panel
  • services.exe – launches Services
  • control.exe /name Microsoft.NetworkAndSharingCenter – straight to Network and Sharing Center
  • taskmgr.exe – launches Task Manager
  • mmc.exe – Launches Microsoft Management Console

From these, you can get to an awful lot of Windows features.

But What About Not Finding Source Server?

I checked the network settings and they all looked fine.  I checked the DNS on the source server and it had the right values.  Stumped, I decided to make an end run.

The first thing was to get access to the hosts file.  I find the simpliest way is to use Notepad, so at the command prompt, type notepad.exe and press enter.  Then open the hosts file (remember to change file type from .txt to all files) in the path c:\windows\system32\drivers\etc:

Openng hosts file

The thought was to add the source server to the hosts file so migration might find it when DNS did not seem to.  I added the source server as shown here (your IP address ad server name should match the source server).

Modifying hosts file

Just be sure your destination server is set to use hosts.

  1. Open Network and Sharing Center as described earlier.
  2. Click on Change Adapter Settings.
  3. Right-click on the network and choose properties.
  4. Scroll down to IPv4 to highlight and click propertes.
  5. Click on the WINS tab.
  6. Verify your settings match the following, then click OK twice and close Network and Sharing Center.
  7. Click NEXT in the migration wizard, and it gets past the source server issue.

WINS settings

Just when you think everything was working.

The Symptoms of the Problem

A system administrator, responsible for assigning users, called to let me know there was an issue.  He could not create a new user, nor could he assign an existing user to a machine, much less make them local adminstrators.  What was even more puzzling was when he used the SBS Console to do this, it appeared to work.  However, went he went back to that user’s settings, no changes he made showed up.

Obviously this was a feature he wanted to remove.

Finding the Problem

It was not obvious what was causing the system to behave this way.  In fact, it seemed whereever I looked, I could find no problems.  It just didn’t work.

Then I happed to look at the system administrator account (we disabled Administrator and were using another account name).  I don’t know exactly why, but happened to look at what groups that account belonged to using the Console.  To my shock, only a few groups appeared:  all users, Windows SBS Fax Users, and Window SBS Link Users. 

Fixing the Problem

I also checked on roles, and the proper group membership was missing there as well.  So I added the missing groups to the role and to the user.  I also checked on the role for standard user, which was also missing some groups, so I fixed that role, too.  Then I applied the Standard User role to the individual users, and everyone was back in business. The system administrator could now work properly as well.

You may not be as lucky as I to have a handful of working SBS 2011 systems to use as a guide, so I am pasting in some screen shots for your reference.

The system admininistrator account

And Network Administrator Role

NetworkAdministrator Role Memberships


Never did find out why this fell off during conversion.  The SBS 2008 groups have different names, but….

yes, Virginia, there is a Santa Claus who can help you convert your physical SBS server to a virtual machine to run under Hyper-v.  But dear, they don’t tell you nearly enough, so pay careful attention to this.  Especially if you want to user the same server box to be your new Hyper-v host machine.

Preliminary Work

The assumption is that you have SBS installed on a physical machine.  You would like to use that physical machine as a Hyper-v host.  How can you convert SBS to a virtual machine?  And what does it take to host Hyper-v on that box?

If your SBS is 2008 or 2011, you needn’t worry about whether the server can support 64-bit because both of those are 65-bit operating systems.  If, however, your starting point is SBS 2003, you need to verify that it can run a 64-bit OS.  If your server is from around the time when SBS 2003 was first released, I suggest you look at a new server to save yourself a lot of frustration, time and eventually money.  You can purchase a lovely box from Dell, HP and others for about $1500.  Then  you can do a migration to SBS 2011 between two physical boxes.  See my post about setting up SBS 2011 as a virtual machine and do the migration to it.

Once you are convinced your current server box will support the Hyper-v host os, check on how much memory you you have.  I would recommend16GM as the minimum necessary for a successful system and as much more as you can add past that to accommodate the number of virtual machines you plan on hosting.

I have a few virtual machines for SBS running between 8GB and 16GB and all give more than satisfactory performance.  They run along with 4-8 other virtual machines (other 2008 R2 servers, Windows 7, and XP operating systems). More memory is better of course  but you may find the marginnal benefit of 1GB more memory to not show up in the other vm performance .

Now you have determined a proper machine to host Hyper-v with sufficient memory.  It is my very strong suggestion that you now purchase new disks for the OS hosting environment. Why? Because if something goes wrong in the conversion, you don’t want to have clobbered your original system disks to be able to go back to a physical machine.  I know the cost and complexity of new system disks will vary from installation to installation, but disk prices have dropped so much that the cost of even a pair of 500GB (RAID 1 scenario) is under $100.  What is your time for recovery worth:?

The last thing you will need is a disk that can house the .vhd created on the physical installation to be copied to the new os environment for the virtual machine.  An external USB drive is perfect for this, but an internal hard disk that can remain mounted when you create the new hosting environment works well, too.

Cleaning Up the System

Before you convert to a .vhd, do as much cleanup on your SBS system as possible.  Not only will this make the conversion faster, it will make it easier.  And in some cases, it can mean the difference between success and failure.  The conversion utility will convert up to 127GB, so if you have too much data on your system disk, it may not convert at all.

Here are some suggestions:

  1. Move your Exchange data files to another hard disk.  As a rule. I never leave them on the system volume.
  2. Do the same with your SharePoint data files.  Same rule for moving it to another disk.
  3. Move any user profiles to another disk.
  4. If you have any data files that are shared, move them as well and update the share.
  5. Empty the recycle bin.
  6. Delete any temporary files.

In short, anything that is on your system disk that is not essential to the system either delete or move.  Note: if files are small, weigh the inconvenience of moving them against the conversion impact.  A few kilobytes won’t make a difference but a few gigabytes might.

Disk2vhd Utility

You will need this free and downloadable utility to convert your system disk to a .vhd file (click to download it).  It is straightforward to use and can work with a system that is online.  I will share with you some of the tricks I have picked up to make it easier for you.

Disk2vhd works by taking a snapshot of the files to be converted.  What you don’t want to happen is have those files updated while the conversion is running, possibly causing data consistency issues.  Exchange is a case in point, so before you start the conversion, stop Exchange services.  Do the same for SharePoint and any other applications that might be updating files as they run,

If you have been following closely about the preparations, you will have detected my overall approach:  isolate the system to the c: drive, convert it to a .vhd, bring up the new os and create a virtual machine from it, and have all of the data files remain on media that are mounted onto the host operating system.

With that in mind, when you run the conversion utility, you will be just converting the system disk.


In the above example, I have isolated Exchange, SharePoint and user data and even have a separate drive to store the .vhd file.  (Remember, I am a big iSCSI fan and this is a piece of cake to do).

Much  more important, however, is to note that I have selected not only drive C: but the System Reserved area as well.  If you don’t select the System Reserved area, the resulting .vhd will not be recognized as bootable.  When you try to attach it as a virtual drive and start the machine, you will get the following messages:

disk error has occurred
Ctrl+alt+del to continue

But of course there is nothing to continue to.

Choose your destination for the .vhd, then click Create.  It can take thirty minutes to over an hour, so entertain yourself while it runs.

The Hyper-v Host

Now shut down the SBS system, remove the system disk(s), insert the new disk(s) for the host os, and install the os.  If you have a license for Windows 2008 R2, use it by all means.  If you don’t own or want to pay for a license, you can download Windows 2008 Hyper-v for free.  Be aware that it has only a limited interface and that you will need to do enable remote execution of Hyper-v manager on it to be effective.  Still, it is free.

Install the os and launch Hp yer-v manager.  Create a new virtual machine following the wizard.  But instead of creating a new .vhd, instead point to the .vhd you created with the disk2vhd utility.

Before you start the virtual machine, adjust the settings as follows by highlighting that vm and clicking on settings.

  1. Memory – use dynamic setting.
  2. Processor – use the number of virtual processors that match the host cpu.
  3. Network adapter – you can use the same adapter as the host machine or an additional one.
  4. iSCSI Controller – Use this to add disk drives attached to the host system.  For example, if you have USB drives (for backup, e.g.) connect them to the virtual machine.  Same for data drives.  Note – if you are using iSCSI targets, the virtual machine can connect directly to them without adding them as hardware.

Now start the virtual machine.  What you will discover is that it doesn’t start right up like you would think.  Instead, it appears to be “hung” without the desktop appearing.  This could take from five to thirty minutes.  What is happening is that SBS is adding new devices to the system as they have been attached through the virtual interface.  When that is complete, you will get a message that new hardware has been added and you should reboot.

After the reboot, check the network settings to make sure they are correct.  You may have to run fix my network or connect to the internet wizard from the SBS console.  Check to make sure all services are properly started and that Exchange connected to the databases.

Your virtual SBS is now complete and you can add other virtual machines as necessary.

I am currently doing a migration from Windows 2003 (not SBS) to SBS 2011 for a client.  The didn’t want to invest in new hardware since their server was a fairly recent vintage and needed only a bit more memory.  My plan for them is to:

  • Physically locate their server in my office on a new network segment;
  • Set up their router to get a static IP address from my network;
  • Configure parent DNS to point to this new network segment;
  • Run Migration Prep Tool on the old server;
  • (all of the above done
  • Create an answer file for the migration and store it on the desktop of the host OS machine that runs hyper-v (see additional comments later);
  • Install Virtual Clone software on the parent OS of the hyper-v machine;
  • If you have an .iso of the SB 2011 install disk, make sure it is somewhere in the disk space  of the parent OS hyper-v machine and mount it on the virtual drive.  If you have a physical DVD, insert it in the drive on the parent OS machine.
  • Create the virtual machine for SBS 2011.  Make sure you assign a network connection so it can talk to the local network as well as have Internet access;
  • Capture either the virtual or real drive with the SBS 2011 install and start the virtual machine.

It is really a good thing to not have the old server as on the LAN.  If it is that address, change it and be sure to change your port forwarding on the router to match.

When you create the answer file, use for the new server and whatever IP address the old one had. The user administrator will be the system user, and you can add a new one and make the old one inactive.

While the initial part of the install is running, take a made a CD or DVD with the answer file on it.  When the dialogue for migration appears and the SBS 2011 install says it can’t locate the answer file, eject the SBS 2011 install disk, insert the CD with the answer file and try again.  If you used a virtual drive, just capture the physical drive from the Clipboard menu on the Hyper-v connection to the new SBS 20111 server.

Using Virtual Clone was imperative for me in running some things on the old server; it had no DVD drive.  If that were the case on the new server, how would you get the answer file to work?  One way is to create the CD with the answer file on it, then use a program like Magic ISO to convert the CD to an .iso image.  Then you can mount the .iso on a virtual drive  on the parent os and capture if on the hyper-v console.

Once you have the new SBS 2011 running as a virtual machine, then just do all of the migration steps you normally would with two physical machines.