我的LINUX版本是ubuntu12.04 32bit。今天在下载android源代码的时候发现自己最初给这个虚拟机分配的磁盘空间不足了(只有20G)。所以就需要给磁盘扩容。网上大致搜索了一下,主要有两种解决方法:一,另建一个磁盘;二,给原有的磁盘扩容。我选择第二种方案。

1,关闭虚拟机。进入要扩容虚拟机的设置界面,在设备框中选择磁盘,然后选择实用工具,再选择扩容选项。在跳出来的方框中输入你要扩容后的磁盘大小。我填写的是60G。

PS:这里需要注意一点:如果你曾经给虚拟机建立过快照,那么你必须删除所有的快照才能按照此方法扩容。删除快照方法:虚拟机->快照->快照管理,选中快照点击删除即可。

2,只需要上面的步骤我们的虚拟机就扩容了么?当然不是!由于LINUX系统的特性,我们还需要自己手动去为新分配的磁盘空间建立分区、挂载设备等。下面开始详细介绍配置过程。

①以root身份登录系统(或进入系统后输入sudo su,切换到root模式),输入如下命令:

#fdisk -l

就可以看到自己磁盘的分区、挂载等信息。

我们可以看到,显示的列表中有一个ID = 5 system = extern的分区/dev/sda2。

这就是我们刚扩展的磁盘空间。

还有一个id = 82 system = Linux swap / Solaris的分区,这是系统交换分区/dev/sda5。

以及id = 83 System = Linux的分区,/dev/sda1,这就是扩容前使用的磁盘分区。

②我遇到的情况,跟其他人不太一样,因为在我的虚拟机的系统swap分区(/dev/sda5)和系统原磁盘分区(/dev/sda1)之间只给我预留了1024block的空间(怎么看出来的呢?在fdisk -l 命令的输出结果中 有start和end标识,start表示该分区的开始block号,end表示结束block号,稍加分析就计算出来了)。但是我新加入的磁盘可远远不止这么一点!所以我必须删除这个swap分区,这样才能进行后面的操作。

③如何删除swap分区呢?

# fdisk /dev/sda

#m            (列出linux磁盘工具的帮助信息)

#d             (表示要删除分区)

#Partition number(1-4): 5     (因为前面说了我的swap分区的sda号为5,这就表示要删除第5个主分区)

到这里就删除了swap分区了,可以输入命令p查看修改结果。

#w            (表示保存修改,这一步是必须的!)

④删除swap分区之后,我们就可以将exern分区更改为主分区了。

#fdisk /dev/sda

#n      (增加分区)

#p       (增加主分区)

设置分区号 #回车即可

设置分区开始block号 #回车即可

设置分区结束block号 #默认值 - 900000       (这里很重要,我们要预留90万block的空间来重新建立swap分区)

#w          (保存)

通过上面的操作我们就建立好了主分区/dev/sda2了

⑤现在重新创建swap分区并完成格式化和挂载

首先,按照第四步的方式创建第三个主分区

然后将这个主分区改文swap分区

#fdisk /dev/sda

#n

#t              (修改系统ID)

#3             (表示要更改的这个主分区的sda号为3)

#82           (改成swap的ID标示号)

#p             (打印修改后的分区结果)

#w             (保存)

到这里就可以重启一下系统了~~

重启后,同样以root权限执行如下命令

格式化:

#mkswap /dev/sda3

开始查看和加载

#free   (查看)

#swapon /dev/sda3

#free

⑥分区的创建工作算是完成了,下面要做的就是将新建的主分区2挂载到文件系统中。

首先格式化主分区2

#mkfs ext4  /dev/sda2                (因为Ubuntu12.04的文件系统是ext4的,所以这里参数为ext4,如果不清楚自己的文件系统版本的话,可以通过命令mount查看/dev/sda1的type值,该值就是文件系统版本)

然后在自己的用户根目录中创建一个目录

切换到普通用户模式

$mkdir   /home/(你的用户名)/ExternDisk        (这个目录就是我们新加入磁盘空间的“根目录”了,需要注意的是,这里不是以root身份执行的命令!)

切换到root模式

#mount /dev/sda2   /home/(你的用户名)/ExternDisk  (挂载分区到该目录)

#df -h                  (查看挂载后的分区情况)

⑦设置开机自动挂载

修改/etc/fstab分区表文件

#vim /etc/fstab

在文件最后加上 /dev/sda2     /home/(你的用户名)/ExternDisk    ext4  defaults   0      0

然后保存退出, 重启即可!

现在虚拟机的磁盘扩容工作已经完成了!有大文件的话就把它移动到这个/home/(你的用户名)/ExternDisk目录里面吧!

