删除交换分区时出现问题

删除交换分区时出现问题

我有一块 SanDisk SSD U100 124GB。安装 Ubuntu 14.04 时,我进行了如下分区:

- 250mb 启动; - 4gb 交换; - 其余 ext4。

一段时间后,我删除了交换分区,以便将其与大分区合并,因为我不需要它。我已成功删除交换分区并将其格式化为 ext4,但我无法将其合并,我不明白发生了什么。

在 gparted 中,我只看到一个/dev/sda大小为 115.48GB 的​​设备(),细分如下:

  • /dev/sda1 250MiB ext2 /boot
  • /dev/sda2 115.24 GiB 扩展;
  • /dev/sda5 115.24 GiBlvm2大小ubuntu-vg

为什么我有 2 个分区sda2sda5不是只有 1 个?为什么大小是 115 而不是 120?此外,为什么我看不到已格式化的 4 GB 交换空间?

如果我打开磁盘驱动器下的磁盘,我有 124 个硬盘,其分区如下:

  • 250 MB 扩展2;
  • 124GB 扩展分区2;
  • 124GB 分区 5 LVM2 PV。

但是我在其他设备下还有 2 个磁盘:

  • 120GB 块设备 /dev/ubuntu-vg/root
  • 4GB 块设备 /dev/ubuntu-vg/swap_1

我不明白这一切。其他设备是什么?为什么 gparted 和磁盘显示的内容不同。

当我启动时,4gb 会自动安装在媒体中,我可以像传统 USB 驱动器一样浏览它。

更新

根据@muru的建议,我恢复了交换,现在我有

lvm pvs: /dev/sda5  ubuntu-vg lvm2 a--  115.24g 40.00m
lvm vgs: ubuntu-vg   1   2   0 wz--n- 115.24g 40.00m
lvm lvs: root   ubuntu-vg -wi-ao--- 111.32g
         swap_1 ubuntu-vg -wi-a----   3.89g

假设我现在使用 livecd。您能否告诉我删除 swap_1 并将其与 root 合并的命令(我想避免弄乱整个系统

答案1

您正在使用逻辑卷管理器。GParted 无法看到 LVM 卷以外的内容,它只能看到 LVM 卷存在。

115 GiB = 115*1024*1024*1024 字节 ~ 123480000000 = 123.48*1000*1000*100 = 123.48 GB(足够接近您的 SSD 大小) - 这是在某些地方使用 SI 十进制前缀而在其他地方使用二进制前缀的产物。

可能是你创建的 4GB 交换分区格式不正确。你可以卸载它并运行:

sudo mkswap /dev/ubuntu-vg/swap_1
sudo swapon -a

Ubuntu 在这里做的事情大概是这样的:

  • 创建了一个 250 MB 的/boot主分区。
  • 创建了一个扩展分区对于其余的分区。
  • 在上述扩展分区内创建了一个 LVM 卷。
  • 在 LVM 卷内创建根分区和交换分区。

(这就是为什么您同时拥有sda2和的原因sda5。尝试使用lsblk命令来查看它们之间的关系。)

交换分区为何未能正确格式化是一个谜。


要删除交换并将空间合并回根目录:

  1. 禁用交换。实时环境会自动激活它找到的任何交换分区:

    sudo swapoff -a
    
  2. 使用lvremove删除交换的 LVM 逻辑卷:

    lvremove ubuntu-vg/swap_1
    
  3. 使用以下方法扩展根分区的逻辑卷lvextend

    lvextend ubuntu-vg/root /dev/sda5
    

    这将使用所有可用空间/dev/sda5(剩余的4GB)。

  4. 使用调整2fs大小调整根分区上的文件系统大小以使用新的额外空间:

    resize2fs /dev/ubuntu-vg/root
    

答案2

请按照以下步骤操作:

  1. 删除4GB 扩展4磁盘分区(以前是交换)以便文件系统显示未分配空间。

  2. 现在,右键单击Linux的分区(就你的情况而言,/dev/sda2)并选择调整大小。

  3. 包括未分配磁盘空间Linux的根据您的要求进行分配分区。

更新

就你的情况而言:

  1. 使用,Ctrl++AltT

  2. 执行sudo lvremove -f dev/ubuntu-vg/swap_1以删除交换分区。

  3. 另外,执行 sudo lvextend -L +3.89g dev/ubuntu-vg/root将扩展您的 ext4 分区。

  4. 使用resize2fs dev/ubuntu-vg/root将把新的扩展空间调整为您的 ext4 分区。

    注意:您需要重新启动系统才能生效。

答案3

如果你使用 Ubuntu,这非常简单:

  1. 打开终端(++ ctrl)并执行alttswapoff -a
  2. 打开gparted然后删除交换分区。

相关内容