Been getting some questions lately about multiple partitions.
“How do I get the partition page in MDT?”
“My task sequence is perfect, except it does not work on uEFI machines?”
“Why is the system partition 499MB?”
And I wanted to write down all the reasons why multiple partitions (drives) are bad, bad, bad…
Drive C: should be as close to 100% as possible.
What do I mean when I say multiple partitions? By default if you do nothing in Windows and MDT, these systems will create multiple partitions anyways, reserving 350MB to 499MB for system files. 128MB reserved for uEFI, and any additional partitions for Recovery. All these small partitions are hidden, and most users don’t know they are there. They are necessary for systems like Bitlocker, where the main C: OS Partition is encrypted, and can’t be booted without the boot loader on an unencrypted partition.
Note: Microsoft refers to the partition that contains the Operating System as the “Boot” partition, and the partition with the Boot loader as the “System” partition. Yea, I don’t get it either. http://windows.microsoft.com/en-us/windows/what-are-system-boot-partitions
But beyond these smaller partitions, some users like to partition their disks down even further, for example taking a 1TB disk and allocating only 500GB for the OS C:, and the remainder as a Data D: partition.
*This*, the creation of large unhidden partitions is something I generally do not recommend. They are just more trouble than they are worth.
Note, I’m not talking about adding multiple *Disks*, just talking a single disk and making multiple partitions (Drives).
- Stick with well-known and proven solutions – http://blogs.technet.com/b/fdcc/archive/2010/10/06/sticking-with-well-known-and-proven-solutions.aspx
- Some folks partition drives just because the option is available. The left-brain dominant technicians who neatly organize their drawers at home with sectionals from the Container Store think “Why shouldn’t my data be neatly partitioned too?”
- What about Dual-Booting OS’es? Don’t Dual boot, put your secondary OS’es in a virtual machine. Windows 8 now has excellent Hyper-V Support. Yea!
- Some folks believe that creating a data partition provides a performance boost. It does not, in fact on spinning disks, it can be slower. If you have a legitimate performance requirement, use a 2nd Physical disk.
- Some folks have teams that managed the OS and teams that manage applications. They don’t like their data to mix. Can’t everyone just get along?
- Putting your data on a separate partition is not a backup process.
- If they really want two partitions, tell them to use Bitlocker and they’ll get an extra special hidden partition to fill the void.
- Some faithful Dan Akroyd and Rick Moranis following folks still believe in Ghost and decide that it’s easier to refresh a machine if the user profiles are on a separate partition than the system drive. Now we have the power of MDT, USMT and ConfigMgr! However this *Breaks* all kinds of scenarios, like OS Upgrade http://support.microsoft.com/kb/949977
- Perhaps you have a program that is hard coded to use D:\ (Bad Developers!) Use the Subst.exe tool to map C: to D:!
- The migration could be simple and fast with USMT hardlink option. The two partitions is the bad practice which prevents us to use it in many cases. The drive size the customers usually used with XP is too small for Windows 7 and we have to re-partition. And then we lose the hardlink option…
- All the cool kids are using single partitions. And is recommended practice of Microsoft Consulting Services.
However, the biggest problem is something I call “Partition Fragmentation” From Wikipedia:
In computer storage, fragmentation is a phenomenon in which storage space is used inefficiently, reducing capacity or performance and often both.
Many times I have come across user computers that were setup with C: OS and D: Data partitions, and one got full! Resizing is not an easy thing to do. And just when people *think* they have the correct sizes setup, their use cases change, and they don’t have enough space on the C: too much on D: or vise versa. Keep a single C: Partition, and you won’t have to manage how much free space you have on both drives, just one drive.
Rule of thumb: if you don’t have a very *clear* understating of what size the 2nd partition (D:) should be, then partition fragmentation is just waiting to happen.
Of course, for every rule… there is always an exception. One of the few really good *technical* reasons for creating multiple large partitions is for programs like “Deep Freeze” that require this configuration. If the system requires this, OK.
The MDT LiteTouch Way
By default the task sequence in MDT will create a single 100% partition for the OS C: on disk 0. If you don’t add any additional partitions to the configuration, then the MDT ZTIDiskPart.wsf script will also create the correct BIOS MBR and uEFI GPT partitions required for booting! Yea! Super easy!
If you create extra partitions in the “Format and Partition” step in MDT for disk 0, then MDT will *NOT* create any extra system partitions necessary. If you create the partitions by hand for BIOS, then it might not work for uEFI. Best to leave it as a single partition.
Also, if you are creating partitions by hand, you might forget some of the built in best practices build into MDT. You might look at the default partition configuration in Disk Management in the OS, and see that the default System Partition is 499MB, and assume that it’s a rounding error, and should be 500MB. No, it’s *actually* 499MB! Windows backup utilities have unique space requirements if the System Partition is 500MB or greater, so we specifically chose 499MB so we don’t block Windows backup. Yea, it’s the little things like that that can cause problems, and why I recommend using well-known and proven solutions.
Wizards for Disk Part
Why doesn’t MDT supply methods for dynamically (or manually) choosing or setting up the partition?
Because it’s hard!
First of all, you could modify the unattend.xml file to force the disk partition dialog to appear during WInPE setup, however, that’s not the way MDT works, by the time we call into Windows Setup, the partition(s) are already created. There is nothing to create!
I actually created about 3 or 4 mock ups of partitioning dialogs over the years, and each one had problems, from the UI look and feel, to the lag presented when calling diskpart in the background.
The closest I got was to create the disk configuration wizard page, as seen in my post How MDT Litetouch does Partitioning
As for the ability to target the specific partition, there were too many moving parts that could cause MDT to fail, we couldn’t take the risk.
To summarize: Drive C: 100% of remaining space