VIRTUALBOX 调整分区大小 | Archlinux | 客户机无法识别新增加的磁盘大小

VIRTUALBOX 调整分区大小 | Archlinux | 客户机无法识别新增加的磁盘大小
更新声明:20190206@094017@WED 帖子已创建
更新声明:20190208@153938@FRI 尝试调整分区大小,但无法为 root 或 sda2 获取超过 8GB 的​​空间
更新声明:20190211@133954@MON 尝试重新扫描磁盘大小,但权限被拒绝
主机:win7-x64-6.1.7601
主机存储:500GB,250GB可用空间
Virtualbox 版本:6.0.4.128413 [已更正]
客户操作系统:Arch Linux x86_64
客户内核:4.20.5-arch1-1-ARCH
客户存储:(据称为 20gb,但仍显示 8gb,且根分区已满)

磁盘大小永远不应被低估,因为谨慎总比后悔好

如果你可以增加 Virtualbox 磁盘大小,你将学会更加灵活

我已成功在 Virtualbox 中安装 Archlinux 作为客户机,并使用 Windows 7 作为主机。一切都很顺利,直到我开始用完空间。这是因为我选择使用 8gb 作为我的虚拟大小,其他一切都通过 Virtualbox 进行典型设置。所以,这意味着我使用的是普通的 file.vdi 类型的虚拟机。问题是我缺少空间,这始于我尝试通过pacman -Syu安装软件包刷新和更新我的 archlinux 但失败了。我研究了如何为我的 Archlinux 获取更多磁盘空间,遇到了 3 个步骤。 这些步骤包括调整磁盘大小、调整分区大小以及最终调整文件系统大小。 调整大小的过程在 Virtualbox 的主机/客户机之间有所不同。我在调整磁盘大小的第一步之后就卡住了,问题是我无法让 Archlinux 看到我的硬盘是 20GB,因为它仍然显示 8GB。为什么我的客户操作系统看不到 Virtualbox 增加的大小?

我将解释我到目前为止所做的工作以及需要了解通过使用 Virtualbox 作为客户机在我的 Archlinux 上获取更多磁盘空间的继续步骤。

问题

  • 在 Virtualbox 中增加磁盘大小后,Archlinux 无法识别修改后的磁盘大小,因为它仍然显示 8GB,而不是增加的 20GB
    • 如何在 Virtualbox 中增加 vm-guest 的磁盘大小?
      • 使用 virtualboxmanager ->C:\Program Files\Oracle\VirtualBox\VBoxManage.exe modifyhd "path/to/archlinux.vdi" --resize 20000
    • 如何在 Virtualbox 中验证我的 vm-guest 的磁盘大小?
    • 如何在 Archlinux 中验证我的 vm-guest 的磁盘大小?
      • 使用 archlinuxguest ->fdisk -l | grep sda
      • 磁盘 /dev/sda:8 GiB,8589934592 字节,16777216 个扇区
        /dev/sda1 2048 1050623 1048576 512M EFI 系统
        /dev/sda2 1050624 12560383 11509760 5.5G Linux 文件系统
        /dev/sda3 12560384 16777182 4216799 2G Linux 交换
        
      • 使用 archlinuxguest ->df -Th显示根分区空间不足,即/dev/sda2
      • 文件系统类型大小已用可用使用率%安装于
        /dev/sda2 ext4 5.4G 5.0G 119M 98% /
        
  • 在 Virtualbox 中增加磁盘大小的第二步是调整分区大小,另一个问题是我无法选择超过 8GB 限制的任何大小
    • 准备通过禁用交换并删除分区 sda2-root 和 sda3-swap 来调整分区大小,同时保留 sda1 的 efi 启动分区
      • root@archiso~# lsblk
          sda 8:0 0 8G 0 磁盘
            sda1 8:1 0 512M 0 磁盘
            sda2 8:2 0 5.5G 0 部分
            sda3 8:3 0 2G 0 部分
        
    • 尝试通过删除 sda2-root 和 sda3-swap 来扩大 sda2-root,然后尝试为 root 创建新分区,但这次大小更大,但无法做到,因为调整磁盘大小后 8GB 仍然是极限
      • root@archiso~# gdisk /dev/sda
        (d2d3)
        (n 2 FIRSTSECTOR 空白 LASTSECTOR 18G)
        最后一个扇区(1050624-16777182,默认值 = 16777182)或 {+-}size{KMGTP}: _
        

解决方案

  • 至今无
笔记
  • 使用时如何知道没有足够的磁盘空间进行分区gdisk
    • 无论第一个/最后一个扇区如何,系统都会重新提示您输入适当的分区大小,而不会发出警告
  • 当使用 Archlinux-boot-image 进行恢复或分区时,在使用 GPT 分区方案时无需担心卸载
    • 我在处理硬盘时使用了 archlinuxbootimage,而不是在我使用的 PC 上实时操作,而且必须担心卸载等问题
  • 为什么你可以通过使用 grepping sda 来找到 Archlinux 中的硬盘空间fdisk -l
    • 输出的信息太多了,至少现在它显示了我拥有哪个驱动器,每个分区使用了多少空间

答案1

在分区工具可以看到新的磁盘大小之前,您可能需要告诉磁盘控制器驱动程序重新扫描磁盘。

(如果您使用 VMware 或其他带有半虚拟化存储驱动程序的“企业级”虚拟化系统,主机可能会向虚拟机提示磁盘大小已更改,因此可以自动检测到。但显然您的 VirtualBox 版本不会这样做。)

你可以这样做:

echo 1 > /sys/block/sda/device/rescan

如果成功,/proc/partitionslsblk命令之类的内容应该已经显示整个磁盘设备(您的/dev/sda)的新大小。

顺便说一句,如果你真的在使用 VirtualBox1.2,这肯定是古老的:截至撰写本文时,VirtualBox 的当前版本是 6.0.4。

相关内容