A-A+

使用VirtualBox 的命令调整mac虚拟机的磁盘的大小

2017年08月05日 APP开发 暂无评论 阅读 52 views 次

下面使用 VirtualBox 的命令行将该虚拟机的磁盘分配从 25GB 调整为 2tb。



注意:必须退出virtualBox 软件,命令才能成功执行!

mac os 的特别处理


偶然间发现MacOSX有一个diskutil命令(在终端里面使用)。而diskutil有一个resizeVolume命令。好吧,你已经猜到我是怎么做了的。

其实非常简单:

1.打开终端,输入diskutil list;

2.从显示的列表中找到你需要扩展的分区(是分区不是磁盘,分区的ID一般为diskXsX);

3.然后输入 diskutil resizeVolume disk1s1 100GB,其中disk1s1为对应分区的ID,100GB为目标大小(这里的目标大小不能超过这个磁盘的总额);

4.回车,等待完成吧!


上面的动作如果不行,请按下面的办法处理


新挂一块盘(2TB)。把原来的盘的数据镜像到这个盘上。

2017-08-05_180603

2017-08-05_180843



2017-08-05_181137

用光盘引导,进入系统恢复盘就可以了。



2017-08-05_181317


成功换为2tb

VBoxManage.exe modifyvm "macOSSierra" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
VBoxManage setextradata "macOSSierra" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
VBoxManage setextradata "macOSSierra" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "macOSSierra" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
VBoxManage setextradata "macOSSierra" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "macOSSierra" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

VirtualBox 的说明文档中明确给出了调整虚拟机磁盘大小的方法。

VBoxManage modifyhd         <uuid>|<filename>
                            [--type normal|writethrough|immutable|shareable|
                                    readonly|multiattach]
                            [--autoreset on|off]
                            [--compact]
                            [--resize <megabytes>|--resizebyte <bytes>]

modifyhd 指令就是用来调整磁盘大小的。对象可以是虚拟机的 uuid,也可以直接指定要调整大小的虚拟机磁盘文件名(全路径)。需要注意的是,如果安装 VirtualBox 的时候没有将其路径添加到系统路径之中,运行命令行的时候需要指定路径,如,

C:\>D:\Apps\Oracle\VirtualBox\VBoxManage.exe modifyhd "D:\CentOS2.vdi" --resize 5120
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

上述指令将 D 盘根目录下的 CentOS2.vdi 这个虚拟机磁盘调整为(参数 –resize)5120,单位是 MB。

Linux 下的指令为,

$ VBoxManage modifyhd "/path/to/CentOS2.vdi" --resize 5120

如果想查看对应的 uuid,可以使用指令:

C:\>D:\Apps\Oracle\VirtualBox\VBoxManage.exe list hdds
UUID: 7a0b7b7a-298d-4fcf-b9d0-09ae2737441d
Parent UUID: base
Format: VDI
Location: D:\CentOS2.vdi
State: created
Type: normal
Usage: CentOSi (UUID: 34a666fa-24c9-4510-9cca-50e2a04c8e98)

调整虚拟磁盘大小的时候,虚拟机必须关闭!


以上指令在 64bit Windows 7 + VirtualBox 4.2.16 下测试过。另于20161219在 openSUSE Tumbleweed + VirtualBox 5.1.10 下测试过。不过要注意的是,如果该虚拟机有快照(snapshot),则只有在删除快照后才能在虚拟机客户系统里看到更改后的磁盘容量。

C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd "C:\Users\dg\VirtualBox VMs\yosemite\yosemite.vdi"
Oracle VM VirtualBox Command Line Management Interface Version 5.1.24
(C) 2005-2017 Oracle Corporation
All rights reserved.

Usage:

VBoxManage modifymedium     [disk|dvd|floppy] <uuid|filename>
                            [--type normal|writethrough|immutable|shareable|
                                    readonly|multiattach]
                            [--autoreset on|off]
                            [--property <name=[value]>]
                            [--compact]
                            [--resize <megabytes>|--resizebyte <bytes>]
                            [--move <path>]

Syntax error: No operation specified

C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd "C:\Users\dg\VirtualBox VMs\yosemite\yosemite.vdi"  --resize 12800
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Resize medium operation for this format is not implemented yet!

C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd "C:\Users\dg\VirtualBox VMs\yosemite\yosemite.vdi"  --resize 51200
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

C:\Program Files\Oracle\VirtualBox>yosemite"

2017-08-05_143500

打赏作者
如果文章对您有所帮助请打赏支持本站发展。

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

给我留言

您必须 登录 才能发表留言!

Copyright © 前端技术分享休闲玩耍去处分享 保留所有权利.   Theme  Ality

用户登录 ⁄ 注册

分享到: