前两天在vmware上创建了一台UBUNTU虚拟机,编译ANDROID源码时,发现40G的磁盘空间不够,在然后在虚拟机点击磁盘扩容。
但是在ubuntu系统用fdisk -l并查看磁盘信息发现还有40G的空间没有挂载使用,于是想着把这40G的磁盘空间给扩容到根分区使用。
fdisk -l 查看分区信息,我们此次的目的是要将硬盘的60G空间全部分配给/dev/sda1,然后将其挂载到根目录。
思路:删除原有分区 -> 创建新分区 -> 挂载
一、删除原有分区
用fdisk修改分区,fdisk /dev/sda 进入磁盘管理。sda是代表的整块物理磁盘,sda1是代表sda里的第1个分区,这里需要进入管理整个磁盘。
fdisk /dev/sda 进入后输入d删除所有分区(输入m可以查看具体的命令及参数信息)。删除完成后,输入p打印分区信息,可以看到所有分区已删除。操作完不要退出。
二、创建新的分区
1、接着输入n,创建新的分区,输入p创建主分区,分区号默认1开始,扇区信息默认分配所有。完成后,输入培打印分区信息,可以看到我们的/dev/sda1分区已经变成了60G。
2、输入w保存分区表并退出。(因为我们正在使用这个盘,所以会报错硬盘Device busy。不用管它,我们用fdisk -l查看分区信息,可以看到前面的操作已经成功。)
3、进入单用户模式,修改分区大小。
启动时,长按【Shift】键进入选项,选择 Advanced options for Ubuntu 这一项,按回车【Enter】键。选择(recovery mode),按【E】键,不要按回车。
然后在linux下将recovery nomodeset删掉,并在这一行的最后添加 quiet splash rw init=/bin/bash
修改完成后,按ctrl+x进入系统。进入系统后,执行umount /dev/sda1,然后执行 e2fsck -f /dev/xvda1 #检查分区信息,必须。
4、完成之后,reboot重启系统,进入救援模式。
类似第3步,然后在linux这一行后面添加systemd.unit=rescue.target,然后按ctrl+x进入系统。执行resize2fs /dev/sda1
然后df -h,可以看到根分区已经变成60G了。
以上方法适用于虚拟机只有单块硬盘的情况下,扩展根分区(/)的大小。