下面是我的df -h
输出。
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 18G 1.2G 95% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
/dev/xvda2 138G 4.4G 127G 4% /opt/xxxx
如何移动 /dev/xvda2 上的 / 分区以使用其中的可用空间?
如果这是不可能的,那么如何在 xvda2 上仅安装 /opt 而不是 /opt/xxxx 而不丢失 /opt/ 下的数据?
答案1
如果您实际上不需要两个分区,最简单的方法是启动名为的救援 CDgparted。然后,获取一个 rool shell 并:
mkdir -p /mnt
mkdir -p /oldroot
mount /dev/xvda1 /oldroot
mount /dev/xvda2 /mnt/
mkdir /mnt/opt
mv /mnt/* /mnt/opt
rsync -avx /oldroot /mnt
# now edit /mnt/etc/fstab to comment out or delete the /opt line
umount /mnt /oldroot
/dev/xvda2 现在应该包含旧的 / 和 /opt 文件系统。现在的技巧是删除旧的 /dev/xvda1 分区,将 /dev/xvda2 移动到磁盘的开头并将其扩展以填充整个磁盘。
幸运的是,这在 GUI gparted 分区编辑器中很容易做到。完全可以通过命令行来完成此操作,parted
但在gparted
.
所有这些都会产生一个大小为 158 GB 的分区 /dev/xvda1。
移动分区并调整大小后,您可能需要重新运行 grub-install 才能再次安装引导加载程序。再次将分区挂载为 /mnt 并:
for i in proc dev sys ; do mount -o bind /$i /mnt/$i ; done
chroot /mnt
grub-install /dev/xvda
exit
for i in proc dev sys / ; do umount /mnt/$i ; done