轻量级虚拟机Multipass详细安装指南

3,137 阅读3分钟

1 Multipass部署

1.1 Multipass介绍

Multipass:是一种可以快速在LinuxmacOSWindows上部署 云风格的 Ubuntu虚拟机管理工具。提供了一套简单但强大的CLI,可以进行快速访问Ubuntu命令或创建自己本地迷你云

官方文档multipass.run/docs

1.2 Multipass安装

1.2.1 先决环境

Multipass安装包:multipass.run/install

硬件虚拟化:可以将一台计算机虚拟化成多个逻辑计算机,但同时只能加速一个虚拟化平台。 可以使用VirtualBoxVMwareHyper-V创建虚拟机,检查电脑是否开启虚拟化:任务管理器 -> 性能 -> CPU -> 虚拟化

虚拟机管理程序可选其一:Hyper-VVirtualBox VirtualBoxwww.virtualbox.org/wiki/Downlo…

VirtualBox是一个适用于X86架构的(Intel或AMD处理器)的虚拟机管理程序 注意:使用VirtualBox作为驱动程序时,Multipass不能与WSL同时开启

Hyper-V:仅支持Windows 10 Pro或专业版/企业版/教育版,版本18032018年4月更新或更高的版本

1.2.2 开启Hyper-V

  1. 界面操作开启/停止

    控制面板 -> 程序与功能 -> 启用或关闭Windows功能 -> 开启Hyper-V

    win11可以在直接使用window搜索搜索启用或关闭windows功能

    image-20240405185741809.png

  2. 命令行操作开启/停止

    启用/停止Hyper-V,都是需要重启电脑

    启用Hyper-V,需要管理员权限

     Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
    

    image-20240405190511278.png

    停用Hyper-V,需要管理员权限

     Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-ALL
    

1.2.3 使用VirtualBox

Hyper-VHypervisor会默认自启动,会默认占用硬件虚拟化,导致第三方虚拟化平台无法使用

  1. 禁用Hypervisor自启动需要管理员权限

     bcdedit /set hypervisorlaunchtype off
    

    开启Hypervisor自启动需要管理员权限

     bcdedit /set hypervisorlaunchtype auto
    
  2. 设置Multipass的驱动程序为VirtualBox

     multipass set local.driver=virtualBox
    

1.2.4 下载安装、升级、卸载

  1. 下载最新安装程序

    下载地址:multipass.run/download/wi…

  2. 升级

    下载最新的进行安装升级就好

  3. 卸载

    • 按照正常软件进行卸载

    • 会提示,是否需要删除实例、设置配置、数据

      是,不保留数据

      否,保留数据

      注意:卸载Multipass时,卸载程序不会删除存储在自定义位置的数据,必须手动删除。

      image-20240405221424118.png

1.3 配置Multipass存储位置(可选)

Multipass不会迁移已存在的数据,需要手动进行迁移

1.3.1 windows

  1. 停止Multipass守护程序(管理员权限)

     Stop-Service Multipass
    
  2. 创建一个新的存储位置,使用绝对路径管理员权限

     New-Item -ItemType Directory -Path "D:\virtual\Multipass"
     Set-ItemProperty -Path "HKLM:System\CurrentControlSet\Control\Session Manager\Environment" -Name MULTIPASS_STORAGE -Value "D:\virtual\Multipass"
    
  3. 复制数据到新的存储位置(管理员权限)

    注意:将任何存量数据复制到新位置非常重要,这避免了未经身份验证的客户端问题、权限问题,并且通常使任何先前创建的实例可用。

     Copy-Item -Path "C:\ProgramData\Multipass*" -Destination "D:\virtual\Multipass" -Recurse
    
  4. 启动Multipass守护程序(管理员权限)

     Start-Service Multipass
    
  5. 删除原始数据(管理员权限)(可选)

     Remove-Item -Path "C:\ProgramData\Multipass*" -Recurse
    

1.4 还原Multipass默认存储位置(可选)

1.4.1 windows

  1. 停止Multipass守护程序(管理员权限)

     Stop-Service Multipass
    
  2. 删除自定义的存储位置(管理员权限)

     Remove-ItemProperty -Path "HKLM:System\CurrentControlSet\Control\Session Manager\Environment" -Name MULTIPASS_STORAGE
    
  3. 将数据复制到原始位置^(管理员权限)

     Copy-Item -Path "D:\virtual\Multipass*" -Destination "C:\ProgramData\Multipass" -Recurse
    
  4. 启动Multipass守护程序(管理员权限)

     Start-Service Multipass
    
  5. 删除原始数据(管理员权限)(可选)

     Remove-Item -Path "D:\virtual\Multipass*" -Recurse