[英]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.