2014-01-29 132 views
0

我在Windows中遇到原始磁盤訪問問題。我用Java編寫了程序,它與USB閃存設備配合使用,讀取MBR等。設備以RandomAccessFile打開。Windows上的原始磁盤訪問8

如果我打開NetBeans和按計劃照常執行用戶,我有例外

Exception in thread "main" java.io.FileNotFoundException: \\.\PhysicalDrive2 (Отказано в доступе) 
    at java.io.RandomAccessFile.open(Native Method) 
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:241) 
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:122) 
    at main.USBFlashDevice.<init>(Main.java:90) 
    at main.Main.main(Main.java:196) 
Java Result: 1 

如果我做它作爲管理員,一切都OK了。

當我像平常一樣在某人的PC上工作時,我能做些什麼來執行程序和編輯MBR?

+2

出於安全原因,您不能這樣做。 – SLaks

+2

有用的信息'Отказановдоступе'意味着'訪問被拒絕... ... –

回答

0

當我像平常一樣在某人的PC上工作時,我能做些什麼來執行程序和編輯MBR?

你不行。這要求應用程序以提升的權限運行。

寫入原始光盤設備是一個潛在的危險操作(...因爲它可以有效地垃圾文件系統)。因此,具有管理員權限的人員必須授權您的程序運行。操作系統堅持就此。

您必須以管理員權限運行該程序。如果你真的在問怎麼做......你的問題不在話下。嘗試詢問「superuser.com」。


但我也應該說:

  • 寫這種東西是危險的,可能是一個壞主意。使用現有的工具;例如一個由微軟或一個有信譽的第三方軟件提供商提供。

  • 如果你真的需要自己編寫它,那麼在Java中做它可能是一個糟糕的選擇。大多數人會使用C或C++。

+1

請解釋downvote。 –