簡體   English   中英

Mac 分析磁盤的空閑扇區

[英]Mac analyzing disk for free sectors

我需要讀取硬盤扇區。 具體來說,我正在嘗試編寫如下函數:

findFreeBlocks - 分析磁盤結構並找到兩個給定長度的不間斷空閑塊。

int findFreeBlocks(char * drivePath,需要 DWORD 扇區,u_int64_t *freeSector1,u_int64_t *freeSector2)

參第二個找到的空閑塊的第一個扇區

返回:0——如果成功,錯誤碼——如果錯誤

有人可以指點我的 API 來幫助我做到這一點嗎? 我有使用 Objective-c 的經驗,但 C/C++ 也可以工作(我猜它會是這樣,因為這是非常低的級別)。 謝謝

正如@PlasmaHH 指出的那樣,像 MacOS 這樣的操作系統不會為您提供 Objective C 或 C++ API 來處理物理磁盤上的扇區和磁道。 (它也不會讓您改變驅動器內部的電機速度,或將驅動器頭移動到板的中心或外部。)

如果你想編寫“低級”代碼,比如碎片整理程序或類似的,你必須知道你正在處理哪個文件系統。 Mac 的默認 HFS+ 沒有很多開源工具可以使用它。 有一些關於結構的注釋:

http://developer.apple.com/library/mac/#technotes/tn/tn1150.html

...有一個名為hfsdebug的工具,它已被棄用,取而代之的是fileXray

關聯

長話短說:如果你想弄亂文件系統,你將不得不在/dev/rdisk*的塊設備上使用原始 IO。 沒有圖書館。 這幾乎肯定不值得你花時間,而是用 Linux 做一些很酷的事情。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM