LVM安装Ubuntu后的硬盘分区

我是Ubuntu的新用户,当我安装它时,它需要整个硬盘空间。 当我尝试使用Gparted分区编辑器从USB上的外部Ubuntu分割硬盘时,我发现你可以在下面的截图中看到。 我不能分割硬盘。

这张照片

任何人都可以帮助我吗?

正如我们在屏幕截图中看到的那样,您目前在分区/dev/sda5上使用LVM 。 Gparted对LVM的支持有限,这就是将它显示为已满的原因,而事实上它并不完整。

如果这是一个新安装,最简单的方法是备份用户的文件,重新安装操作系统并在安装过程中拆分磁盘 – 但这是另一个问题。 否则,请备份用户的文件,并按照后续步骤自行承担风险

以下是如何逐步缩小此分区的简短手册。 我假设您正在从安装CD / USB运行Live Ubuntu,并且您想要调整现有Ubuntu安装的大小。 对于当前示例,我使用的是虚拟机(由VMWare提供支持),某些输出可能与实际情况略有不同。


调查您的LVM设置

有两个基本术语:

  • VG – 卷组 – 您可以将其视为LVM中整个可用空间(磁盘驱动器)的等效项。

  • LV – 逻辑卷 – 你可以想象它等同于分区。

打开新的终端窗口并执行命令sudo lvs ,它将输出所有VG及其LV。 如果您已经使用了Ubuntu的自动安装过程,则输出应如下所示。

 $ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root ubuntu-vg -wi-a----- 21,52g swap_1 ubuntu-vg -wi-a----- 8,00g 

这里我们有一个名为ubuntu-vg VG ,一个名为swap_1 LV和另一个名为root ,我们想要resize。

要输出root LV的当前特征,可以使用命令sudo lvdisplay /dev/ubuntu-vg/root 。 要检查此LV上的可用空间,可以使用df -h /dev/ubuntu-vg/root ,但首先应该安装它:

 $ sudo mount /dev/ubuntu-vg/root /mnt $ df -h /dev/ubuntu-vg/root Filesystem Size Used Avail Use% Mounted on /dev/mapper/ubuntu--vg-root 22G 5,0G 16G 25% /mnt 

我们可以看到有16G的免费空间。 以下是Gparted此时为此安装显示的内容(与您的情况相同):

在此处输入图像描述


收缩分区

这部分的主要内容是如何在TechMint上扩展/减少LVM的文章 。 给出的第一个建议是: 在开始之前,备份数据总是好的,这样如果出现问题就不会头疼。

这里我们将减少root逻辑卷,然后将swap_1移动到卷组中可用空间的开头,然后我们将调整/dev/sda5大小。

1.挂载文件系统并对其进行碎片整理 :

 sudo mount /dev/ubuntu-vg/root /mnt sudo e4defrag /mnt 

2.卸载文件系统以进行减少(检查是否已通过命令卸载: df -h ):

 umount /dev/ubuntu-vg/root 

3.使用以下命令检查文件系统错误(测试必须通过所有5个步骤; 0.1-1%的非连续文件将为我们提供减少文件系统的好机会):

 sudo e2fsck -ff /dev/ubuntu-vg/root 

4.使用5G(对于此示例)减少文件系统并使用5GB减少LV:

 sudo resize2fs /dev/ubuntu-vg/root 17G # 22 - 5 = 17 sudo lvreduce -L -5G /dev/ubuntu-vg/root 

5.重新调整文件系统的大小并检查文件系统错误:

 sudo resize2fs /dev/ubuntu-vg/root sudo e2fsck -ff /dev/ubuntu-vg/root 

如果有任何错误意味着文件系统已损坏,我们可能应该重新安装并使用我们的备份。 如果没有错误,则应该成功完成该过程。 注意:此时您可以创建另一个LV。

