Jump to content
Welcome to our new Citrix community!
  • 0

Convert Os layer from MBR to GPT


Clement Thuraisamy1709154286

Question

Hi, I’m trying to convert the OS layers for win10 and win2019 from MBR to GPT so I can use EFI. 
 

i tried using the window tool “mbr2gpt” and after validation it fails “no operating system found” or “Os partition found”. 
 

There is no much documentation on Citrix around the actual process, other than build the system in MBR and add version to convert to UEFI. I have attempted and had no success. 
 

ELM Version 2001
 

any suggestions or support on this? 
 

thank you,

CT

Link to comment

23 answers to this question

Recommended Posts

  • 0

I havent done it so I checked with the developers.  We are creating the disk and we will make it correct for the destination firmware.  So if you are using vSphere you would create a vmware template that defines the machine as UEFI and you remove the disk and assign it to your connector.  Its always bets to start with a clone of your gold image for that template.

 

If its HyperV if you make a template of a GEN2 VM it will also make it UEFI with the right disk type.

 

You can use bios for packaging and then only do this in the platform layer or if its new you can do it in an OS layer like your trying to do.

 

Remember you need to enable compositing engines on your connector.  And it sounds like we are really only now including both UEFI and BIOS hardware drivers in the image.  Then whichever you create it will work.

 

Hope that helps.

Link to comment
  • 0

Thanks Rob for your prompt reply.

We are using Citrix App Layering on Vsphere with PVS.

I'm still not clear on the process so pls bare with my questions. :5_smiley:

 

I have already created a VM template with UEFI defined but did not install OS. Then I pointed the template in ELM under  Vsphere defined connector  and also removed the disk from template. If I understand, this should help, when a new version is created and machine boot with UEFI enabled, correct?

 

But how do I convert by OS layer from MBR to GPT? if I don't the version layer does not boot into the OS.

Am, I missing something?

 

Do I need compositing enabled? I noticed enabling that requries extra permission in vpshere "revert snapshots"

 

Thanks again 

CT

 

 

 

Link to comment
  • 0

I did read that today when I was searching around UEFI issue on layering but I thought PVS support UEFI, I do see the option in PVS (7.15 CU3).

Are you saying if we published an image with UEFI enabled to PVS, it will fail?

How about MCS?

 

But please help me on how to get it working on Vsphere? My focus is for Win10 now. 

Can I use OS version and update OS layer to GPT? Then change the bios to UEFI? 

 

 

Link to comment
  • 0

Yes according to the developers if you publish to vsphere using a compositing engine when we publish it the disk will work if its configured as uefi in the Vmware template you specify in the connector.  So you dont have to convert anything its the vmware template that’s important 

 

if you cant get it. Open a ticket and support should help.  If i have time this week i will try as well. 

Link to comment
  • 0

Hi CT,

 

OK I got a chance to do this today.  Here is what i tested:

  1. I clones my normal VMware template used to publish MCS images
  2. I edit it and change the boot options firmware to EFI
  3. image.thumb.png.3506e50eafabaa7bb718e795e6243b10.png
  4. I then created a new connector and enabled composting engines and chose this new VMware Template to use with the connector.
  5. I then created a new platform layer for MCS UEFI machines using the new connector.
  6. When the packaging machine was built it was UEFI and the disk was set to GPT
  7. image.thumb.png.f500b8359b94412b6ba5dba6fb6e4301.png
  8. I installed the VDA, joined the domain, rna ngen 
  9. I then used this platform layer to create an MCS master image
  10. I used the same vmware template in the image template
  11. I then published an image and my master image is now UEFI and GPT
  12. image.thumb.png.5efbf365562326722e2417af57c3e5ee.png

So in the end its pretty easy.

 

I will be writing a blog if I do figure out how to do it for PVS.  But i need to find the time for that.

 

Good Luck

 

Rob

Link to comment
  • 0

Thanks Rob, that’s awesome. 
Sorry, I did not get a chance to test yesterday, had back to back meetings. 
 

I will try the same on pvs today if time permits and share my feedback. Still waiting on getting my VMware permission “revert snapshot” as its required once offload composing is enabled. 
If I get it working on PVS, I can share screenshoot and info to help with your blog. 
 

Couple questions. 
Does offload composition supported and work on esx 5.5?

I am assuming you need the latest OS machine tools installed? 
 

thanks again Rob for your assistance! 

Link to comment
  • 0
15 hours ago, Rob Zylowski1709158051 said:

Hi CT,

 

