将交换从 sdb1 (SATA) 移动到 sda* (SSD)

将交换从 sdb1 (SATA) 移动到 sda* (SSD)

这是我当前的分区设置:

sda           111.8G
├─sda1 ext4     190M /boot
├─sda2            1K
└─sda5 ext4   111.6G /
sdb           465.8G
└─sdb1 swap    14.9G [SWAP]

Disk /dev/sda: 120GB
Number  Start   End    Size   Type      File system  Flags
 1      1049kB  200MB  199MB  primary   ext4         boot
 2      201MB   120GB  120GB  extended
 5      201MB   120GB  120GB  logical   ext4

Disk /dev/sdb: 500GB
Number  Start   End     Size    Type     File system     Flags
 1      1049kB  16.0GB  16.0GB  primary  linux-swap(v1)

我想将交换分区从 sdb (SATA) 移到 sda (SSD),因为我想要更快的交换分区。如何删除现有交换分区,以及如何在 sda 上创建新交换分区 - 应该是 sda3、sda4 还是 sda6?调整已安装 Ubuntu 的 sda5 的大小是否安全,以便有足够的空间用于新的交换分区?您建议我如何做?

(我计划将所有 sdb 使用一个分区作为 sdb1 用于备份和符号链接存储。)

谢谢。

答案1

其他用户请注意:此答案仅针对此特定问题(此 OP)。您必须针对其他情况修改分区等。


编辑:在这种情况下,解决方案是使用交换文件而不是交换分区。


在这种情况下,您可以将 SSD 视为 HDD(并准备在 SSD 出现故障时更换它)。

  • 备份整个 SSD(如果出现问题,则拥有当前版本)。

  • 从另一个驱动器(例如 Ubuntu 桌面 USB 驱动器)启动实时会话。

  • 关闭所有使用的分区,并卸载 ext4 分区

    sudo swapoff -a
    sudo umount /dev/sda5
    
  • 开始分区并使用它来编辑SSD的分区表(/dev/sda)。

  • 缩小 ext4 分区/dev/sda5以为交换分区腾出空间。(这可能需要很长时间。)

  • 使用未分配的空间创建交换分区。

  • 通过单击复选图标来执行操作。

  • 启动终端窗口

  • 运行以下命令查找交换分区的 UUID

    sudo blkid
    

    对于新的交换分区,您可能会看到类似以下行的内容

    /dev/sda6: UUID="03bed9e9-e39b-6307-8ce5-c2612af9a6aa" TYPE="swap" PARTUUID="731f415c-05"
    
  • 编辑已安装系统的文件fstab。将分区挂载到第一个位置,

    sudo mount /dev/sda5 /mnt
    sudo nano /mnt/etc/fstab
    

    并修改指向当前交换分区的行,使其指向新的交换分区。

    UUID=03bed9e9-e39b-6307-8ce5-c2612af9a6aa none  swap  sw  0  0
    

    使用不带引号的 UUID blkid

  • 重启

我希望我记住了所有重要步骤。无论如何,您现在可以删除旧的交换分区,并使用该驱动器空间来存储数据。


如果您需要帮助才能开始使用,以下链接可能会对您有所帮助分区

成长.pdf

但在这种情况下你会“缩小它”;-)

答案2

不建议在 SSD 上进行交换,因为这会缩短其使用寿命。

参考此问题了解更多信息。

相关内容