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系统进行碎片整理
考虑使用kvpm和partitionmanager来更改分区。 在这两者之间,您有一个支持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,即它已满。 你需要先缩小空间才能缩小它。
有关清理的信息,请尝试这些问题
- 如何确定系统中最大的文件/目录存储位置?
- 当我的根文件系统已满时我该怎么办?
- 为什么我磁盘上的根分区已满?