Short Answer
Yes, your plan is workable
Medium Answer
There's no such thing as "safe" (in an absolute way) when dealing with partition-resizing operations. Your plan, in particular, will necessarily involve moving the start point of at least one partition, and that's always a bit risky. Be sure to have adequate backups before moving or resizing partitions.
Long Answer
Instead of expanding the current partition, you may want to consider creating a separate /home
partition for use in the space you create when you shrink the Windows partition, as described here:
How to Create a seperate partition for home after accidentally installing ubuntu under single / partition
This will enable you to skip at least one round of partition-moving/resizing-from-the-start (assuming Ubuntu comes after Windows now), and it provides several other advantages.
You might even consider using a Logical Volume Manager (LVM) setup, at least for new space like your /home
partition. The immediate advantage of LVM for you is that you can expand it without moving anything. For instance, suppose you end up doing three rounds of shrinking the Windows partition and moving the space to Ubuntu. With LVM, in each of these steps, you would:
- Shrink the Windows partition
- Create a new partition in that space
- Add that new partition to the LVM
- Expand the
/home
logical volume within the LVM
Steps #2-4 are all quick and low in risk, compared to moving and resizing a conventional partition, which is much slower and riskier.
The drawback to this approach is that the resulting filesystem will be fragmented, which will degrade performance, at least if it's on a conventional hard disk. This shouldn't be a big deal if your LVM consumes just a couple of partitions, but it could be a problem if you go through half a dozen rounds of resizing and re-allocating.
Another option you might look into, at least if you know you want to re-allocate a significant chunk of space right away, is to back up all the files you want to move to another physical disk, delete them from the original, do your re-partitioning in one big chunk, and then restore the files from the backup. This has the advantage of doing it all at once, which will have benefits whether you use LVM or conventional partitions. If you don't currently have enough backup storage to handle this task, GO GET IT NOW!!!! Backups are NOT a luxury.