我想你已經在這裏提出了一些有趣的問題,可惜之前沒人回答他們,所以我會盡力去做。
It's not clear if the first partition start should be 1 or 0?
第一分區開始必須是1,因爲一個磁盤的第一個字節包含主引導記錄和一些磁盤標籤,諸如MS-DOS的結構。因此,如果您使用值0作爲第一個分區的開始,則libparted會在磁盤的開始處留下幾個字節以允許此內容,並將分區的開始位置立即放在第一個分區之後。
the start is at 1049kB... is this normal?
這是正常的。爲了解釋這一點,首先你必須知道,對於libparted,千字節不等於1024字節,相反,等於1000字節。
KB =千字節= 1000Bytes
KIB = KibiByte = 1024Bytes
的更多信息:
http://en.wikipedia.org/wiki/Kilobyte
http://www.gnu.org/software/parted/manual/html_node/unit.html
分區偏移在KB(千字節),並將其值是近似的,如果將單位更改爲字節:
parted /dev/sdf unit b print
你會看到真正的價值:1048576B
這是,1MiB(1048576B〜= 1049KB),正是你想要的。
I see that they start at 32kB
是的,分區開始於32KB,因爲你正在使用的工具可能是太舊了,你使用的是與512字節扇區大小的磁盤。分區的實際起始偏移量可能是32256,對應於扇區63。幾年前,分區工具將第一個分區的開始放在第63個扇區,以便將其與舊的CHS幾何體對齊。這是太多時間去解釋,但我建議你閱讀本鏈接,瞭解更多的詳細信息:
https://superuser.com/questions/352572/why-does-the-partition-start-on-sector-2048-instead-of-63 http://lwn.net/Articles/377895/
If I use a start of 0, it prints a start of 512kB
我認爲它打印在512B開始,而不是KB , 我錯了嗎?
在512字節扇區的磁盤中,第一個扇區在511偏移處結束,就像我上面告訴過你的那樣,第一個分區在第一個扇區後面開始。
Are we suppose to have an overlap or increment by 1?
我你的單位更改爲字節,你會看到分區的實際位置,並可以檢查它們不重疊。
What purpose is this for? Is there something I'm missing?
這是因爲,在默認情況下,分手的作品與MIB。當你輸入:
parted -s -a optimal $DEV mkpart primary ext3 1 1600
你要求分手創建一個對應於MiB#1和#1600的偏移量之間的分區。與MiB對齊的偏移量始終對齊以獲得最佳性能,因此不需要指定-a optimal
。如果更改單位爲字節你可以創建一個非對齊分區:
parted $DEV unit b mkpart primary 1000000 160MB
parted $DEV align-check optimal 1
它顯示的錯誤:The resulting partition is not properly aligned for best performance.
所以,儘量做同樣的-a none
選項:
parted -a none $DEV unit b mkpart primary 1000000 160MB
現在沒有錯誤,這是此選項的目的。
I really wish parted would be a lot more intelligent and not require a start, but rather could deduce it itself.
我認爲功能將通過使用libparted任何工具來實現,但我認爲沒有必要在圖書館...但誰知道?也許一些libparted的開發者在聽...你有沒有試圖發送錯誤報告? [email protected]
此問題適用於超級用戶StackExchange站點。 – BeowulfNode42