我的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. 2018.4.10 Ubuntu cat命令解答、用法

    cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: 1.一次显示整个文件. $ cat filename 2.从键盘创建一个文件. $ cat > ...

  2. 2018.4.1 Ubuntu16.04 下配置Tomcat服务器以及设置dingshi启动

    Tomcat自启动的设置技巧 以root用户登录系统: cd /etc/rc.d/init.d/ vi tomcat #!/bin/sh # # tomcat: Start/Stop/Restart ...

  3. c#和Java中的多态

    多态:让一个对象表现出多种类型,写出通用的代码,最大限度的屏蔽各个子类之间的差异性. c#举例: 将父类的方法标记为虚方法 ,使用关键字 virtual,这个函数可以被子类重新写一个遍. //真的鸭子 ...

  4. 抓取oracle建表语句及获取建表ddl语句

    抓取oracle建表语句及获取建表ddl语句 1.抓取代码如下: 1.1.产生表的语法资料 DECLARE-- v_notPartTable VARCHAR2(1000):= '&2'; -- ...

  5. Java基础面试操作题: 线程问题,写一个死锁(原理:只有互相都等待对方放弃资源才会产生死锁)

    package com.swift; public class DeadLock implements Runnable { private boolean flag; DeadLock(boolea ...

  6. cocos2d-x中的字符串操作

    1:循环体中字符串的构造.      通常用于多个有规律的文件的名字,诸如:[NSString stringWithFormat:@"filed.png",i].我们可以通过spr ...

  7. 沙盒(SandBox)

    iOS 应用沙盒机制就是指 iOS 应用程序只能在为该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本 ...

  8. JavaScript的基础知识

    1,标识符 标识符是程序中常量或变量命名的一种术语称呼,并不是所有的字符组成都是一个合法的标识符,规范如下: 标识符的组成部分可以是字母,数字,下划线或美元($)符号 标识符开头是字母,下划线或美元( ...

  9. 学习笔记(二):使用 TensorFlow 的起始步骤(First Steps with TensorFlow)

    目录 1.工具包 TensorFlow 张量 (Tensor) 图 (graph) TensorBoard 2.tf.estimator API Estimator 预创建的 Estimator (p ...

  10. 【数学 思维题】HDU4473Exam

    过程很美妙啊 Problem Description Rikka is a high school girl suffering seriously from Chūnibyō (the age of ...