当交换分区正好位于 Linux 分区 (EXT4) 之后时,如何增加 Linux 分区 (EXT4) 的大小而不丢失数据?

当交换分区正好位于 Linux 分区 (EXT4) 之后时,如何增加 Linux 分区 (EXT4) 的大小而不丢失数据?

我有问题,如果有人能帮助我,我将不胜感激。

1:

fdisk -l:

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d89a5

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1        88086528   625141759   268527616    5  Extended
/dev/sda2   *        2048    80273407    40135680   83  Linux
/dev/sda4        80273408    88086527     3906560   82  Linux swap / Solaris

Partition table entries are not in disk order

2:

df -h:

Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                   38G   35G  1.1G  98% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   397M  968K  396M   1% /run
/dev/disk/by-uuid/bcc39c18-9057-488c-a281-68377e15ce7f   38G   35G  1.1G  98% /
tmpfs                                                   5.0M     0  5.0M   0% /run/lock
tmpfs                                                   1.6G  1.4M  1.6G   1% /run/shm

3:

mount:

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=505836,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=405884k,mode=755)
/dev/disk/by-uuid/bcc39c18-9057-488c-a281-68377e15ce7f on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1593060k)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)

我读过“如何在 debian 上扩展 ext4 分区大小”一文,其中 Stéphane Chazelas 提出了一个很好的解决方案,方法是使用fdisk -u /dev/sda。但正如您所看到的,在 Linux 分区 (/dev/sda2) 之后放置了交换分区,这意味着我无法通过在末尾添加更多空间来扩展 sda2,因为它将与交换分区重叠。

现在是否可以通过与交换重叠来扩展 sda2 并添加更多空间,然后在 sda2 结束之后恰好开始交换!?换句话说,交换将向前移动,然后 sda2 可以根据需要增长,因此我们可以在它之后开始交换!如果完全错误,有人可以帮助我吗?

谢谢

答案1

第一的,备份一切,就像您在处理分区时应该经常做的那样。

关闭交换swapoff /path/to/swap_partition(可选),使用 GPartEd 启动 GPartEd LiveCD 或其他实时发行版。删除交换分区,sda2根据需要扩展分区,并根据需要在剩余空间中创建新的交换分区。

相关内容