First, there are several documents on EFI-mode booting you may want to read for background information on that subject:
You don't need to read all of those, but at least skimming one or two should help you understand the boot process a lot better.
As to LVM, it does not technically help you when you resize partitions. If anything, it makes resizing partitions harder. What LVM does, though, is that it enables easier management of logical volumes, which take the place of (most) Linux partitions. That is, in a non-LVM setup you might have:
- An EFI System Partition (ESP)
- An Ubuntu root (
/
) partition
- An Ubuntu
/home
partition
- An Ubuntu
/var
partition
- A Windows
C:
partition
If you need to resize either of the Ubuntu partitions, or add a disk and use it to increase the size of /home
, or do any of many other advanced partition management tasks, you'd need to use risky and time-consuming partition management tools. In particular, you might need to move partitions that you don't want to resize, or move the start point of a partition, which is risky. For instance, if you wanted to shrink /var
and increase the size of root (/
), you'd need to move the start point of /var
(which is slow and dangerous), move /home
(which is slow and dangerous), and increase the size of root (/
) (which is relatively quick and less risky). Some tasks can't be done at all with this type of setup. With LVM, you would instead have:
- An EFI System Partition (ESP)
- An Ubuntu
/boot
partition
- An LVM partition (aka "physical volume"), which contains:
- An Ubuntu root (
/
) logical volume
- An Ubuntu
/home
logical volume
- An Ubuntu
/var
partition
- A Windows
C:
partition
The partitions in this case are just as difficult to manipulate as the partitions in the preceding case; but the logical volumes can be easier to manipulate. Shrinking a logical volume is as difficult as shrinking a partition; but if there's space within the LVM partition, you can grow a logical volume very easily, without having to move any other logical volume. For instance, to take space from /var
and give it to root (/
), you could shrink /var
from its end (which is faster and safer than shrinking it from its start) and increase root (/
) (which is quick and relatively safe), with no need to touch /home
at all. This is much faster and safer than doing the equivalent without LVM, as outlined earlier. The downside is that root (/
) will likely then be fragmented, much like a file whose size has increased since its creation. This can degrade performance on conventional spinning-disk hard disks, but is unimportant on SSDs.
You can also add another physical disk and expand a logical volume so that it exists in two (or more!) physical volumes. This makes expanding an existing system with new disk space a snap, and if you have multiple disks when you install the OS, you can create a filesystem, like /home
, that should be one big space, so that it's larger than any one disk. (You can do something similar with RAID, but LVM is more flexible in how space can be allocated. RAID has other advantages.)
Thus, LVM does not help you in your current task, since what you want to do is to take space from your LVM partition and give it to a new Windows partition. LVM actually makes that task harder, since you must shrink both one or more logical volumes and the physical volume (LVM partition). LVM might be helpful in the future, though, if/when you add another disk to your setup or if/when you need to adjust the sizes of logical volumes or add new logical volumes.
For more on LVM, see:
Which is actually what lead me to post this Question because I'm trying to create a new partition so I can reinstall Windows - as I unintentionally removed it's partition when I was installed Ubuntu.
– Spencer Hill Aug 22 '17 at 00:37