Vmware Linux虚拟机磁盘扩容方法的更多相关文章

  1. 最简单的Linux虚拟机磁盘扩容方法

    思路:1.虚拟机增加磁盘容量: 2.将增加的磁盘容量增加到系统分区中: 准备阶段: 下载Gparted软件:https://sourceforge.net/projects/gparted/files ...

  2. VMware exsi虚拟机磁盘扩容

    创建Linux时分配磁盘空间随着使用的增加,使用率逐渐升高,需要对/root进行扩容,此时需要在添加或者扩展一下磁盘. 查看Linux版本信息 [root@localhost ~]# cat /etc ...

  3. ESXi以及WorkStation缩减thin provision模式Linux虚拟机磁盘的方法

    1. 公司的服务器采用ESXi 进行管理. 有时候为了灵活性,需要将虚拟机从ESXi服务器上面导出来. 放置到不同的客户机器上面去. 2. 但是发现,比如我在linux里面安装了Oracle数据库, ...

  4. Vmware centos 虚拟机 磁盘扩容

    一,lvm ext4 扩容 1,首先关闭虚拟机,在vSphere Client 将硬盘大小增加或者新增一块硬盘 (从原来10G增加到50G) 2,开机 此时,df -hT只显示原来的磁盘大小 使用 f ...

  5. Linux虚拟机磁盘扩容

    扩容步骤如下: 1.添加一块物理硬盘 2.fdisk将硬盘分区,选primary分区,创建1-4个 3.分区类型格式化,选择t,输入LVM代号 4.分好后按w退出 如果是调整原有逻辑卷大小,则先调整原 ...

  6. linux虚拟机磁盘扩展与分区大小调整

    有段时间觉得linux虚拟机上的磁盘不太够用,研究了下其磁盘扩展 1.linux虚拟机磁盘扩展 step1. 先关机在编辑虚拟机中,找到硬盘选项增加空间,进行扩展step2. 进入root fdisk ...

  7. vmware Linux虚拟机挂载共享文件夹

    本文主要是记录vmware linux虚拟机如何挂载共享文件夹过程,以备不时之需. 设置允许共享文件夹 1. 启用共享文件夹 [VM]->[settings]->[Options]-> ...

  8. Linux进阶之VMware Linux虚拟机运行提示“锁定文件失败 虚拟机开启模块snapshot失败”的解决办法

    问题1:VMware Linux虚拟机运行提示"锁定文件失败 虚拟机开启模块snapshot失败"的解决办法 非正常关闭虚拟机(例如开关机过程中关掉VMware等操作),再次启动虚 ...

  9. vmware 因误删Linux 虚拟机磁盘,无法启动处理方法

    有可能我们在做了以下误操作,导致Linux系统无法启动: 1). 磁盘损坏或虚拟机磁盘被我们删除了,而fstab文件没有更新: 2). 由于误操作或其它原因使动态库错误. 1. 首先准备好系统安装盘, ...

随机推荐

  1. java,求1-100之和。

    package study01; public class TestWhile { public static void main(String[] args) { int sum = 0; int ...

  2. PHPStorm+XDebug进行调试图文教程

    这篇文章主要为大家详细介绍了PHPStorm+XDebug进行调试图文教程,内容很丰富,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 另外如果你们加载不出图片,另外的地址:转载地址https:// ...

  3. 01 Web框架介绍

    一.Web框架本质 所有的web应用程序本质上都是socket,用户的浏览器其实就是一个socket客户端. python中常用的web框架有: Django Flask web.py WSGI(we ...

  4. 【js】input 焦点到内容的最后

     //引用部分应支持jQuery  function find_focus(obj){    var curr = jQuery(obj);    var val = curr.val();    c ...

  5. python并发编程之线程(创建线程,锁(死锁现象,递归锁),GIL锁)

    什么是线程 进程:资源分配单位 线程:cpu执行单位(实体),每一个py文件中就是一个进程,一个进程中至少有一个线程 线程的两种创建方式: 一 from threading import Thread ...

  6. Python学习笔记:configparser(INI格式配置文件解析)

    在平时的开发中感觉INI格式的配置文件使用还是挺需要的,有时会使用一个单独的py来存放一些常量或者配置项,大多时候这样倒是挺好用的,但是如果某些配置项需要在运行时由用户来修改指定,比如很多app在关闭 ...

  7. Nginx是用来干什么的?

    一.静态HTTP服务器 首先,Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML.图片)通过HTTP协议展现给客户端. 配置: server { listen80; # 端口号 lo ...

  8. linux学习-使用者身份切换

    在 Linux 系统当中还要作身份的变换?这是为啥?可能有底下几个原因啦! 使用一般账号:系统平日操作的好习惯 用较低权限启动系统服务 软件本身的限制 由于上述考虑,所以我们都是使用一般账号登入系统的 ...

  9. AD转换器的参数介绍

    分辨率.参考电压这些地球人都知道的就不说了. 当“参考电压”和“分辨率”被确定后,每两个数值间的差值,即“步进量”. 上面的“步进量”在AD中称为1LSB(最低有效位,Least Significan ...

  10. Django 二——models(admin、ORM),一对一、一对多、多对多操作,all、values、value_list的对比

    内容概要 1.关系对象映射ORM 2.admin的配置(选修) 3.all().values().value_list()的对比 4.数据库操作(一对一.一对多.多对多) 5.HttpResponse ...