6.将可用空间移出VG。 命令pvs可以向我们显示可用空间在分区/dev/sda5 。 在这个例子中,交换是结束的,所以我们将删除并再次创建它(使用它的PE大小),因此它将被移动到自由空间的乞讨中。

 $ sudo pvs -v --segments /dev/sda5 Using physical volume(s) on command line. Wiping cache of LVM-capable devices PV VG Fmt Attr PSize PFree Start SSize LV Start Type PE Ranges /dev/sda5 ubuntu-vg lvm2 a-- 29.52g 5.00g 0 4229 root 0 linear /dev/sda5:0-4228 /dev/sda5 ubuntu-vg lvm2 a-- 29.52g 5.00g 4229 1280 0 free /dev/sda5 ubuntu-vg lvm2 a-- 29.52g 5.00g 5509 2048 swap_1 0 linear /dev/sda5:5509-7556 $ sudo lvremove /dev/ubuntu-vg/swap_1 Do you really want to remove and DISCARD active logical volume swap_1? [y/n]: y Logical volume "swap_1" successfully removed $ sudo lvcreate -n swap_1 -l 2048 ubuntu-vg Logical volume "swap_1" created. $ sudo pvs -v --segments /dev/sda5 Using physical volume(s) on command line. Wiping cache of LVM-capable devices PV VG Fmt Attr PSize PFree Start SSize LV Start Type PE Ranges /dev/sda5 ubuntu-vg lvm2 a-- 29.52g 5.00g 0 4229 root 0 linear /dev/sda5:0-4228 /dev/sda5 ubuntu-vg lvm2 a-- 29.52g 5.00g 4229 2048 swap_1 0 linear /dev/sda5:4229-6276 /dev/sda5 ubuntu-vg lvm2 a-- 29.52g 5.00g 6277 1280 0 free $ sudo pvresize --setphysicalvolumesize 25G /dev/sda5 Physical volume "/dev/sda5" changed 

7.现在,您可以使用Gparted之类的工具调整分区 /dev/sda5 sda5的大小并创建一个新的分区 ,或者保留未分配的空间以将其用于另一个OS安装。

在此处输入图像描述

请注意由于计算不正确而导致我们提交的空白空间很小。 我们可以进行更精确的计算(老实说,我已经在GB,G和GiB中丢失了自己),或者我们可以通过命令将它添加到某些LV中:

 sudo lvresize -l +100%FREE /dev/ubuntu-vg/root sudo resize2fs /dev/ubuntu-vg/root 

使用sudo pvs -v --segments /dev/sda5来调查新状态。

8.现在您可以重启系统。 在示例中,我创建了一个NTFS分区 – /dev/sda6 ,如下图所示。

在此处输入图像描述

9.最后一步是启用交换(如上图所示):

 sudo mkswap /dev/ubuntu-vg/swap_1 # we could do that in the previous step 7 sudo swapon /dev/ubuntu-vg/swap_1 # or reboot the system 

参考文献:

  • 如何在Linux中扩展/减少LVM(逻辑卷管理) – 第二部分

  • 减小LVM逻辑卷的大小

  • 如何减少LVM中的卷组大小?

  • 将可用空间移出LVM

  • 如何对Linux系统进行碎片整理

考虑使用kvpmpartitionmanager来更改分区。 在这两者之间,您有一个支持LVM的完全可用的GUI。 如果你知道LVM中PV,VG和LV之间的区别,你就可以了。 为了绕过不包括这两个程序的live-CD限制,只需先将Ubuntu安装到USB记忆棒上即可。 安装kvpm

sudo apt-get install kvpm

和分区管理员

sudo apt-get install partitionmanager

并从那里启动以对您的分区进行更改。

编辑 :这个答案是错误的。 GParted并不完全支持LVM。


查看/ dev / sda5的“未使用”列显示0,即它已满。 你需要先缩小空间才能缩小它。

有关清理的信息,请尝试这些问题

  • 如何确定系统中最大的文件/目录存储位置?
  • 当我的根文件系统已满时我该怎么办?
  • 为什么我磁盘上的根分区已满?