2014-01-29 111 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。 –