Partition
調整分區 fdisk 大小失敗,參數無效
我最近通過主機的控制面板將 VPS 從 50GB SSD 調整為 300GB SSD。我現在正在嘗試使用 fdisk 調整主分區的大小,以便能夠使用所有新空間。但是,fdisk 在啟動時給了我一個警告:
GPT PMBR size mismatch (104857599 != 629145599) will be corrected by w(rite). GPT PMBR size mismatch (104857599 != 629145599) will be corrected by w(rite).
當我從 50GB 增加到 300GB 時,很明顯它是之前大小的六倍。所以,我決定按照提示寫表格……
Command (m for help): w GPT PMBR size mismatch (104857599 != 629145599) will be corrected by w(rite). fdisk: failed to write disklabel: Invalid argument
..這不起作用。儘管有很多搜尋查詢,但我在任何地方都找不到導致該錯誤的原因。我不使用 LVM,我的分區表如下所示:
Disk /dev/vda: 300 GiB, 322122547200 bytes, 629145600 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 Disklabel type: gpt Disk identifier: 30D92031-0C13-42FF-AC16-D34F36DD3907 Device Start End Sectors Size Type /dev/vda1 2048 32767 30720 15M BIOS boot /dev/vda2 32768 16809983 16777216 8G Linux swap /dev/vda3 16809984 104857566 88047583 42G Linux filesystem
請注意磁碟如何將其顯示為 300GiB,因此它確實可以辨識大小變化。
我設法很簡單地解決了這個問題。我安裝了 parted,當我執行它時它告訴我分區表沒有覆蓋整個磁碟(duh),所以它問我
Fix/Cancel
用Fix
. 顯然,這起到了作用,因為我能夠使用 將分區修改為完整大小sudo fdisk /dev/vda
,但之後我確實需要執行sudo resize2fs /dev/vda3
以應用更改。
問題是保護性 MBR (PMBR) 太小。您可以使用以下方法更改保護 MBR:
x
額外功能M
進入保護/混合 MBR- (
p
允許顯示保護 MBR)r
返回主菜單(仍處於保護 MBR 模式!)d
刪除錯誤大小的保護 MBR 分區n
創建一個新分區和 4xenter
以接受預設設置(主、分區號 1 和完整大小)t
並將ee
類型更改為 GPTx
額外功能M
離開保護/混合 MBR 模式r
返回主菜單(現在再次處於 GPT 模式)w
來寫這樣我就可以修復 GPT PMBR 大小不匹配的問題。
為了解決磁碟標籤問題,我必須使用轉儲分區表
O
並將導出腳本中的 last-lba 更改為中報告的磁碟大小fdisk
,減去 34(對於輔助 GPT)。然後我使用重新導入腳本I
。