• VirtualBox 磁盘容量调整


     起因

      此前用VBox,初始时动态或固定分配的磁盘容量用完了就再重新建一个磁盘,但是有个虚拟机的系统分区容量不够了,把整个磁盘都分成系统盘仍然不够,于是研究了下磁盘容量调整问题。

    更新

      新版的VirtualBox已经支持GUI调整磁盘容量,"管理--虚拟介质管理器--虚拟磁盘" 下面有一个进度条,可以方便的修改。不用再用命令行了~

    正文

    1,从当前虚拟机中卸载该磁盘:

      点击 设置--存储--选中磁盘--右键,删除盘片(注:这里只是卸载,不要去物理删除);

    2,关闭Oracle VM VirtualBox管理器,重新以管理员身份启动;

    3,以管理身份运行命令行,转到VirtualBox安装目录。默认路径为C:Program FilesOracleVirtualBox

    cd C:Program FilesOracleVirtualBox

    4,调整磁盘容量。

      以虚拟机路径:C:UsersXXXVirtualBox VMsWin_XP.vdi ,调整容量为30G为例。

    VBoxManage modifyhd "C:UsersXXXVirtualBox VMsWin_XP.vdi" --resize 30720

      注:--resize 调整的单位为MB,若需以字节为单位请用 --resizebyte

      命令执行成功的标志:

      0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

    5,现在重新从 “设置--存储--添加虚拟硬盘--选择现有虚拟盘” 中选择磁盘即可看到容量已经扩展。

      注:现在启动系统仍然看不到容量变大。这是因为容量调整,只是调整的虚拟机的“物理磁盘容量”,这时仍需要手动扩展分区,才可以使用。

        关于如何手动扩展分区 请搜索 DISKGENIUS 此处不再赘述。

    6,因为快照的影响,在调整主磁盘分区后,快照中无法看到容量更改,此时需要手动调整所有快照的磁盘容量,参考命令为

    for %x in (Snapshots*.vdi) do VBoxManage modifyhd --resize 100000 "%x"

       7,linux中调整分区后(swap一般在末尾,删除,扩展,重建swap后),需要重新设置swap

      

    # 查看swap分区UUID
    gparted
    
    # 修改自动挂载swap分区,将其中swap分区UUID更新
    gedit /etc/fstab
    
    # swap分区UUID更新
    gedit /etc/initramfs-tools/conf.d/resume
    
    update-initramfs -u

    可能遇到的问题

    VBoxManage.exe: error: Failed to create the VirtualBox object!
    VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) - Server execution failed (extended info not available)
    VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running or failed to start.

    解决:

      1)在进程管理器中,点击 显示所用用户进程--结束掉 VBoxSVC.exe 和所有 virtualbox.exe 

      2)保证VirtualBox管理器和命令行以管理员身份运行

      3)重新按正文操作即可

    参考

      http://www.cnblogs.com/zhcncn/articles/2948508.html

      https://www.virtualbox.org/ticket/11307

  • 相关阅读:
    Qt QString判断是否是数字
    Qt 判断QString中的字符串是否为纯数字
    Qt delete和deletelater的区别
    Qt QTcpSocket waitForReadyRead()等函数用法——客户端开关读写应用笔记
    Notepad++对比两个文件不同的方法
    Qt error C1071 :在注释中遇到意外的文件结束
    Qt error C2601: “...”: 本地函数定义是非法的
    Qt 错误 C1071 在注释中遇到意外的文件结束 的解决办法
    Qt 串口和线程的简单结合(通过子线程操作串口、movetothread)
    Qt 实现多线程的串口通信
  • 原文地址:https://www.cnblogs.com/the-owl/p/5396245.html
Copyright © 2020-2023  润新知