我使用 Virtual Box 创建了一台虚拟 PC。这台机器有 4096 MB 的 RAM 和一个 VDI 虚拟硬盘(动态分配的驱动器空间)。
我将 Ubuntu 18.04 的 ISO 映像插入虚拟磁盘驱动器,启动虚拟 PC,单击“试用 Ubuntu”,然后运行安装程序。
当我单击“立即安装”时,安装程序会持续几秒钟,然后吐出以下消息:
--------------------------------------------------
安装失败
安装程序在将文件复制到硬盘时遇到错误
[Errno 5] 输入/输出错误
这通常是由于 CD/DVD 磁盘或驱动器故障或硬盘故障造成的。清洁 CD/DVD、以较低的速度刻录 CD/DVD、清洁 CD/DVD 驱动器镜头(清洁套件通常可从电子产品供应商处获得)、检查硬盘是否老旧并需要更换或将系统移至较凉爽的环境可能会有所帮助。
--------------------------------------------------
我的问题是:为什么这是磁盘读取问题?这里没有涉及物理磁盘驱动器,所以不可能是磁盘故障。我该如何排除故障?我不太清楚从哪里开始。
在认为这是动态分配的 VDI 的问题之后,我决定再试一次,这次手动创建分区方案(并将引导加载程序放在 /dev/sda1 而不是 /dev/sda 上),这样安装程序就不必尝试写入尚未动态分配的任何硬盘块。可以找到此方案的屏幕截图这里。根分区 (/) 和交换分区之间的未分配空间的目的是使动态分配的磁盘文件不会大于必要的大小(我需要能够备份它)。如果需要更多空间,可以调整第一个分区的大小。
答案1
听起来 ISO 可能坏了。您可以检查 ISO MD5 校验和,
以下是最新的 Ubuntu 桌面映像 SUM 列表: http://releases.ubuntu.com/19.04/MD5SUMS
以下是适用于 Windows 等的指南: https://help.ubuntu.com/community/HowToMD5SUM
我希望这有帮助,
答案2
就我而言,hyper-v 导致了这个问题,在 Windows 功能中停用它是不够的……(即使重新启动后也是如此)。我不得不运行bcdedit /set hypervisorlaunchtype off
并重新启动。请参阅这里了解详细步骤。
答案3
安装 docker 桌面(不是工具箱)后,我遇到了类似的问题。它使用 WSL2,而 WSL2 又使用 hyper-v。问题是,如果你关闭 hyper-v,那么 WSL2 将无法工作,从而阻止 docker 启动。但是,如果你让它保持启用状态,那么 docker 可以工作,但 virtualbox 会崩溃。
由于我的用例不使用大量的磁盘 i/o,因此我可以执行以下解决方法:
- 禁用 hyper-v(在 Windows 功能应用程序中以及从上面运行 bcedit 命令)
- 重新启动 Windows
- 在 virtualbox 中安装并更新我的 ubuntu VM
- 重新启用 hyper-v
- 重启
- 启动docker
- 启动虚拟机
显然,这不是理想的解决方法。此外,virtualbox 有时会在安装了 hyper-v 的情况下出现故障或无法运行。
最终,我厌倦了这一切。我卸载了 docker 桌面,并在 ubuntu VM 上安装了 docker。同样不理想,但至少我可以同时运行 docker 和 vb。