移动交换分区

移动交换分区

如何将 Debian 7 中的交换(sda5)分区从主 SSD 磁盘移动到第二个 HDD?

lsblk 输出

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   0 931.5G  0 disk 
├─sdb1   8:17   0     1K  0 part 
├─sdb5   8:21   0  93.2G  0 part /home
├─sdb6   8:22   0  93.1G  0 part /tmp
└─sdb7   8:23   0 745.2G  0 part /var
sda      8:0    0  29.8G  0 disk 
├─sda1   8:1    0    28G  0 part /
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0   1.9G  0 part [SWAP]
sr0     11:0    1  1024M  0 rom  

答案1

“正确”地执行此操作有点棘手,因为它需要缩小 /var 并创建一个新分区,然后将其格式化为交换分区,然后挂载它(即修改 /etc/fstab)。然后,您可能要通过删除 sda2 和 sda5、扩大 sda1 并调整根文件系统的大小来回收 /dev/sda5 上的空间。

一个更简单但性能不太好的替代方案是在 /var 中创建一个交换文件并将其挂载到环回设备上,这意味着您不需要缩小 /var。下面是一个如何为 Ubuntu 创建交换文件 - 与 Debian 相同。总结 -

(以 root 身份)-

dd if=/dev/zero of=/var/swap.file bs=4096 count=102400   (makes a swap file, adjust count to make it bigger)
mkswap /var/swap.file   (to format the swapfile)
add "/var/swapfile   none swap sw 0 0" to /etc/fstab and remove the old entry
swapoff -a; swapon -a     to make swap take affect

要回收 /dev/sda 上的空间,请备份您的系统。这很危险。

从启动盘启动

fdisk /dev/sda
delete sda2 and sda5
recreate sda1 with identical start, boot flag and filetype.  Change the end size.  (You may be able to use an alternative program to do this)
reboot
resize2fs /dev/sda1   (may be resize4fs depending on OS)

完毕。

相关内容