Linux
如何將物理分區移動到擴展分區?
給定這樣的磁碟佈局
Disk: /dev/sdc Size: 119.9 GiB, 127865454592 bytes, 249737216 sectors Label: dos, identifier: 0x000efb19 Device Boot Start End Sectors Size Id Type >> Free space 2048 8191 6144 3M /dev/sdc1 8192 4615234 4607043 2.2G e W95 FAT16 (LBA) /dev/sdc2 4615235 29985858 25370624 12.1G 5 Extended ├─Free space 4618240 4620288 2049 1M ├─/dev/sdc5 4620288 4685821 65534 32M 83 Linux ├─/dev/sdc6 4685824 5210109 524286 256M c W95 FAT32 (LBA) └─/dev/sdc7 5210112 29983811 24773700 11.8G 83 Linux /dev/sdc3 * 29986816 92901375 62914560 30G 83 Linux Free space 92901376 249737215 156835840 74.8G
如果我想將 sdc3 移動到 sdc2(從而使其成為 sdc8),我該怎麼做?
注意:sdc7 的結尾是 sdc3 的開頭,因此實際上不需要 MOVE 任何數據。這個問題只是如何更改分區表,使 sdc3 在 sdc2
tl; dr如何在不實際編輯分區中的數據的情況下更改分區表?
首先,你應該記下或拍攝所有開始和結束扇區的照片,如果出現任何問題,你可以恢復它。為了安全起見,使用文件系統備份每個分區的開頭:
dd if=/dev/sdc3 of=sdc3.bak bs=1M count=1
然後使用fdisk來:
- 刪除分區 2 和 3。這也將刪除所有邏輯分區。
- 創建一個從扇區4615235到至少扇區92901375的邏輯分區。
- 重新創建所有其他分區,注意保持起始扇區不變,並在 EBR 分區之間保留幾個扇區。最新版本的fdisk會警告您它檢測到文件系統簽名。顯然這是一件好事,不應該清除塊。
fdisk通常會嘗試保持 1MiB 的分區對齊,因此可能需要進入專家模式 ( x ) 並使用b來調整起始扇區。
如果這不是您的主磁碟,我會努力將分區類型更改為 GPT 並擺脫所有 DOS 的怪異行為。
備註:所有文件系統都可以駐留在大於 FS 的分區上。它們中的大多數可以安全地調整大小以匹配新的分區大小。