zoukankan      html  css  js  c++  java
  • VMware虚拟机中的ubuntu硬盘扩容

    1、通过vm的UI界面进行扩容基本上是不行的,至少在我的版本上是这样,各种灰色按钮,各种出错;并且,界面扩容失败后若打不开虚拟机,不要慌,只要你扩容之前的那个硬盘文件(我的是ubuntu64.vmdk,全编一个android项目后39G)还在,基本上是可以恢复的,一定要有耐心哟。另外,如果不是服务器级的硬盘,就不要使用快照了,感觉这个功能很坑爹,非常吃硬盘不说,关键是当它吃完你的硬盘后,你想删除快照,对不起,您的硬盘已满,请预留70G空间再删除。于是你这时只有一种选择,就是删掉整个虚拟机。ps:不要试图暴力删除快照,如:删快照到一半时取消,这样会照成你的虚拟机永远进不去也恢复不了,这会使得你在删除整个虚拟机之前丧失备份关键数据的唯一机会。笔者经历了灾难性的数据损失,完全是血的教训。

    下面是使用命令行工具扩容。使用vmware提供的命令行工具vmware-vdiskmanager.exe,在windows下运行cmd,转到vmware安装目录,vmware-vdiskmanager.exe 可以查看帮助。输入如下命令扩容:vmware-vdiskmanager -x 160Gb "D:\VMware\WinXP\myUbuntu.vmdk"。注:此时要扩容的系统不能在运行,参数 -x表示要扩展虚拟机的硬盘空间,紧随其后的数字是要扩展到的大小。最后是制定要操作的虚拟机磁盘的具体文件。要是路径名中有空格,必须以双括号括起来。

     

    2、重启虚拟机,发现虚拟机的硬盘是变成50G了,但进入Ubuntu系统后,用df -ah查看发现硬盘还是原先那么大。接下来要分区、指定文件系统,ubuntu才能识别。

    3、分区。以root权限进ubuntu,

    fdisk -l,打印当前磁盘分区表,这时我们可以看到磁盘总量的确增加到了前面设置的大小,但是分区还是只有那几个原有的分区。

    fdisk /dev/sda         ,sda就是经过扩容的SCSI硬盘,IDE类型的硬盘对应为hda,这个命令告知下面对该硬盘进行操作。

    m,列出帮助

    n,添加新分区

    p,创建主分区

    3,或直接回车选择默认分区号,应该也是3。

    直接回车,采用默认Start值,此处不选择默认值会浪费空间

    再回车,采用默认End值

    注意!!此时注意看清end - start的大小,如果只有很小的一段空间,需要再添加一个分区,按上述步骤执行,N,P,回车

    v,检查为分配磁盘大小,若是只有几M或更小则成功。

    w,保存并退出,分区完毕

    重启ubuntu

    4、格式化新添加的分区:

    mkfs -t ext3 /dev/sda3

    5、挂载该分区:

    手动挂载:sudo mount /dev/sda3  /mnt/sda3  表示将该新分区挂载到/mnt/sda3/这个目录下。注,手动挂载的信息记录在/etc/mtab

    或者开机自动挂载,修改文件:gedit /etc/fstab,添加一行

    /dev/sda3    /mnt/sda3    ext3   defaults,        0         1

    到此便可以使用新分区了,df -ah查看结果

    6、使用新分区

    现在,硬盘中多出来的这80G空间,只有在/dev/sda3下才能用,在其它地方,使用的依然是system分区——也就是原来的那80G。但我要在其它地方存文件怎么办呢,可以用link来解决——把新分区中的内容映射到某个旧分区上,这样占用的新分区的空间,看起来确是存在旧分区某个你需要的位置。

    命令例子:

    mv /source/juice /mnt/sda3/source
    ln -s /mnt/sda3/source/juice /source

    这样,就可以像原来那样在/source/juice下做任何操作了,而它们实际发生在/mnt/sda3/source/juice下。

    //-------------------------------------------------------------------------------------------------------------

    若fdisk -l  指令显示出当前分区中有extended类型的大容量分区, 如:

    [root@edes02 ~]# fdisk -l

    Disk /dev/sda: 1979.1 GB, 1979119894528 bytes
    255 heads, 63 sectors/track, 240614 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x2135c370

    Device Boot Start End Blocks Id System
    /dev/sda1 1 5 40131 de Dell Utility
    Partition 1 does not end on cylinder boundary.
    /dev/sda2 * 6 267 2097152 c W95 FAT32 (LBA)
    Partition 2 does not end on cylinder boundary.
    /dev/sda3 267 330 512000 83 Linux
    Partition 3 does not end on cylinder boundary.
    /dev/sda4 330 240615 1930084160 5 Extended
    Partition 4 does not end on cylinder boundary.

    则可用以下命令直接扩容:

    lvextend -L +100G /dev/mapper/VolGroup-lv_root

    /dev/mapper/VolGroup-lv_root

    其中/dev/mapper/VolGroup-lv_root是我的主分区

    扩容成功提示:

    resize2fs 1.41.12 (17-May-2010)
    Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
    old desc_blocks = 4, new_desc_blocks = 35
    Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 144179200 (4k) blocks.
    The filesystem on /dev/mapper/VolGroup-lv_root is now 144179200 blocks long.

    现在查看分区:

    [root@edes02 ~]# df -lh
    Filesystem Size Used Avail Use% Mounted on
    /dev/mapper/VolGroup-lv_root 542G 27G 488G 6% /
    tmpfs 16G 26M 16G 1% /dev/shm
    /dev/sda3 485M 40M 421M 9% /boot
    /dev/mapper/VolGroup-lv_home 79G 29G 46G 39% /home

  • 相关阅读:
    将图片转成二进制并生成Base64编码,可以在网页中通过url查看图片
    <bean:wirte>的用法
    bean标签库Struts标签库
    <bean:write/>标签的format属性
    ByteArrayOutputStream和ByteArrayInputStream详解
    <bean:write>的用法
    FLASH寿命测试!
    波特率,kbps,Mbps含义
    printf()函数是格式化输出!
    Qt学习Qt中的C++
  • 原文地址:https://www.cnblogs.com/yiru/p/2770968.html
Copyright © 2011-2022 走看看