VMware下LINUX的虚拟机增加磁盘空间
D:\Program Files\VMware\VMware Workstation>vmware-vdiskmanager -x 15Gb "D:\Unix_Linux_Vmware_Folder\CentOS6.2\CentOS6.2.vmdk"
Using log file C:\DOCUME~1\JACKXI~1\LOCALS~1\Temp\vmware-jackxiang\vdiskmanager.
log
Grow: 3% done.
D:\Program Files\VMware\VMware Workstation>vmware-vdiskmanager -x 15Gb "D:\Unix_Linux_Vmware_Folder\CentOS6.2\CentOS6.2.vmdk"
Using log file C:\DOCUME~1\JACKXI~1\LOCALS~1\Temp\vmware-jackxiang\vdiskmanager.
log
Grow: 100% done.
The old geometry C/H/S of the disk is: 1305/255/63
The new geometry C/H/S of the disk is: 1958/255/63
Disk expansion completed successfully.
WARNING: If the virtual disk is partitioned, you must use a third-party
utility in the virtual machine to expand the size of the
partitions. For more information, see:
http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1647
总结一下:
1。文件名应该用双引号括起来。
2。vmdk文件用不带001,002的最短的那个文件名。
3。GB,MB,别忘了B。
5。 【注意】若路径名中有空格,必须以双引号括起来。
昨天编译linux内核的时候发现系统提示 存储空间不够,所以不得不扩充虚拟机的存储空间,
我的步骤是 VM->settings->(第一个选项框)Hard Disk(SCSI)->utilites->expand 但发现提示这样错误!
There is not enough space on the file system for the selected operation.
后来在网上找了下如下的方法:
但提示依然是一样的,这就郁闷了,我fedora的虚拟机在F盘,还有4G多,我现在虚拟机的容量是8G的样子,我想扩充到12G,居然不行,
后来一想,既然你说存储不够,那我就删除一些不必要的东西,结果,我腾出了十多G的空间出来,结果还真行了!!但有一点让我感到疑惑的是,我明明空间有那么多,为什么还说空间不过来呢?我个人推测可能是因为 硬盘当中要预留一些文件系统的信息,,说白了就是不能装的太满!或者需要一些缓冲区。
扩容以后呢,别以为这样就OK了! 别忘了你还得在虚拟机中的系统中给disk分区,相当于你的将刚扩充的空间作一个安排(分区)。
具体步骤:
1 application->system tools ->disk utility
2、storage devieces 下面 选中 hard disk
3、右边为未分得区域,在选择 creat partition (此处必须先选中那块为free的分区)
4、接下来 会弹出一个窗口 选择type (如果不知道选哪个,在terminal中 df T 查看当前的文件系统所用的是什么文件系统)
5、其他都可以 保持默认即可! reboot就可以了!
注意:1、不能有快照、如果有快照全部删除快照后在操作。
C:\Program Files\VMware\VMware Workstation>vmware-vdiskmanager.exe -x 12GB “E:\v
m_win2008_stand\Other.vmdk”
Using log file D:\Personal\Temp\vmware-Administrator\vdiskmanager.log
This disk is part of a snapshot chain in ‘E:\vm_win2008_stand\Other.vmx’.
The selected operation can only be executed on a disk with no snapshots.
2、物理磁盘空余空间一定要大于调整虚拟磁盘空间。
C:\Program Files\VMware\VMware Workstation>vmware-vdiskmanager.exe -x 10GB “E:\v
m_win2008_stand\Other.vmdk”
Using log file D:\Personal\Temp\vmware-Administrator\vdiskmanager.log
Failed to expand the disk ‘E:\vm_win2008_stand\Other.vmdk’: There is not enough
space on the file system for the selected operation (13).
VMware6.7安装目录下有一个命令行工具vmware-vdiskmanager.exe 程序,可用来修改虚拟机硬盘的大小。方法如下:
方法一:
1. 关闭虚拟机;启动Windows下的命令提示符界面;
2. 命令进入VMware的安装目录(如:D:\VMware),输入“vmware-vdiskmanager”后按回车键,可显示关于该命令的说明。
3. 执行如下命令:vmware-vdiskmanager -x 15Gb "G:\VMware Space\Red Hat Enterprise Linux 5.vmdk"参数-x表示要扩展虚拟机硬盘空间;紧随其后的数字指要扩展的大小(如15Gb,表示磁盘总量,包含原来的磁盘容量);最后是要操作的虚拟机Linux的具体文件。若路径名中有空格,必须以双引号括起来。
等待约10分钟,执行完毕,退出命令提示符窗口,重启VMware,这时虚拟机硬盘空间已变成15GB了。这个过程中,已安装的Linux系统不会被破坏。
如果原来的虚拟机硬盘已被分成了多个分区,那么在通过 vmware-vdiskmanager.exe扩大了硬盘空间后,还需要在虚拟机系统中将增加的分区划分、格式化。
方法二:先关闭虚拟机电源,做如下设置:“虚拟机”--“虚拟机设置”--“应用实例”--“增加磁盘空间”,可以随意添加你需要增到到的磁盘大小(如15Gb,表示磁盘总量,包含原来的磁盘容量); 再重启电源进入系统做如下步骤设置。
4. 启动虚拟机系统,用root登录(后续所有步骤都应以root用户身份登录操作),在 命令行用fdisk -l查看。由于这里是直接修改了原始空间大小,因此可以看到/dev/sda空间改变为16.1GB(原磁盘空间从10G增加到15G)。如果是从VMware菜单里增加虚拟硬盘,则会多出一个/dev/sd?,这里的?代表硬盘编号,第一个硬盘编号为a即sda,第二个就是sdb,第三个是sdc,以此类推,一般来说,如果以前没有增加过硬盘,那么原来的硬盘就是sda,通过VMware菜单增加的虚拟硬盘编号就是sdb。如果添加的第二块硬盘是IDE硬盘,就应该看到hdb,如果是 SCSI硬盘,看到的就应该是sdb。
5. 使用fdisk /dev/sda进入菜单项,m是列出菜单,p是列出分区表,n是增加分区,w是保存并推出。由于这里增加的磁盘只有5G,因此5G划为一个区。
[root@localhost ~]#fdisk -l
Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1305 10377990 8e Linux LVM
[root@localhost ~]#fdisk /dev/sda
The number of cylinders for this disk is set to 1958.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):p
Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1305 10377990 8e Linux LVM
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4):3
First cylinder (1306-1958, default 1306): +1306
Last cylinder or +size or +sizeM or +sizeK (1306-1958, default 1958): +1958
Value out of range.
Last cylinder or +size or +sizeM or +sizeK (1306-1958, default 1958):
Using default value 1958
Command (m for help):p
Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1305 10377990 8e Linux LVM
/dev/sda3 1306 1958 5245222+ 83 Linux
Command (m for help):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
/dev/sda3 1306 1958 5245222+ 83 Linux
[root@localhost ~]#reboot #需reboot一下机器继续如下步骤
[root@localhost ~]#df -h #挂载前的分区情况
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
8.6G 2.8G 5.4G 35% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 125M 0 125M 0% /dev/shm
6. 使用mkfs.ext3 /dev/sda3 格式化分区
[root@localhost ~]#mkfs.ext3 /dev/sda3
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
656000 inodes, 1311305 blocks
65565 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1346371584
41 block groups
32768 blocks per group, 32768 fragments per group
16000 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost ~]#cd /
[root@localhost /]#mkdir /cm #增加一个/cm
[root@localhost /]#mount /dev/sda3 /cm #挂载分区到 /cm
[root@localhost /]#df -h #挂载后的分区情况
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
8.6G 2.8G 5.4G 35% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 125M 0 125M 0% /dev/shm
/dev/sda3 5.0G 139M 4.6G 3% /cm
7.设置开机自动加载
创建加载点:mkdir /cm 挂载之后, 修改vi /etc/fstab 分区表文件,
在文件最后加上 /dev/sda3 /cm ext3 defaults 0 0 然后保存,重启即可。
(注意:修改分区表如果有误,将导致进不了linux桌面系统,但这时系统会进入commandline模式,我们可以在commandline模式下对有误的fstab进行修复更改,不过默认情况下这个commandline模式会是Read-Only file system,这意味着你的任何修改操作都是不允许的,但可以通过命令 mount / -o remount,rw 来解除这个限制)。