VMware6.0安装目录下有一个命令行工具vmware-vdiskmanager.exe 程序,可用来修改虚拟机硬盘的大小。方法如下:
1. 关闭虚拟机;启动Windows下的命令提示符界面;
2. 命令进入VMware的安装目录(如:D:\VMware),输入“vmware-vdiskmanager”后按回车键,可显示关于该命令的说明。
3. 执行如下命令:vmware-vdiskmanager -x 20Gb "J:\VMware Space\SUSE Linux 64-bit.vmdk"参数-x表示要扩展虚拟机硬盘空间;紧随其后的数字指要扩展的大小(如20Gb,表示磁盘总量,包含原来的磁盘容量);***是要操作的虚拟机Linux的具体文件。若路径名中有空格,必须以双引号括起来。
等待约20分钟,执行完毕,退出命令提示符窗口,重启VMware,这时虚拟机硬盘空间已变成20GB了。这个过程中,已安装的Linux系统不会被破坏。
如果原来的虚拟机硬盘已被分成了多个分区,那么在通过 vmware-vdiskmanager.exe扩大了硬盘空间后,还需要在虚拟机系统中将增加的分区划分、格式化。
4. 启动虚拟机系统,用root登录(后续所有步骤都应以root用户身份登录操作),在 命令行用fdisk -l查看。由于这里是直接修改了原始空间大小,因此可以看到/dev/sda空间改变为21.4GB。如果是从VMware菜单里增加虚拟硬盘,则会多出一个/dev/sd?,这里的?代表硬盘编号,***个硬盘编号为a即sda,第二个就是sdb,第三个是sdc,以此类推,一般来说,如果以前没有增加过硬盘,那么原来的硬盘就是sda,通过VMware菜单增加的虚拟硬盘编号就是sdb。如果添加的第二块硬盘是IDE硬盘,就应该看到hdb,如果是 SCSI硬盘,看到的就应该是sdb。
hawkzy:~ # fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders
#p#Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00067588
Device Boot Start End Blocks Id System
/dev/sda1 1 95 763056 82 Linux swap / Solaris
/dev/sda2 * 96 868 6209122+ 83 Linux
/dev/sda3 869 1958 8755425 83 Linux
5. 使用fdisk /dev/sda进入菜单项,m是列出菜单,p是列出分区表,n是增加分区,w是保存并推出。由于系统已经有了3个主分区,因此将这次新增的空间划分为扩展分区,再将扩展分区重新分区。由于这里扩展分区只有5G,因此5G划为一个区。
hawkzy:~ # fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00067588
Device Boot Start End Blocks Id System
/dev/sda1 1 95 763056 82 Linux swap / Solaris
/dev/sda2 * 96 868 6209122+ 83 Linux
/dev/sda3 869 1958 8755425 83 Linux
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Selected partition 4
First cylinder (1959-2610, default 1959):
Using default value 1959
Last cylinder or +size or +sizeM or +sizeK (1959-2610, default 2610):
Using default value 2610
Command (m for help): p
Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00067588
Device Boot Start End Blocks Id System
/dev/sda1 1 95 763056 82 Linux swap / Solaris
/dev/sda2 * 96 868 6209122+ 83 Linux
/dev/sda3 869 1958 8755425 83 Linux
/dev/sda4 1959 2610 5237190 5 Extended
Command (m for help): n
First cylinder (1959-2610, default 1959):
Using default value 1959
Last cylinder or +size or +sizeM or +sizeK (1959-2610, default 2610):
Using default value 2610
Command (m for help): p
Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00067588
Device Boot Start End Blocks Id System
/dev/sda1 1 95 763056 82 Linux swap / Solaris
/dev/sda2 * 96 868 6209122+ 83 Linux
/dev/sda3 869 1958 8755425 83 Linux
/dev/sda4 1959 2610 5237190 5 Extended
/dev/sda5 1959 2610 5237158+ 83 Linux
Command (m for help): w
6. 用mkfs命令将其格式化为ext3格式。
mkfs.ext3 /dev/sda5 7. 增加文件夹/opt/sda5。这里增加的文件夹是为了挂载新增加的分区。
mkdir -p /opt/sda5
8. 挂载/dev/sda5到/opt/sda5下
hawkzy:~ #mount /dev/sda5 /opt/sda5
查看:
[email=hawkzy@hawkzy]hawkzy@hawkzy[/email]:~> df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 6111520 5433528 367536 94% /
udev 648032 60 647972 1% /dev
/dev/sda3 8617868 7008780 1171320 86% /home
/dev/sda5 5154852 141440 4751556 3% /opt/sda5
9. 备份/usr文件夹下的文件到/opt/sda5下经过分析/dev/sda2下/usr文件夹非常大,占据3.5G空间,为了释放系统空间,这里考虑将用新增加的分区作为/usr的镜像。而/opt/sda5挂载的/dev/sda5,空间有5G,足够使用了。
拷贝/usr下的所有文件到/opt/sda5下:
cp -r /usr/* /opt/sda5/
10. 保留/usr文件夹,但是删除/usr下的所有文件,为挂载做准备。
cd /usr
rm -rI *
11. 修改/etc/fstab文件,挂载/dev/sda5到/usr目录下, 添加以下一行
/dev/sda5 /usr ext3 defaults 1 1
删除完后重启
init 6。
重启后用命令观察是否挂载成功,正常情况下应该能够顺利完成。如果挂载失败,应修改文件/etc/fstab并且用命令mount重新挂载:
mount /dev/sda5 /usr
[email=hawkzy@hawkzy]hawkzy@hawkzy[/email]:~> df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 6111520 2780952 3020112 48% /
udev 648032 60 647972 1% /dev
/dev/sda3 8617868 7011912 1168188 86% /home
/dev/sda5 5154852 4675196 217800 96% /usr
【编辑推荐】