![如何在 Linux 中扩展主分区(/dev/sda1)?](https://linux22.com/image/1319860/%E5%A6%82%E4%BD%95%E5%9C%A8%20Linux%20%E4%B8%AD%E6%89%A9%E5%B1%95%E4%B8%BB%E5%88%86%E5%8C%BA%EF%BC%88%2Fdev%2Fsda1%EF%BC%89%EF%BC%9F.png)
我遇到了一个问题,我的主分区空间不足。因此,我无法远程访问 Linux 机器(通过 vncserver)。我有另一个驱动器 (/dev/sdb),它有更多的可用空间。我想缩小 (/dev/sdb) 的空间并扩展到 (/dev/sda1) 分区,这是我的主分区,并且包含所有 Linux 启动、内核等文件。在不丢失主驱动器 (/dev/sda1) 上的数据的情况下,最好的无风险方法是什么?fdisk 或“dd”命令或“mount 和 umount”?任何帮助都将不胜感激。:)
答案1
您必须使用resize2fs
命令来调整分区大小。
更多信息请参考此链接。
http://www.howtoforge.com/linux_resizing_ext3_partitions
前任:
resize2fs /dev/sda 6000M
您可以使用resize2fs
增加或减少分区的大小。首先,您必须减少的大小。然后,增加(主分区)/dev/sdb
的大小。/dev/sda
我希望这对你有帮助。
答案2
无风险的方法是,您可以将所有数据从 /dev/sda1 复制(镜像)到其他分区。
完成此操作后,我建议使用GParted 实时 CD并从那里执行所有分区修改命令。这似乎是最安全的方法。
答案3
你需要一个 Live CD/临时操作系统来启动它,将新分区调整为合适的大小,挂载新旧分区,然后首先使用以下命令复制文件
cp -avx /media/originalRootPartition /media/newRootPartition
然后,您应该将 /etc/fstab 中的一些引用(UUID 或分区名称)更改为新分区以匹配新分区,然后在新分区上重新安装 grub:
grub-install /dev/sdb1
答案4
对于运行了几年并且现在已经没有空间的服务器,我经常使用这个解决方法:
通常,一两个应用程序/服务/守护程序/等等...需要最多的空间。如果是这种情况,您可以将目录从磁盘 sda 移动到磁盘 sdb,这样您就可以利用更多空间。
这是我所做的:在空驱动器上创建一个目录
mkdir /mountpointsdb/data/deamon_database
现在我们只需要将所有数据从原始文件夹复制到“/mountpointsdb/data/deamon_database”
cp /usr/deamon/database/* /mountpointsdb/data/deamon_database
现在我们可以删除原始文件夹,但请确保守护进程要运行。这将为您提供 sda 上的更多可用空间。之后只需将新文件夹安装到旧位置并启动守护进程:
mount --bind /mountpointsdb/data/deamon_database /usr/deamon/database
如果您希望它是永久的,您必须在 mtab 中进行如下输入:
/mountpointsdb/data/deamon_database /usr/deamon/database none bind