none
Cannot create VM from Gen2 template

    Question

  • I'm using SC VMM 2012 R2 and am trying to create a Server 2012 r2 vm template.

    I created a new Gen2 VM and did a clean install of Server 2012 R2 Datacenter, then applied latest updates, etc. Next, I shut down, then cloned that master image. So far, so good.

    Then, I went to create a VM template from an existing VM, using the cloned vm as the source. That appeared to work and the VM was stored in the library.

    Now, when I go to create a VM from that template, I get an error (23352) on step 1.4 - Change properties of virtual machine. The error says "VMM cannot find the device or this device is not valid for a boot device." Recommended Action "Make sure you specify a valid device as a boot device."

    It's not really clear how to fix this. The source VM works fine and boots. The template was created from that...  also, the link on
    "how to set the boot order for a generation 2 virtual machine" doesn't work and goes to the main SC page.

    How can I resolve this so I can create gen2 VM's from a template?

    Thanks

    Friday, October 25, 2013 2:54 PM

All replies

  • I get the same error:

    Create virtual machine 10/25/2013 2:22:44 PM 10/25/2013 2:24:17 PM
    Create virtual machine 10/25/2013 2:22:46 PM 10/25/2013 2:22:46 PM
    Deploy file (using Fast File Copy) 10/25/2013 2:22:47 PM 10/25/2013 2:24:12 PM
    Deploy file (using LAN) 10/25/2013 2:24:12 PM 10/25/2013 2:24:12 PM
    Change properties of virtual machine 10/25/2013 2:24:12 PM 10/25/2013 2:24:17 PM
    Fix up differencing disks 10/25/2013 2:24:12 PM 10/25/2013 2:24:12 PM

    Error (23352)
    VMM cannot find the device or this device is not valid for a boot device.

    Recommended Action
    Make sure you specify a valid device as a boot device.

    When looking at the hardware configuration of the VM in the Template i see the boot SCSI disk with a check box that says this is the os for the VM.

    Friday, October 25, 2013 6:30 PM
  • Just to make sure: you are deploying the VM to a 2012 R2 host, right?

    -kn


    Kristian (Virtualization and some coffee: http://kristiannese.blogspot.com )

    Tuesday, October 29, 2013 9:04 AM
    Moderator
  • Just to make sure: you are deploying the VM to a 2012 R2 host, right?

    -kn


    Kristian (Virtualization and some coffee: http://kristiannese.blogspot.com )

    Yes, RTM 2012 R2 SCVMM used to make the template of a RTM 2012 R2 Standard Guest on a RTM 2012 R2 Host.  Then turn around and deploy it back to that host (or one of several others) and it fails.

    Daren


    Tuesday, October 29, 2013 11:33 AM
  • Yes,  I have the same issue.

    If I use Gen. 1 machine for Win2012R2, then I don't have any issues.

    \\BIKS

    Tuesday, October 29, 2013 2:40 PM
  • Hi Kristian,

    Have you with success create a 2012r2 vm from gen. 2 template?

    \\BIKS

    Tuesday, October 29, 2013 10:32 PM
  • Yes I have - and I'll write a blog post describing the process.

    There should be no problem with sysprep - and deployment of VM templates based on Gen2 VMs with VMM 2012 R2.

    Can you please describe the exact process so far in your environment?


    Kristian (Virtualization and some coffee: http://kristiannese.blogspot.com )

    Wednesday, October 30, 2013 5:03 AM
    Moderator
  • Hi Kristan,

    I described the exact steps I took in the initial post. The hosts are 2012 R2 Datacenter with the latest VMM agent.

    I didn't do anything out of the ordinary; I cloned a VM then turned the clone into a template. That's it. I expected that it should "just work" and was surprised when I hit errors trying to create an instance of the template.

    Oren

    Wednesday, October 30, 2013 5:39 AM
  • My steps

    1 Created new VM gen 2 machine
    2 Installed Win2012r2 OS
    3 Right click the new gen 2 machine with win2012r2 and choose 'create vm template'

    4 right click the new template and choose 'create virtual machine' 

    Then after a shot time I get above error messages.

    \\BIKS

    Wednesday, October 30, 2013 1:52 PM
  • I have same problem also.

    Error (13206)
    Virtual Machine Manager cannot locate the boot or system volume on virtual machine 2012r2 template. The resulting virtual machine might not start or operate properly.


    2012r2 gen2 template

    Wednesday, October 30, 2013 7:44 PM
  • Ditto for me.. Exact same scenario.

    1 Create base 2012 R2 Standard Generation 2 VM

    2 Shut down VM

    3 Attempt to create template

    4 Errors out with above error

    Wednesday, October 30, 2013 9:25 PM
  • I've got exact the same problem.

    I've got 2 clustered hosts (Hyper-V Server 2012R2).

    Can not deploy Gen2 VM (Windows Server 2012R2 Standard) from template, it fails with "VMM cannot find the device or this device is not valid for a boot device."


    • Edited by 'Quasar' Thursday, October 31, 2013 11:38 AM
    Thursday, October 31, 2013 11:38 AM
  • No one from Microsoft has picked up on this yet?

    This is NOT a hard thing for us all to reproduce.

    1. Create brand new Gen2 VM on RTM R2 Server with R2 SCVMM
    2. Install OS using shared ISO
    3. Create VM Template and select stopped VM we just created.
    4. Deploy same template right back to server we just consumed the VM from in the making of the template
    5. Error occurs as stated by many above.

    This is not rocket science and it ISN'T a complicated thing we are doing.  This is something that SHOULD have been noticed during testing and regression testing prior to release.

    Can we get a response from Microsoft or is it that only people that call in get any help.  If that is the case why have these forums?

    Daren Daigle

    Friday, November 01, 2013 11:49 AM
  • I have the same problem and tried different way to fix it with no luck, looks like make the VHD as OS disk still not working

    Ricky's Blog


    • Edited by Ricky Gao Saturday, November 02, 2013 10:41 AM
    Saturday, November 02, 2013 10:06 AM
  • I am having the same issue.

    What I have found so far is that the template has unchecked "Contains the operating system for the virtual machine".  Rechecking this in the template seems to make no difference.

    For grins, I "Remediated" the machine that got created and told it to ignore the error and the machine boots up just fine....without any customizations of course, but this eliminates the idea that the hard drive somehow got corrupted or cannot be found by the virtual machine.

    Looking forward to someone finding more information.


    It would be greatly appreciated if you would mark any helpful entries as helpful and if the entry answers your question, please mark it with the Answer link.

    Saturday, November 02, 2013 6:42 PM
  • Another thought....The server that I am deploying to was a 2012 server that I upgraded to R2 and it screwed up my hyper-v to the point that I had to remove it and re-install the role.  Wonder if this has anything to do with it.

    The upgrade attempt to my VMM when even worse, to the point that I had to rebuild the machine.  When I added the Hyper-V server back to my now VMM R2 server, it had some issues that I had to tinker with to get everything added back right, because it still had some of the VMM SP1 stuff on it.

    Wonder if this coincides with anything everyone else has been experiencing.

    Between the screwed up upgrades to 8.1 and to R2, you have to wonder what levels of testing Microsoft did, or did not do, as the case may be.


    It would be greatly appreciated if you would mark any helpful entries as helpful and if the entry answers your question, please mark it with the Answer link.

    Saturday, November 02, 2013 6:55 PM
  • There seems to be an issue here with cloning to or making a VM from a Gen2 VM template.  I'm running into the same problems here with trying to clone from a Generation 2 VM; going through the process of placing the VM on a host, it spawns an error that I must boot from IDE, clearly indicating that for some reason VMM believes it is creating a gen 1 VM. 

    If this post was helpful, please vote up or 'Mark as Answer'! More of this sort of thing at www.foxdeploy.com

    • Proposed as answer by rino01 Tuesday, November 05, 2013 10:01 AM
    • Unproposed as answer by rino01 Tuesday, November 05, 2013 10:01 AM
    Monday, November 04, 2013 7:32 PM
  • I got the same result in SCVMM 2012 R2 and Hyper-V 2012 R2. But i did manage to found a workaround for the issue.

    After the Server that is going to be a Template are installed. Stop the machine and start Powershell or Hyper-V 2012 R2 Manager (it have to be a 2012 R2 that you start Hyper-V Manager from) and change the boot order under "BIOS" to 

    1. the Vritual disk

    2. CD/DVD

    3. File.

    4. network Adapter

    Finaly disable the Secure boot Option, after that create your Template from the VM.

    Then create a Hardware Profile that enable the secure boot option and a OS profile of your choise.  

    Now when you create your Gen 2 VM from the template and using your profiles everyting will work as expected.

    The issue seems to be the boot from file and Secure Boot option in the template that SCVMM can't handle during the Creation of the machine, and will fail to create the machine.


    Rickard


    • Edited by rino01 Tuesday, November 05, 2013 10:17 AM
    • Proposed as answer by TSoftware-Old Tuesday, November 05, 2013 3:19 PM
    • Unproposed as answer by Oren NovotnyMVP Tuesday, November 05, 2013 4:03 PM
    Tuesday, November 05, 2013 10:15 AM
  • Excellent work rino01, I have validated your solution on my system with expected results.  I was kind of curious about your requirement to start the Hyper-V Manager from 2012, so I tried it from my 8.1 workstation and everything worked fine.  For reference here are the steps that I took:

    While the template source machine was shut down,

    I made the following modifications with the Hyper-V Manager:

    1. Right clicked on machine and selected Settings....
    2. Selected Firmware.
    3. Un-checked Enable Secure Boot.
    4. In Boot Order, moved the file option to the bottom.
    5. Clicked OK.

    I made the following modifications with Virtual Machine Manager:

    1. Right clicked on machine and selected Properties.
    2. Selected Advanced | Firmware.
    3. Un-checked Enable secure boot. (This may eventually propogate, but it was still checked in my environment)
    4. Click on OK.
    5. Right click on machine and select Create | Clone..., so that I don't have to keep recreating the machine when I want to create a new template.
    6. Right click on cloned machine and select Create | Create VM Template.
    7. Run through the wizard as normal.
    8. Right click on the created template and select Properties.
    9. Select Hardware Configuration.
    10. Select Firmware.
    11. Check Enable secure boot.
    12. Click OK.

    From this point forward, everything should work fine.  As a point of clarification, on my initial tests, I did not perform steps 8-12 in the last section, but I had a pre-configured Hardware Profile and Guest OS Profile that I applied during VM deployment, but the results should be the same.

    Hopefully someone from Microsoft will read this and fix the product, but at least we have a workable solution to use in the mean time thanks to rino01.


    It would be greatly appreciated if you would mark any helpful entries as helpful and if the entry answers your question, please mark it with the Answer link.

    • Proposed as answer by Daren Daigle Wednesday, November 06, 2013 7:40 PM
    Tuesday, November 05, 2013 3:18 PM
  • Hi - I'm un-proposing the answer because while the workaround is helpful, we still have yet to hear anything official from Microsoft.

    Frankly, this seems to be a real bug and needs to be acknowledged by them.

    Keeping this thread open until then.

    Oren

    Tuesday, November 05, 2013 4:04 PM
  • As i said it's a workaround to get your servers up on Gen 2. I still hope Microsoft will release a fix for this issue.

    But it's still a solution that works so you can keep on deploying your servers using Generation 2 VM's.


    Rickard

    Tuesday, November 05, 2013 4:14 PM
  • Hi - I'm un-proposing the answer because while the workaround is helpful, we still have yet to hear anything official from Microsoft.

    Frankly, this seems to be a real bug and needs to be acknowledged by them.

    Keeping this thread open until then.

    Oren

    While I agree that this is a bug that requires fixing, I do not believe that leaving it as unanswered is going to get Microsoft's attention.  Your initial question: How can I resolve this so I can create gen2 VM's  from a template? has been answered and to not mark an answer ignores credit to those that have endeavored to help.

    The forums provide a place to seek answers to issues, which do sometimes involve workarounds to bugs that exist.

    The forums are not the appropriate place to file bugs, Microsoft has official channels for that and you now have adequate information to file that bug report if you so choose.

    In the end, it is your choice about marking an answer, but in this case I would encourage you to do so, so that others may easily find the work around, until such time as Microsoft chooses to actually fix the bug.


    It would be greatly appreciated if you would mark any helpful entries as helpful and if the entry answers your question, please mark it with the Answer link.

    Tuesday, November 05, 2013 4:16 PM
  • Excellent work rino01, I have validated your solution on my system with expected results.  I was kind of curious about your requirement to start the Hyper-V Manager from 2012, so I tried it from my 8.1 workstation and everything worked fine.  For reference here are the steps that I took:

    While the template source machine was shut down,

    I made the following modifications with the Hyper-V Manager:

    1. Right clicked on machine and selected Settings....
    2. Selected Firmware.
    3. Un-checked Enable Secure Boot.
    4. In Boot Order, moved the file option to the bottom.
    5. Clicked OK.

    I made the following modifications with Virtual Machine Manager:

    1. Right clicked on machine and selected Properties.
    2. Selected Advanced | Firmware.
    3. Un-checked Enable secure boot. (This may eventually propogate, but it was still checked in my environment)
    4. Click on OK.
    5. Right click on machine and select Create | Clone..., so that I don't have to keep recreating the machine when I want to create a new template.
    6. Right click on cloned machine and select Create | Create VM Template.
    7. Run through the wizard as normal.
    8. Right click on the created template and select Properties.
    9. Select Hardware Configuration.
    10. Select Firmware.
    11. Check Enable secure boot.
    12. Click OK.

    From this point forward, everything should work fine.  As a point of clarification, on my initial tests, I did not perform steps 8-12 in the last section, but I had a pre-configured Hardware Profile and Guest OS Profile that I applied during VM deployment, but the results should be the same.

    Hopefully someone from Microsoft will read this and fix the product, but at least we have a workable solution to use in the mean time thanks to rino01.


    It would be greatly appreciated if you would mark any helpful entries as helpful and if the entry answers your question, please mark it with the Answer link.

    I cannot seem to make this work, either.  It may be that there are some assumed steps that i am missing

    Daren Daigle

    Tuesday, November 05, 2013 6:35 PM
  • @Daren,

    Are you still getting the exact same symptoms as described in the original question?  It is possible that, in your specific configuration, that there are other items still causing issues.  As an extra measure, I just tried doing a deployment without my "Profiles" and just using the defaults from the template, with the exception of assigning a network, and everything went fine.

    Below are the PowerShell scripts for the source machine:

    $VM = Get-SCVirtualMachine -VMMServer vmmServer  -Name "2012-R2-Template" -ID "76f9f767-016e-48c8-a90b-31c484790a6f" | where {$_.VMHost.Name -eq "hypervServer.somedomain.com"}
    $OperatingSystem = Get-SCOperatingSystem -VMMServer vmmServer -ID "6f8f058d-918e-4eca-bf8d-3c2ac1d7c747" | where {$_.Name -eq "Windows Server 2012 R2 Datacenter"}
    $UserRole = Get-SCUserRole -VMMServer vmmServer   -Name "Administrator" -ID "75700cd5-893e-4f68-ada7-50ef4668acc6"
    $CPUType = Get-SCCPUType -VMMServer vmmServer | where {$_.Name -eq "3.60 GHz Xeon (2 MB L2 cache)"}
    
    Set-SCVirtualMachine -VM $VM -Name "2012-R2-Template" -Description "" -OperatingSystem $OperatingSystem -Owner "domain\account" -UserRole $UserRole -CPUCount 1 -MemoryMB 512 -DynamicMemoryEnabled $true -DynamicMemoryMinimumMB 32 -DynamicMemoryMaximumMB 2048 -DynamicMemoryBufferPercentage 20 -MemoryWeight 5000 -CPUExpectedUtilizationPercent 20 -DiskIops 0 -CPUMaximumPercent 100 -CPUReserve 0 -NumaIsolationRequired $false -NetworkUtilizationMbps 0 -CPURelativeWeight 100 -HighlyAvailable $false -DRProtectionRequired $false -SecureBootEnabled $false -CPULimitFunctionality $false -CPULimitForMigration $false -CPUType $CPUType -Tag "(none)" -QuotaPoint 1 -JobGroup a0ba0c9a-d9ef-4922-af31-f005cb7e658b -RunAsynchronously -StartAction NeverAutoTurnOnVM -StopAction SaveVM -BlockDynamicOptimization $false -EnableOperatingSystemShutdown $true -EnableTimeSynchronization $true -EnableDataExchange $true -EnableHeartbeat $true -EnableBackup $true -RunAsSystem -UseHardwareAssistedVirtualization $true 
    
    

    and the created template:

    $Template = Get-SCVMTemplate -VMMServer vmmServer -ID "39d492fa-b1c0-4188-bd51-6f47034eba3a" | where {$_.Name -eq "Windows Server 2012 R2"}
    $UserRole = Get-SCUserRole -VMMServer vmmServer  -Name "Administrator" -ID "75700cd5-893e-4f68-ada7-50ef4668acc6"
    $CPUType = Get-SCCPUType -VMMServer vmmServer | where {$_.Name -eq "3.60 GHz Xeon (2 MB L2 cache)"}
    
    $OperatingSystem = Get-SCOperatingSystem -VMMServer vmmServer -ID "ff0fe0a6-7166-44d3-8a0c-379195e2f9bb" | where {$_.Name -eq "64-bit edition of Windows Server 2012 Datacenter"}
    
    Set-SCVMTemplate -Template $Template -Name "Windows Server 2012 R2" -Owner "domain\account" -UserRole $UserRole -CPUCount 1 -MemoryMB 512 -DynamicMemoryEnabled $true -DynamicMemoryMinimumMB 32 -DynamicMemoryMaximumMB 2048 -DynamicMemoryBufferPercentage 20 -MemoryWeight 5000 -CPUExpectedUtilizationPercent 20 -DiskIops 0 -CPUMaximumPercent 100 -CPUReserve 0 -NumaIsolationRequired $false -NetworkUtilizationMbps 0 -CPURelativeWeight 100 -HighlyAvailable $false -DRProtectionRequired $false -SecureBootEnabled $true -CPULimitFunctionality $false -CPULimitForMigration $false -CPUType $CPUType -ComputerName "*" -TimeZone 20  -FullName "" -OrganizationName "" -Workgroup "WORKGROUP" -AnswerFile $null -OperatingSystem $OperatingSystem -Tag "(none)" -QuotaPoint 1 -JobGroup 3245e008-311c-40f7-9a15-a26136317ba7 -RunAsynchronously 
    
    
    

    The only thing that jumps out at me as missing is the boot order, which is moving the "File" to the bottom of the list.

    Hopefully some of this helps.


    It would be greatly appreciated if you would mark any helpful entries as helpful and if the entry answers your question, please mark it with the Answer link.

    Tuesday, November 05, 2013 7:47 PM
  • What I meant was that you have to use a Hyper-V manager from and server 2012 R2 since the 2012 / Windows 8  relase dosen't have support for Generation 2 Machines. Becuse of that you can't change the boot order since it's simply not vissible :) But I should have said as you pointed out that you can also do this with Windows 8.1 Hyper-V manager since it supports Generation 2 Machines as well.

    Rickard

    Tuesday, November 05, 2013 9:29 PM
  • Hello Darren, can you give us some more information on the failure? Since I have know ide on how much you know about generations 2 VM and SCVMM i you have to ask:

    1. What OS are you deploying to use for your template,? only Server 2012, Windows 8, Server 2012 R2 and Windows 8.1 are supported to use as generation 2 Virtual guest.

    2. When you install the server in SCVMM from your ISO did you select that it should be a Generation 2 Virtual machine?

    Could you please give us som more feedback and will do our best to help you out.


    Rickard


    • Edited by rino01 Wednesday, November 06, 2013 10:14 AM
    Tuesday, November 05, 2013 9:36 PM
  • Hello Darren, can you give us some more information on the failure? Since I have know ide on how much you know about generations 2 VM and SCVMM i you have to ask:

    1. What OS are you deploying to use for your template,? only Server 2012, Windows 8, Server 2012 R2 and Windows 8.1 are supported to use as generation 2 Virtual guest.

    2. When you install the server in SCVMM from your ISO did you select that it should be a Generation 2 Virtual machine?

    Could you please give us som more feedback and will do our best to help you out.


    Rickard


    I am using SCVM 2012 R2 against a W12R2 Hyper-v Host creating a gen2 W12R2 STD Guest and attempting to create a template.

    Thats all.

    Wednesday, November 06, 2013 1:34 PM
  • This has worked now that i have meticulously followed the instructions.  it proves that although it is a workaround, it is also a definative problem with the product.  Thank you Thomas and Rhino01

    Daren Daigle

    Wednesday, November 06, 2013 7:39 PM
  • Note: we have noticed some issues with this process IF you perform any of the actions outside of VMM.

    In order to successfully deploy a Gen2 VM based on a template with VMM, please do the following:

    1) Create your Gen2 VM (that you will be using as a template) with VMM.

    2) Install and complete the OS configuration

    3) shut down the VM

    4) Create --> VM template within the VMM console

    5) Deploy a new VM based on this template with VMM and verify it's working

    Feedback is appreciated. 

    -kn


    Kristian (Virtualization and some coffee: http://kristiannese.blogspot.com )

    Thursday, November 07, 2013 4:53 PM
    Moderator
  • Note: we have noticed some issues with this process IF you perform any of the actions outside of VMM.

    In order to successfully deploy a Gen2 VM based on a template with VMM, please do the following:

    1) Create your Gen2 VM (that you will be using as a template) with VMM.

    2) Install and complete the OS configuration

    3) shut down the VM

    4) Create --> VM template within the VMM console

    5) Deploy a new VM based on this template with VMM and verify it's working

    Feedback is appreciated. 

    -kn


    Kristian (Virtualization and some coffee: http://kristiannese.blogspot.com )


    I can't speak for everyone else, but this is precisely what I did when I encountered the error (With the exception of verifying that it was working, because it wasn't).

    It would be greatly appreciated if you would mark any helpful entries as helpful and if the entry answers your question, please mark it with the Answer link.

    Thursday, November 07, 2013 4:59 PM
  • I can confirm that. As long as you don't make mods to the template VM outside of VMM, there is no issue with the boot device.

    Michael

    Thursday, November 07, 2013 7:30 PM
  • Note: we have noticed some issues with this process IF you perform any of the actions outside of VMM.

    In order to successfully deploy a Gen2 VM based on a template with VMM, please do the following:

    1) Create your Gen2 VM (that you will be using as a template) with VMM.

    2) Install and complete the OS configuration

    3) shut down the VM

    4) Create --> VM template within the VMM console

    5) Deploy a new VM based on this template with VMM and verify it's working

    Feedback is appreciated. 

    -kn


    Kristian (Virtualization and some coffee: http://kristiannese.blogspot.com )


    I can't speak for everyone else, but this is precisely what I did when I encountered the error (With the exception of verifying that it was working, because it wasn't).

    It would be greatly appreciated if you would mark any helpful entries as helpful and if the entry answers your question, please mark it with the Answer link.

    AS Thomas said.

    That what everyone have done, but it's dosen't work. The only way I got it to work was to change the boot order thru Hyper-v Manger, after that it worked.

    So I may work for you, but not for all as you can see in this thread.


    Rickard

    Thursday, November 07, 2013 10:50 PM
  • I just tested in my lab and found no needed to enable/disable the secure boot

    What you need to do is just shutdown the VM you want to make as a VM template, and navigate Hyper-V manager,
     change the VM boot order and put the "Hard Drive" to be the first instead of the "File".

    Done deal, then just follow the normal process to make the VM template,
     and everything works perfect now


    Ricky's Blog



    • Edited by Ricky Gao Friday, November 08, 2013 5:45 AM
    Friday, November 08, 2013 5:42 AM
  • Finally, thanks to the rino01 from here, and based on his found, I figured out the easiest fix as below:

    ALL you need to do is shutdown the VM you want to make as a VM template, and navigate Hyper-V manager, change the VM boot order and put the "Hard Drive" to be the first instead of "File"

    You can find all of my test in here


    Ricky's Blog



    • Edited by Ricky Gao Friday, November 08, 2013 7:28 AM
    Friday, November 08, 2013 7:21 AM
  • Glad to be able to help out.


    Rickard

    Friday, November 08, 2013 8:38 AM
  • The workaround of Rino01 did not solve the issue in my environment. I used the following PowerShell command (from the SCVMM shell) to fix this boot issue: get-scvmtemplate -name "Windows Server 2012 R2 template" | set-scvmtemplate -FirstBootDevice “SCSI,0,0”

    Where the first 0 is the SCSI bus ID en the second 0 is the LUN ID of the boot disk.


    Proud blogger at www.hyper-v.nu

    Friday, December 13, 2013 12:29 PM
  • The workaround of Rino01 did not solve the issue in my environment. I used the following PowerShell command (from the SCVMM shell) to fix this boot issue: get-scvmtemplate -name "Windows Server 2012 R2 template" | set-scvmtemplate -FirstBootDevice “SCSI,0,0”

    Where the first 0 is the SCSI bus ID en the second 0 is the LUN ID of the boot disk.


    Proud blogger at www.hyper-v.nu

    the fix actually is the same, just change the VM boot order in Hyper-V manager from "File" to "SCSI"

    and the easiest way to fix this is change the boot order on your SOE vm before you make it as the VM template, see here

    BTW, I just verified with the latest released "Update Rollup 2 for System Center 2012 R2 Virtual Machine Manager", the issue is still there, see my test here


    Ricky's Blog



    • Edited by Ricky Gao Thursday, April 24, 2014 10:31 PM
    Wednesday, January 29, 2014 2:35 AM
  • The workaround of Rino01 did not solve the issue in my environment. I used the following PowerShell command (from the SCVMM shell) to fix this boot issue: get-scvmtemplate -name "Windows Server 2012 R2 template" | set-scvmtemplate -FirstBootDevice “SCSI,0,0”

    Where the first 0 is the SCSI bus ID en the second 0 is the LUN ID of the boot disk.


    Proud blogger at www.hyper-v.nu

    the fix actually is the same, just change the VM boot order in Hyper-V manager from "File" to "SCSI"

    and the easiest way to fix this is change the boot order on your SOE vm before you make it as the VM template, see here

    BTW, I just verified with the latest released "Update Rollup 2 for System Center 2012 R2 Virtual Machine Manager", the issue is still there, see my test here


    Ricky's Blog



    8th May 2014: A KB2955362 article just came out for this bug, which contains the workaround we discovered early. No real hotfix yet still

    Ricky's Blog

    • Proposed as answer by jeshriver Thursday, September 11, 2014 5:11 PM
    • Unproposed as answer by jeshriver Thursday, September 11, 2014 7:32 PM
    Thursday, May 08, 2014 10:30 AM
  • Here is a procedure that works for me, I think it will work for you:

    Creating a Generation 2 Virtual Machine and Template

    A generation 2 VM can only be created with SCVMM 2012 R2 or Hyper-V on a Server 2012 R2 server or Windows 8.1 workstation. Generation 2 VM’s can only be placed on Server 2012 R2 or Windows 8.1 Hyper-V Hosts.

    1. In SCVMM 2012 R2, select “Create Virtual Machine”.
    2. Select “Create the new virtual machine with a blank virtual hard disk”.
    3. Click “Next”.
    4. Fill in the VM name and select Generation 2.
    5. Click “Next”.
    6. Select the appropriate resources for the VM: processor, memory (needs to be sufficient to create the Ram Disk during OS installation), virtual DVD (for OS installation), network connection, etc.
    7. Click “Next”.
    8. Click “Next”.
    9. Select the appropriate Server 2012 R2 Hyper-V host for placement.
    10. Verify that the selected host meets the requirements.
    11. Click “Next”.
    12. Click “Next”.
    13. Ensure the appropriate virtual network is selected.
    14. Click “Next”.
    15. Select the appropriate options.
    16. Click “Next”.
    17. Confirm all settings.
    18. Click “Create”.
    19. Once creation is completed, open the Hyper-V manager on the Host server.
    20. Select the VM and click on “Settings”.
    21. Select “Firmware” and change the boot order so that the DVD Drive is at the top of the order.
    22. Click “OK”.
    23. Start the VM.
    24. Press any key to boot to the DVD Drive and perform the OS installation.
    25. Logon to the VM perform any updates or customizations.
    26. Shut down the VM.
    27. Select the VM and click on “Settings”.
    28. Select “Firmware” and change the boot order as follows:
      a. HDD
      b. efi file
      c. DVD 
    29. Click “OK”.
    30. In SCVMM 2012 R2, right-click the VM.
    31. Select “Create”, Create VM Template”.
    32. Click “Yes”.
    33. Enter an appropriate name for the VM Template.
    34. Click “Next”.
    35. Click “Next”.
    36. Select “Admin Password”.
    37. Select “Specify the password of the local administrator account”. (enter an appropriate password).
    38. Click “Next”.
    39. Click “Next”.
    40. Select the appropriate library path for templates.
    41. Click “OK”.
    42. Click “Next”.
    43. Click “Create”.
    44. You now have a fully functional VM template.

    James Shriver


    Jes Shriver ITS3 Olympic COllege


    • Edited by jeshriver Thursday, September 11, 2014 5:23 PM add detail
    • Proposed as answer by jeshriver Thursday, September 11, 2014 7:32 PM
    Thursday, September 11, 2014 5:11 PM
  • that worked for me.

    http://support.microsoft.com/kb/2955362

    Monday, October 20, 2014 11:11 AM
  • Yes it works. I'm just wondering why this bug isn't fixed yet. I just checked SCVMM build 3.2.7672.0 and it's still there.

    The bug was first described in Dec 2013 (or maybe even earlier elsewhere): http://blog.itvce.com/?p=4962

    10 months later, and no time to fix it? a pity... :-( Maybe someone of the program managers or engineers reads this and could take care of it. I do not want to open a support case. Should I...?

    Tuesday, October 28, 2014 7:27 AM
  • get-scvmtemplate -name "YourGen2TemplateName" | set-scvmtemplate -FirstBootDevice “SCSI,0,0”
    Tuesday, March 24, 2015 8:27 AM
  • As posted above, this fixed the issue.  Close the thread.

    https://support.microsoft.com/en-us/kb/2955362

    get-scvmtemplate -name "YourGen2TemplateName" | set-scvmtemplate -FirstBootDevice “SCSI,0,0”

    Monday, May 11, 2015 3:31 PM
  • Hate to say it but I cannot get any of the suggestions above to work.  No matter what I try, I get Error 13206 - cannot locate boot or system volume.

    It either errors right away - or after the sysprep portion completes.

    If I turn the VM on, it boots up fine into Windows (Server 2012R2). 

    • Proposed as answer by DarylP123 Wednesday, April 13, 2016 3:22 PM
    • Unproposed as answer by DarylP123 Wednesday, April 13, 2016 3:22 PM
    Monday, December 21, 2015 7:40 PM
  • These solutions are not working for me either. I checked a few things and the symptoms are similar, but not exactly the same.

    • FirstBootDevice of template is already set to SCSI,0,0
    • Created a VM from the template throws the same error
    • After VM creation fails, the only boot device on the VM is the virtual disk
    • Powering on the VM boots into the OS as if it was never sysprepped
    • There is no network adapter attached to the VM
    • Manually adding/configuring after this point throws no errors

    • Edited by DarylP123 Wednesday, April 13, 2016 7:38 PM
    Tuesday, April 12, 2016 3:24 PM
  • I just ran into this situation myself after installing a new VMM server and trying to migrate templates.

    Installed VMM 2012 R2, Applied update rollup 9.  Exported a Server 2012 r2 template from our old vmm server (where deployment works) and imported it into our new one.  Deployment failed with "SCVMM error : 23351 : The input string “” for the FirstBootDevice parameter cannot be parsed and may be invalid."

    I found the proposed solution and tried running Get-SCVMTemplate -Name 'TEMPLATEXXX'  | Set-SCVMTemplate -FirstBootDevice 'SCSI,0,0'

    This got rid of the error 23351, but deployment still fails saying it is unable to configure the VM.  On the target hyper-v host the VM is created, and vhdx file is copied, but checking the settings shows that no boot device is configured.  Manually starting the VM works however and it boots normally, and sets it to boot from .efi file. 

    Interestingly, on the old VMM server the template shows nothing for the FirstBootDevice value yet deploys properly.

    Thursday, May 05, 2016 10:56 PM
  • Is there a proper fix already? I have the latest updates installed in our VMM 2016 setup, but still after all this time we have the same issues. Without additional work we are still unable to unattended roll out a template. This is rediculous. Any news from MS? This can't be unnoted by them for sure?
    Saturday, January 21, 2017 10:15 AM
  • It seems that there is no clear solution yet.

    We are on SCVMM 2012 R2. The fix proposed in KB2955362 does not help. Although we use that script to set the boot device of the VM template of a generation 2 VM template, error 23352 occurs for an unknown reason when trying to create VMs from it.

    According to the last post from Robert Gijsen this issues still occurs in SCVMM 2016.

    This already has cost us a lot of time since we irregularly could not create working VM templates and still don't know the reason and no reliable workaround or at least a precise error message is available.

    Therefore I also posted on uservoice.com: https://systemcentervmm.uservoice.com/forums/280803-general-vmm-feedback/suggestions/20346088-fix-error-23352-when-creating-generation-2-vm-temp

    Monday, July 31, 2017 10:58 AM