title: Migrating (or using) old VHD on a Classic Storage Account to be used with new (non-Classic) VM
body: <p>I find the storage options confusing so far. It seems like I can have a disk as a VHD (stored as a "Page Blob") on a Storage Account (Classic or New) or I can create a "Disk" directly. I'm not sure what the benefits of each option are.</p>
  
  <p>My problem is that I had an old Classic VM that had a data disk stored as a VHD (page blob) on a Classic Storage Account. I created a new VM now (not classic) and I want to attach that same VHD, but I don't see any way to do so. If I click create new data "Disk" then I have an option to copy a snapshot but I <strong>cannot see any snapshots from my old Classic Storage Account</strong>, I am able to see snapshots from my new Storage Accounts though, so I thought I need to migrate.</p>
  
  <p>I found this <a href="https://stackoverflow.com/a/42321565/331021">answer</a> on SO which suggests that it's possible to migrate using Powershell, by following instructions on this <a href="https://docs.microsoft.com/en-gb/azure/virtual-machines/windows/migration-classic-resource-manager-ps#next-steps" rel="nofollow noreferrer">page</a>.</p>
  
  <p>Based on those instructions, I executed the following commands:</p>
  
  <pre><code>Connect-AzureRmAccount
  Select-AzureRmSubscription –SubscriptionName "Visual Studio Premium with MSDN"  
  Register-AzureRmResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate // wait 5 minutes till it registers
  Add-AzureAccount
  Select-AzureSubscription –SubscriptionName "Visual Studio Premium with MSDN"
  $storageAccountName = "&lt;Name of Classic Storage Account&gt;"
  Move-AzureStorageAccount -Validate -StorageAccountName $storageAccountName // validation passes
  Move-AzureStorageAccount -Prepare -StorageAccountName $storageAccountName // throws an an exception:
  
  Move-AzureStorageAccount : InternalError : The server encountered an internal error. Please retry the request.
  At line:1 char:5
  +     Move-AzureStorageAccount -Prepare -StorageAccountName $storageAcc ...
  +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      + CategoryInfo          : CloseError: (:) [Move-AzureStorageAccount], ComputeCloudException
      + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ServiceManagement.StorageServices.MoveStorageAccountComm
     and
  </code></pre>
  
  <p>So, how should I proceed? My goal is to get my old VHD with my data working with the new VM. Ideally, I'd like to migrate it to the new model (whichever it is).</p>