Linux

如何在沒有 LVM 的情況下調整根 ext3 文件系統的大小

  • December 7, 2021

我的 Debian vmware 映像空間不足。我已經擴展了磁碟映像,但現在需要增加我的根分區才能看到額外的空間。我的音量設置如下

Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x37ce2932

Device     Boot    Start      End  Sectors Size Id Type
/dev/sda1  *        2048 48236543 48234496  23G 83 Linux
/dev/sda2       48238590 52426751  4188162   2G  5 Extended
/dev/sda5       48238592 52426751  4188160   2G 82 Linux swap / Solaris

我知道為了擴展 sda1,任何新空間都必須直接位於它之後。我讀過的所有範例 a) 使用 LVM 或 b) 在 sda1 之後沒有直接的擴展 sda2 分區。誰能指出我的參考資料,它將向我展示如何在這種情況下擴展 sda1 ?我知道我將不得不關閉/刪除 sda5 上的交換,但是我該如何處理 sda2?

更新 - 我發現這個答案和其他答案非常有幫助。您可能也想比較這些。

你需要這樣做:

  • swapoff,從而“釋放”交換分區
  • fdisk,然後刪除擴展分區和物理分區。

你現在只剩下/dev/sda1.

現在,您可以fdisk再次使用最大“物理”大小來放大圖像,直到 VMware 提供的最大“物理”大小減去新的交換大小。您可以使用分區大小調整工具,也可以使用相同的起點(以及類型和引導標誌)刪除/dev/sda1並重新創建它。如果您不能這樣做,請不要保存更改並立即退出,然後找到一個工具,例如or ,或者其他可以的工具(例如)。fdisk``partition-resize``growpart``fdisk``cfdisk

退出fdisk,執行kpartx /dev/sda通知核心大小變化。我敢肯定我經常忘記,而且從來沒有發生過任何不好的事情,但這可能只是我的運氣。

分區擴大後,您可以添加新的物理分區/dev/sda2。留下它的類型82h;無需創建擴展分區,然後在其中創建另一個交換分區。保持掉期/dev/sda2

然後執行mkswap/dev/sda2驗證/重新創建它的 UUID,因為如果它是基於 UUID 的,您希望它是正確/etc/fstab的(如果它被稱為/dev/sda5,則正確/dev/sda2

最後你可以執行resize2fs讓FS增長來填補新的/dev/sda1

引用自:https://unix.stackexchange.com/questions/680563