我在驱动器上安装了 Ubuntu。问题是它的磁盘空间不足。这是安装在 vmware 上的。我扩展了虚拟驱动器并启动到 ubuntu。但是当我打开 gparted(sudo gparted) 时,移动/调整大小选项不可用。这是安装 Ubuntu 的分区,但我需要调整它的大小。有任何想法吗?我很习惯使用命令行
Ser*_*gey 206
作为事实上,你CAN 放大,而Ubuntu是运行根文件系统(我最近才知道这个自己在这里) -这听起来不可思议,但它是真实的:)
这是一个简单场景的步骤列表,其中有两个分区,/dev/sda1一个是操作系统从其启动的 ext4 分区,并且/dev/sdb2是交换分区。对于本练习,我们要删除交换分区并扩展/dev/sda1到整个磁盘。
与往常一样,请确保您有数据备份 - 例如,由于我们将修改分区表,因此如果您输入错误,则有可能丢失所有数据。
跑 sudo fdisk /dev/sda
p列出分区。记下启动气缸/dev/sda1d先删除交换分区 ( 2),然后再删除/dev/sda1分区。这非常可怕,但实际上是无害的,因为在您将更改写入磁盘之前,数据不会写入磁盘。n来创建一个新的主分区。确保它的启动气缸与以前的旧气缸完全相同/dev/sda1。对于结束柱面,同意默认选择,即使分区跨越整个磁盘。a切换新的可引导标志/dev/sda1w将新分区表写入磁盘。您将收到一条消息,告知内核无法重新读取分区表,因为设备正忙,但这没关系。重新启动sudo reboot。当系统启动时,您将拥有一个位于较大分区内的较小文件系统。
下一个魔法命令是resize2fs. 运行sudo resize2fs /dev/sda1- 此表单将默认使文件系统占用分区上的所有可用空间。
就是这样,我们刚刚调整了安装 Ubuntu 的分区的大小,而无需从外部驱动器启动。
jtl*_*sey 52
在 VMware ESXi 中扩展卷后(关闭虚拟机,备份/导出虚拟机,删除所有快照,然后增加磁盘大小,在执行后续步骤之前再次拍摄虚拟机快照,以便您可以恢复错误/错误)。
以下示例在已使用 LVM 的系统上扩展根分区上的卷。
ssh进入系统,切换到root并运行cfdisk
#cfdisk
退出 cfdisk 后
# fdisk -l /dev/sda
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc8b647ff
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 16775167 15773698 7.5G 5 Extended
/dev/sda3 16775168 41943039 25167872 12G 8e Linux LVM (***** See new partition /dev/sda3*****)
/dev/sda5 1001472 16775167 15773696 7.5G 8e Linux LVM
Run Code Online (Sandbox Code Playgroud)在下一步之前重新启动系统(否则你可能会得到Device
/dev/sda3 not found (or ignored by filtering))
# shutdown now -r
Run Code Online (Sandbox Code Playgroud)初始化新卷
# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
Run Code Online (Sandbox Code Playgroud)获取要扩展的卷的名称
# vgdisplay
--- Volume group ---
VG Name linuxetc1-vg (***** this is vg i'm extending*****)
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 7.52 GiB
PE Size 4.00 MiB
Total PE 1925
Alloc PE / Size 1925 / 7.52 GiB
Free PE / Size 0 / 0
...
Run Code Online (Sandbox Code Playgroud)扩展卷组
# vgextend linuxetc1-vg /dev/sda3
Volume group "linuxetc1-vg" successfully extended
Run Code Online (Sandbox Code Playgroud)扩展根
# lvextend -l+100%FREE /dev/linuxetc1-vg/root
Size of logical volume linuxetc1-vg/root changed from 6.52 GiB (1669 extents) to 18.52 GiB (4741 extents).
Logical volume root successfully resized.
Or if you only wanted to give 5 more GB to root
# lvextend -L +5g /dev/linuxetc1-vg/root
Run Code Online (Sandbox Code Playgroud)获取下一步的文件系统名称
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 477M 0 477M 0% /dev
tmpfs 100M 4.6M 95M 5% /run
/dev/mapper/linuxetc1--vg-root 6.3G 2.5G 3.5G 42% / (***** this line*****)
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 472M 105M 343M 24% /boot
tmpfs 100M 0 100M 0% /run/user/1000
Run Code Online (Sandbox Code Playgroud)扩展文件系统
# resize2fs /dev/mapper/linuxetc1--vg-root
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
Run Code Online (Sandbox Code Playgroud)查看增加的尺寸
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 477M 0 477M 0% /dev
tmpfs 100M 4.6M 95M 5% /run
/dev/mapper/linuxetc1--vg-root 19G 2.5G 15G 15% / (***** this line*****)
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 472M 105M 343M 24% /boot
tmpfs 100M 0 100M 0% /run/user/1000
Run Code Online (Sandbox Code Playgroud)这种方法比第一种方法快一点。这是由于cfdisk菜单中名为“调整大小”的新选项可以节省一些步骤。
在 VMware ESXi 中扩展卷后(关闭虚拟机,备份/导出虚拟机,删除所有快照,然后增加磁盘大小,在执行后续步骤之前再次拍摄虚拟机快照,以便您可以恢复错误/错误)。
以下示例在已使用 LVM 的系统上扩展根分区上的卷。
ssh进入系统,切换到root并运行cfdisk。
此时我重新启动了系统,但可能没有必要。现在您可以从第 19 步从第一种方法(下面重复)中提取。
(19) 获取下一步的文件系统名称
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 477M 0 477M 0% /dev
tmpfs 100M 4.6M 95M 5% /run
/dev/mapper/linuxetc1--vg-root 6.3G 2.5G 3.5G 42% / (***** this line*****)
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 472M 105M 343M 24% /boot
tmpfs 100M 0 100M 0% /run/user/1000
Run Code Online (Sandbox Code Playgroud)(20) 扩展文件系统
# resize2fs /dev/mapper/linuxetc1--vg-root
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/mapper/linuxetc1--vg-root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mapper/linuxetc1--vg-root is now 4854784 (4k) blocks long.
Run Code Online (Sandbox Code Playgroud)(21) 查看增加的尺寸
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 477M 0 477M 0% /dev
tmpfs 100M 4.6M 95M 5% /run
/dev/mapper/linuxetc1--vg-root 19G 2.5G 15G 15% / (***** this line*****)
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 472M 105M 343M 24% /boot
tmpfs 100M 0 100M 0% /run/user/1000
Run Code Online (Sandbox Code Playgroud)文章:
https : //wiki.ubuntu.com/Lvm
http://www.geoffstratton.com/expand-hard-disk-ubuntu-lvm
yos*_*ile 28
你快到了。
您不能在 Ubuntu 运行时使用 GParted 调整分区大小。
您需要将 GParted ISO 作为 CD 附加到 VM 机器并重新启动机器,以便加载 GParted 而不是 Ubuntu(我认为您可以在机器启动后立即按 F12 从虚拟 CD 启动)。
一旦你启动到 GParted,移动/调整大小的选项将被启用,因为 Ubuntu 当前没有运行。
小智 13
jtlindsey 的“更快”方法适用于 LVM,但缺少一些步骤。df -h不会显示额外的空间。
sudo lsblk以确定您的分区名称(我的是 sda3)。sudo pvresize /dev/sda3sudo lvextend -L +76G /dev/mapper/ubuntu--vg-ubuntu--lv(用您自己的大小和名称替换)来源: https: //askubuntu.com/a/1047512/393368
我注意到我的 ubuntu 虚拟机有一个 LVM,它根本没有使用所有分配的空间。因此,要向我的 LVM 添加空间,非常简单:https: //wiki.ubuntu.com/Lvm章节:“调整分区大小”。
例如:了解您是否有 LVM 的快速方法是df -h
查找以下行:
/dev/mapper/ubuntu--vg-ubuntu--lv 689G 20G 639G 3% /
Run Code Online (Sandbox Code Playgroud)
并且...请注意,这实际上并不是经典的“/dev/sda1”类型的安装点。
然后在该分区上运行扩展命令。
sudo lvextend -L +500g /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
Run Code Online (Sandbox Code Playgroud)
另一个提醒我检查 LVM 的快速线索是,当我查看 fdisk 分区时,我注意到我有一个大的 /dev/sda3 分区,但该分区并未真正安装在任何地方。(即:当我使用 mount 命令检查时)。