VMware6.0安裝目錄下有一個命令行工具vmware-vdiskmanager.exe 程序,可用來修改虛擬機硬碟的大小.方法如下:
1. 關閉虛擬機;啟動Windows下的命令提示符界面;
2. 命令進入VMware的安裝目錄(如:D:VMware),輸入「vmware-vdiskmanager」后按回車鍵,可顯示關於該命令的說明.
3. 執行如下命令:vmware-vdiskmanager -x 20Gb "J:VMware SpaceSUSE 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
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
[火星人 ] 增加VMware下LINUX的虛擬機磁碟空間已經有4169次圍觀