我在远程服务器上以虚拟机的形式运行 Ubuntu Server 10.04。我只能访问虚拟机。
该虚拟机分配了 20GB 的磁盘空间,但驱动器当前分区仅可使用约 4.7GB。
我知道您可以使用 LiveCD 通过 gparted 对驱动器进行重新分区。您如何在远程虚拟机上执行此操作?(因为分区也是启动卷)
# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074164
Device Boot Start End Blocks Id System
/dev/sda1 * 1 618 4959232 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 618 653 280577 5 Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5 618 653 280576 82 Linux swap / Solaris
答案1
如果你想扩大系统分区
首先,关闭交换(swapoff /dev/sda5
),因为我们将暂时删除交换分区。
使用 GParted 或cfdisk
或fdisk
来:
- 删除逻辑分区
/dev/sda5
和扩展分区/dev/sda2
。 - 扩大
/dev/sda1
到整个磁盘减去您想要分配给交换分区的部分。 - 为交换重新创建一个分区(为简单起见,使其成为主分区)。
不要重新打开交换。注释掉 中的交换行/etc/fstab
,然后重启(如果不重新启动,内核将继续使用有关分区的过时数据,这可能会造成灾难性的后果。)
重启后,编辑/etc/fstab
以更改交换设备的名称并取消注释。使用 格式化交换区域mkswap
并使用 激活它swapon -a
。
/dev/sda1
最后扩大现有的文件系统,使其占据全部resize2fs /dev/sda1
。
如果你想创建另一个分区
使用 GParted 扩大扩展分区 ( /dev/sda2
) 并在其上创建新的逻辑分区/dev/sda6
。告诉 GParted 您需要在 上使用 Linux 文件系统/dev/sda6
。使用 创建一个文件系统mke2fs -t ext4 /dev/sda6
。
答案2
这就是我要尝试的:
许多 VPS 托管提供商的控制面板中都有操作分区的工具。访问控制面板将是最安全的选择。
不要调整分区大小,而是创建第二个分区并将“工作”数据移动到该分区。即,将
/home
数据所在的位置挂载到单独的分区如果你仍然喜欢冒险,请尝试以只读方式重新挂载启动分区,看看是否可以在以只读方式挂载时调整其大小
一些非常棘手的事情,例如删除交换 - 在驱动器的最末端创建根分区的副本 - 配置 grub 从新分区启动 - 重新启动 - 调整原始分区的大小 - 复制数据 - 再次修改 grub - 重新启动 - 删除临时根分区 - 再次创建交换分区。
我认为后两个选项非常危险,因为如果出现任何问题,您的系统就无法启动,因此您将失去对系统的任何访问权限。
答案3
如果您正在运行云机器(在我的情况下,它运行一个只有 16GB 磁盘的自定义 Kali 映像),并且唯一的访问方式是通过ssh
,那么这个答案适合您。
所以无需重新安装分区如下这个答案可以使其工作。如果您需要删除一些中间分区,请在继续执行以下步骤之前先删除它们。
- 首先从控制台增加磁盘大小
- 虚拟机内部 SSH:sudo growpart /dev/sda 1
- 调整文件系统大小:sudo resize2fs /dev/sda1
- 验证:df -h
答案4
不好意思!我刚刚读了你的问题,让我来帮你吧!
大小(VM 可用内存)== 大小(主分区)+ 大小(扩展分区);
大小(扩展分区)==大小(逻辑分区)s;
大小(VM 磁盘内存)==大小(VM 可用内存)+大小(可用空间);
因此,如果您想使用虚拟机磁盘空间上的可用空间,则需要扩展,并且主分区和可用空间/dev/sda1
之间没有其他分区。/dev/sda1
只需用来sudo fdisk -l
检查你的分区的使用情况,我猜你的输出就像下面这样:
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 62914560 sectors
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074164
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 512M 5.2G 4902880 4.7G 83 Linux
/dev/sda2 5.2G 6.2G 580000 1G 5 Extended
/dev/sda5 5.2G 6.2G 580000 1G 82 Linux swap / Solaris
在您的主分区或可用分区达到之后20GB
,您的新分区sudo fdisk -l
为:
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 62914560 sectors
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074164
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 512M 20.5G 42162880 20G 83 Linux
/dev/sda2 20.5G 21.5G 580000 1G 5 Extended
/dev/sda5 20.5G 21.5G 580000 1G 82 Linux swap / Solaris
解决方案:
0.只需登录你的虚拟机终端;
1.关闭你的swap
权限:sudo swapoff /dev/sda5
;
并使用命令free -h
检查 swapoff 是否有用,如果看到交换分区的可用空间或总空间百分比为0B
,则表示成功关闭交换。
其他情况下,重启或者重新启动都会自动打开交换,使用命令sudo swapoff swap_partition_directory
只是暂时关闭交换。
2.删除扩展分区/dev/sda2
和逻辑/交换分区/dev/sda5
:
首先删除逻辑/交换分区/dev/sda5
,然后删除扩展分区/dev/sda2
;
只需用来cfdisk
做楼上的工作,用来sudo cfdisk
输入的力量cfdisk
。
使用up
和down
方向键选择分区,使用right
和left
方向键选择操作,使用enter
键确定。
选择Delete
按钮删除逻辑/交换分区/dev/sda5
和扩展分区/dev/sda2
。
3.调整主分区的大小:
另外,使用cfdisk
,只需使用Resize
按钮即可,将调整大小的尺寸从默认更改21GB
为20GB
;
4.重新创建扩展分区/dev/sda2
和逻辑/交换分区/dev/sda5
:
另外,使用cfdisk
,使用按钮在空闲空间上New
创建扩展分区,然后创建逻辑分区,它们都使用默认大小;/dev/sda2
/dev/sda5
1 GB
现在,选择Quit
按钮退出cfdisk
。
5.设置逻辑分区/dev/sda5
的文件类型:sudo mkswap /dev/sda5
;
更新您的新逻辑/交换分区/dev/sda5
,UUID
使用lsblk -f | grep "swap"
检查交换分区UUID
,复制它,并通过更改UUID
交换,使用按钮进行编辑,复制您的新交换而不是以前的旧交换。/etc/fstab
sudo vim /etc/fstab
i
UUID
UUID
6.设置主分区的所有文件类型/dev/sda1
:sudo resize2fs /dev/sda1
。
7.重新启动或重启虚拟机:sudo reboot
。
玩得开心!!!:)
超过!