I am currently dual booting Windows 8.1 and Ubuntu 14.04. My hard drive is split into two partitions: one containing windows (~350 GB) and one containing Ubuntu (~150 GB), in that order. I would like to shrink my windows partition and expand my Ubuntu partition. However, this would require shrinking the end of my windows partition and then expanding the beginning of my Ubuntu partition. I'm a fairly new user to Ubuntu/Linux (long time Windows user) and I recall reading before that moving the beginning of a windows partition is dangerous and shouldn't be done. Does this hold true for Linux/Ubuntu or should I be fine?
答案1
Everything in a partition is identified relative to the start point of the partition. Thus, moving the start of a partition will most likely involve modifying more data in the partition than moving the end point of a partition. The more data you modify, the greater the risk of an error creeping in because of a bug, an I/O error, a power failure, etc. Note that the data being moved is filesystem data structures, which are unusually sensitive -- if a bit gets flipped in, say, an MP3 file that you're copying, you might hear a glitch in playback for one file; but if a bit gets flipped in a critical filesystem data structure, you could lose access to a whole file, a whole directory tree, or even the entire filesystem. Thus, if at all possible, you should avoid moving the start point of a partition.
That said, partition moves involving the start point of a partition usually succeed just fine; I just wouldn't go so far as to describe them as being safe.
Note that the extra concern with Windows partitions is a result of BIOS-mode boot loader code. As MoonSweep says, GRUB doesn't work the same way and so Linux partitions aren't as susceptible to these problems. Furthermore, EFI-mode boot loaders for Windows also don't rely as much on absolute partition locations, so you're more likely to get away with such moves of NTFS if the computer boots using EFI than if it boots using BIOS.
答案2
It should be fine. AFAIK, unlike Windows bootloader, Grub (you did install it in the MBR, right ?) doesn't rely on some record of the starting position of a partition to find it, but it uses its ordering on the disk (example: "third partition on the first disk"). That's how it finds its menu files, splash screen, etc (look at /boot/grub/grub.cfg
), so as long as you don't change the partitions order it should work. Nevertheless, always backup your important files before touching the partitions !