Partition

擴展分區未與物理扇區對齊。所有其他分區對齊。這是一個問題嗎?我怎樣才能解決這個問題?

  • June 28, 2021

當我試圖清理重新安裝 Linux Mint 時,我不知何故弄亂了我的分區。現在每當我輸入時sudo fdisk -l,它總是會給我警告:

$ sudo fdisk -l
[sudo] password for sneknotsnake:             
Disk /dev/sda: 465,78 GiB, 500107862016 bytes, 976773168 sectors
Disk model: ST500DM009-2DM14
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xdb92a920

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048    104447    102400    50M  7 HPFS/NTFS/exFAT
/dev/sda2          104448  72919039  72814592  34,7G  7 HPFS/NTFS/exFAT
/dev/sda3        72921086 598581903 525660818 250,7G  f W95 Ext'd (LBA)
/dev/sda4       598581904 976773119 378191216 180,3G  7 HPFS/NTFS/exFAT
/dev/sda5        72921088 219478015 146556928  69,9G 83 Linux
/dev/sda6       219480032 598581903 379101872 180,8G  7 HPFS/NTFS/exFAT

Partition 3 does not start on physical sector boundary.
Partition table entries are not in disk order.

AFAIK 我的問題,這是因為我使用的是使用 4096 而不是舊的 512 的“較新”硬碟格式,並且我的第三個分區沒有完全對齊。我不太確定,但我認為這是因為72921086 % 8equal6而不是0像其他分區一樣(72921086is from /dev/sda3

如果確實如此,那麼我該如何重新調整我的第三個分區?請注意,它是我的第 5 和第 6 分區的容器分區(它被稱為 IDK)。如果我沒記錯的話,我只需要將起始扇區移動 6 以使其完全對齊。

這不是問題。

Yoursda3是一個擴展分區,其中包含邏輯分區sda5sda6. 唯一未對齊的數字指向第一個擴展引導記錄 (EBR)。該記錄佔用 512 字節,一個邏輯扇區。在任何情況下,這都不能跨越兩個物理扇區。這裡沒有對齊問題。

對齊對於保存文件系統或其他結構的分區很重要。你可以在裡面呼叫sda5sda6結構sda3。關鍵是它們相對於開頭“錯位” sda3(您不會直接看到這種錯位),這完美地彌補了sda3自身的錯位(困擾您的錯位);因此它們相對於磁碟的開頭對齊(因此fdisk不會對它們發出警告),這很重要。在您的情況下,所有需要對齊的分區都是對齊的。

如果您堅持“修復”“問題”,則應刪除分區 6、5 和 3(按此確切順序)並重新創建 3、5 和 6(按此確切順序),因此新的分區表是相同的到舊的,除了起始扇區sda3是 72921080 而不是 72921086(因此扇區數是 525660824 而不是 525660818)。前一個分區 ( sda2) 的末尾更靠左,因此有空間來執行此操作。

這可以在不破壞文件系統的情況下完成。保存文件系統的分區將保留在原來的位置,並保持原來的大小。不需要調整大小或移動任何文件系統。

該過程是安全的,除非您設法使用一些過分熱心的工具破壞文件系統。AFAIKfdisk並不過分熱心(儘管它可能會警告您有關現有文件系統的簽名,但不要破壞簽名)。

極有可能某些東西使用了分區 2 和 3 之間的未分區空間。移動開頭sda3可能會破壞一些數據。如果有任何東西使用這個空間,那將是不常見的(實際上是可疑的)。

在實踐中,“修復”不會改善任何事情最安全的事情是什麼都不做。

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