如何強制分區值超出範圍

如何強制分區值超出範圍

我有一個 ubuntu 桌面系統(VM guest),其分割區是由安裝媒體建立的。我想擴展磁碟,所以我關閉了guest,並增加了主機中guest的磁碟大小。現在我需要擴展來賓中的分區 - 這就是問題:

如果我列印原始表格,這就是我得到的:

$ sudo fdisk -l /dev/sda

Disk /dev/sda: 37.6 GB, 37580963840 bytes
255 heads, 63 sectors/track, 4568 cylinders, total 73400320 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758    41940991    20719617    5  Extended
/dev/sda5          501760    41940991    20719616   8e  Linux LVM

過去,每當我需要擴展分區時,我都會刪除並重新建立具有相同類型、相同開始但不同結束的分區。這次不起作用:

Command (m for help): d
Partition number (1-5): 5

Command (m for help): n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 5
First sector (503806-41940991, default 503806): 501760
Value out of range.

什麼?我怎麼可能無法使用前一秒的參數來建立分區?無論如何,我退出了。我想也許這只是一個舊的 fdisk,所以我把自己挖得更深了:

我使用parted刪除分割區,不知道它會立即套用變更。 (我預計完成後它需要“寫入”或“應用”命令......所以我搞砸了。)現在我的原始分區被刪除,我無法重新創建它。

如何強制建立值超出範圍的分區?

答案1

知道了。這對我有用:

透過啟動,sudo parted我能夠unit s切換到磁區,p查看目前表,並mkpart logical 501760 41940991重新建立分割區。並退出分手。然後我運行sudo fdisk /dev/sda並用於t將分區類型設置回8e

答案2

我遇到了完全相同的情況。我想使用問題中所示的佈局(msdos 樣式)來擴展虛擬機器的 LVM 分區。雖然作者使用parted而不是fdisk解決了這個問題,但也可以使用fdisk來解決。

我找到了解決方法這裡(所以去那裡也為原始回答者投票)。問題是您還需要調整 /sda2 的大小,它是包含 sda5 邏輯分割區的「擴充」分割區。

之後,按照文章增長lvm pv,lvm lv,最後是你的fs。

相關內容