![使用 GParted 为我的虚拟磁盘提供更多空间后,Ubuntu VM 无法启动](https://linux22.com/image/984812/%E4%BD%BF%E7%94%A8%20GParted%20%E4%B8%BA%E6%88%91%E7%9A%84%E8%99%9A%E6%8B%9F%E7%A3%81%E7%9B%98%E6%8F%90%E4%BE%9B%E6%9B%B4%E5%A4%9A%E7%A9%BA%E9%97%B4%E5%90%8E%EF%BC%8CUbuntu%20VM%20%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8.png)
因此,我决定从双启动设置切换到在 VirtualBox 5.08 中运行 Ubuntu 14.04 64 位。我的主机操作系统是 Windows 8.1 64 位。虚拟机有 2 GB 的专用内存,主机上有 8GB 内存。
我首先将机器设置为仅使用 8 GB VDI,因为我只是想测试它。决定升级后,我擦除了之前的 30 GB 分区,需要将其添加到 vdi 文件中。我主要遵循这指南。最后,我不断遇到 grub 问题,并在尝试启动时不断收到错误。
error: attempt to read or write outside of disk 'hd0' .
以下是我最近一次尝试所做工作的逐步分解。
首先,我使用 VBoxManage 将 VDI 的大小增加到 30 Gb。
当我尝试从单独的 VM 运行 GParted 时,它在启动时冻结,因此我从 ISO 启动 Ubuntu VM,并在那里运行 GParted。
接下来,我删除了交换空间分区和扩展分区。
我将主分区的大小调整为 28 GB。
我重建了扩展分区,然后重建了交换分区,大小为 2 GB。
有大量未分配的可用空间,大约 30 TB(我使用的是 128 GB SSD),我相信这是因为 VDI 文件是动态分配的,所以我忽略了该空间,但我将它留在每个其他分区之后。
我关闭了虚拟机,从虚拟机中删除了 ISO,然后启动它。
我在启动时收到错误:
error: attempt to read or write outside of disk 'hd0' .
寻找解决方案后,我尝试:
grub rescue> ls
grub rescue> ls(hd0,1)/
grub rescue> set root=(hd0,1)
grub rescue> set prefix=(hd0,1)/boot/grub
grub rescue> insmod normal
并收到另一个错误
error: attempt to read or write outside of disk 'hd0' .
我不知道在这里该做什么,所以我重新启动了 VM,再次从 Ubuntu ISO 启动并运行启动修复。这里是報告。
再次启动虚拟机后,我遇到了与尝试启动修复软件之前相同的错误。我尝试了相同的解决方案,但之后收到了相同的错误grub rescue> insmod normal
我已经用尽了我的知识和在网上找到的所有可能的解决方案。
我意识到,在我投入到这个项目的时间里,我本可以创建一个新的虚拟机并重新安装我的所有软件,但我陷入了白鲸境地。解决方案对我来说比结果更重要。
有任何想法吗?
(似乎我只被允许创建两个链接,我会尝试将图像链接添加为对 OP 的评论。)
答案1
您的磁盘使用了 80 年代的旧格式:https://en.wikipedia.org/wiki/Master_boot_record
MBR 中分区表的组织将磁盘的最大可寻址存储空间限制为 2 TB(2^32 × 512 字节)。
你需要切换到 gpt。