我有一个 Ubuntu 16.10 虚拟服务器,重新安装后我得到:
root@ip140:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 5.5G 1.6G 3.7G 30% /
fdisk -l
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 11718655 11716608 5.6G 83 Linux
/dev/sda2 11718656 12580863 862208 421M 82 Linux swap / Solaris
/dev/sda3 12580864 41942975 29362112 14G 83 Linux
我确实尝试了很多方法来 fdisk /dev/sda delete 1 delete 3 并创建一个新的,但是因为交换是分区 2,所以系统不会调整我的分区大小,并且我无法进行实时救援。我能做的唯一方法是使用 ssh。如何删除 1 和 3 并将它们组合在一起?或者我怎样才能删除它们全部 3 个并进行 1 个/全尺寸和额外的 200MB 交换而不损坏实际系统?
答案1
如果要删除交换分区,则必须关闭交换:
swapoff /dev/sda2
之后,您可以尝试删除第二个分区。
但要小心:您必须将第一个分区的开始位置精确设置为现在开始的位置,否则该分区的安装将失败 - 安装将找不到该分区的超级块。
如果您不确定自己在做什么,请不要这样做 - 这是非常危险的操作。
祝你好运!
答案2
我认为这/dev/sda3
对于系统启动或通过 SSH 登录来说并不是必需的。仔细检查以确保。如果是这样的话,那么
关闭交换,从而可以删除
/dev/sda2
:sudo swapoff -a
注释掉
/etc/fstab
挂载/dev/sda2
为交换分区中的行。 (可能是通过 UUID 调用的,而不是通过设备名称调用的。)如果
/dev/sda3
已挂载,则卸载它;确保/dev/sda3
未安装在/etc/fstab
.删除分区 2 和 3,扩展分区 1 并创建新分区 2:
sudo parted /dev/sda -- rm 3 sudo parted /dev/sda -- rm 2 sudo parted /dev/sda -- unit s resizepart 1 41080767 sudo parted /dev/sda -- unit s mkpart primary linux-swap 41080767 -1
重启。
再次连接到系统。
/dev/sda2
交换格式和启用交换:sudo mkswap /dev/sda2 sudo swapon /dev/sda2
扩展文件系统
/dev/sda1
:sudo resize2fs /dev/sda1
/dev/sda2
获取from的新 UUIDlsblk
并进行/etc/fstab
相应更新。就这样。
OP 回复:
做过某事,
结果是一样的
root@ip140:~# resize2fs /dev/sda1
resize2fs 1.43.3 (04-Sep-2016)
The filesystem is already 1464576 (4k) blocks long. Nothing to do!
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 979M 0 979M 0% /dev
tmpfs 200M 3.2M 197M 2% /run
/dev/sda1 5.5G 1.9G 3.4G 36% /
tmpfs 1000M 0 1000M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1000M 0 1000M 0% /sys/fs/cgroup
tmpfs 200M 0 200M 0% /run/user/0
root@ip140:~#
答案3
在我设法在 /dev/sda 上运行 fdisk 删除分区并使用 resize2fs 重新添加分区调整大小后,我做了工作