OK I got a chance to do this today.  Here is what i tested:

  1. I clones my normal VMware template used to publish MCS images
  2. I edit it and change the boot options firmware to EFI
  3. image.thumb.png.3506e50eafabaa7bb718e795e6243b10.png
  4. I then created a new connector and enabled composting engines and chose this new VMware Template to use with the connector.
  5. I then created a new platform layer for MCS UEFI machines using the new connector.
  6. When the packaging machine was built it was UEFI and the disk was set to GPT
  7. image.thumb.png.f500b8359b94412b6ba5dba6fb6e4301.png
  8. I installed the VDA, joined the domain, rna ngen 
  9. I then used this platform layer to create an MCS master image
  10. I used the same vmware template in the image template
  11. I then published an image and my master image is now UEFI and GPT
  12. image.thumb.png.5efbf365562326722e2417af57c3e5ee.png

So in the end its pretty easy.

 

I will be writing a blog if I do figure out how to do it for PVS.  But i need to find the time for that.

 

Good Luck

 

Rob

Just to update.

I tested on Server 2019 after adding a template with EFI and enabling Offload composting on vmware 5.5 and it works as expected.  Machine in vmware booted up in EFI :)

Link to comment
  • 0

 Yes that is true there is no way to output a UEFI VDA on PVS directly.  We think this might work for vSphere but its not very well tested at the moment.

  1. Create an UEFI OS Layer on vSphere using Offload Compositing.
  2. Create an UEFI Platform Layer on vSphere using Offload Compositing and do PVS Target Device installation.
  3. Publish a Layered Image that includes the vSphere UEFI OS and Platform Layers created in steps 1 and 2 (Use Sysprep Type of 'Not Generalized'):
    1. Image needs to be published to Hyper-V (NOT vSphere) using Offload Composting and Gen2/VHDX settings.  This is the only way to create a UEFI disk that is in the VHDX format.
  4. Add disk to PVS:
    1. Copy the VHDX that was created in step 3 to the PVS store.
    2. Remove any extra periods in the disk name (other than the one before the vhdx extension).
    3. Import VHDX as vDisk using the PVS GUI.
    4. Change vDisk state from "Private" to "Standard" in properties.
    5. Create PVS template from corresponding Gold Image on vSphere that defines EFI as the boot type
Link to comment
  • 0

That script (which I wrote)  runs on a pvs server and obviously its taking a VHD and using a utility to convert it to VHDX but its already a VHD on the PVS server.  So you Could publish an image to vSphere which would be a vmdk and use a script and conversion utility to convert it to a VHDX then copy that to your PVS store.  It would take a different script and you would have to setup a server to act as a scripting host to install the app layeirng agent on so when you publish to vSphere you can kick off the script or you can just use another process for that.  But it would be a lot of development effort.  If you just set up a hyperv server even if thats a virtual machine on ESX then it would be much easier.

Link to comment
  • 0
On 2/19/2020 at 6:03 PM, Rob Zylowski1709158051 said:

Hi CT,

 

OK I got a chance to do this today.  Here is what i tested:

  1. I clones my normal VMware template used to publish MCS images
  2. I edit it and change the boot options firmware to EFI
  3. image.thumb.png.3506e50eafabaa7bb718e795e6243b10.png
  4. I then created a new connector and enabled composting engines and chose this new VMware Template to use with the connector.
  5. I then created a new platform layer for MCS UEFI machines using the new connector.
  6. When the packaging machine was built it was UEFI and the disk was set to GPT
  7. image.thumb.png.f500b8359b94412b6ba5dba6fb6e4301.png
  8. I installed the VDA, joined the domain, rna ngen 
  9. I then used this platform layer to create an MCS master image
  10. I used the same vmware template in the image template
  11. I then published an image and my master image is now UEFI and GPT
  12. image.thumb.png.5efbf365562326722e2417af57c3e5ee.png

So in the end its pretty easy.

 

I will be writing a blog if I do figure out how to do it for PVS.  But i need to find the time for that.

 

Good Luck

 

Rob

Hey Rob,

Hope all is well.

 

I have been do some testing with MCS on vSphere and I get mixed results. So I need some clarifications, hope you can answer them.

 

As I’m already have layers and images that were built using BIOS.

When moving to UEFI, do I need to have 2 vSphere connectors (one with UEFI defined template used by PL layer, second with no template defined used by OS and App Layers)?

 

Reason being: My MCS image worked fine when I used vSphere connector to update PL layer but when I used the same connector to updates OS or App layers, I’m observing issue with updating MCS catalog or creating new ones.

 

Thoughts?

 

Thanks

Clement

 

Link to comment
  • 0
3 minutes ago, Rob Zylowski1709158051 said:

You dont need to update your layers created as bios. Just use the UEFI platform layer when you publish. Include any layer you need to.   Make sure the publising connectors includes a Vmware template turning on UEFI.  

 

thanks Rob.

Yes publishing connector have UEFI enabled.  

So when I update my OS layer or app layer for patching or app upgrades, it will be bios. Just platform layer will use UEFI, correct?

Does the same apply if I want to start using paravirtual over logic SAS?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...