我在網上找到了這個問題的各種答案,從“你絕對不能這樣做”到“用 gparted 可以做到這一點”,所以我希望在這裡得到一個直接的答案。我的電腦上的分割空間不足/boot
(雙啟動 Arch Linux 和 Windows 10),我正在嘗試使用 GParted 調整它的大小。附件是(相當混亂的)分區的螢幕截圖:
分區/boot
是/dev/sda2
.我縮小了 Windows 分割區 的大小,sda4
目的是sda3
向右移動並增加 的大小sda2
。但是,如果我嘗試這樣做,GParted 會引發錯誤
如何移動sda3
分區?所有這一切的最終目標只是擴展我的/boot
分區,所以如果有人看到實現它的替代方法,那也是可行的。
答案1
Microsoft 希望每個 GPT 磁碟上都存在 MSR,並建議在磁碟最初分割時建立它。
因此,將 sda3「向右」移動應該沒問題,以留出更多 sda2 空間。只是不要「跳過」您的第一個也是唯一一個 Windows 安裝。
(還有一些評論:是的,根據我的經驗,Windows 確實在(假設的)免費安裝上重新創建了它)。
推理鏈(又稱「傳統擺弄」)是這樣的:
- 任何不瘋狂的人都想要「現代」(U)EFI-Boot 和 GPT 分區表
- Windows 需要 GPT 來支援 (U)EFI-Boot
- 然而,GPT 不允許像過去使用 BIOS 分割區磁碟機那樣隱藏某些資訊
- msftdata 代表儲存此數據
完整詳細資料: https://en.wikipedia.org/wiki/Microsoft_Reserved_Partition
答案2
它失敗了,因為您不僅嘗試移動分割區,還嘗試將其縮小到 15 MiB。 GParted 認為收縮未知檔案系統是不安全的,因此失敗了。只需移動它而不改變其大小,它就應該可以工作。
在極少數情況下,刪除分割區會導致問題,因此考慮到它只有 16 MiB 並且不受 MBR 分割區限制的影響,我只是移動它。
您可能不需要/boot
大於 2 GiB 的分割區。