Windows 8上的原始磁盘访问



我在Windows中访问原始磁盘访问问题。我在Java上编写了与USB Flash设备一起使用的Java程序,读取其MBR和等。设备以RandomAccessFile打开。

如果我打开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

如果我以管理员的身份这样做,一切都可以。

当我在某人的PC上像往常一样工作时,我该怎么办?

当我在某人的PC上像往常一样工作时,我该怎么做才能执行程序和编辑MBR?

你不能。

  • 写入原始光盘设备是一个潜在的危险操作。它可以有效地垃圾文件系统。
  • 即使是原始的磁盘读取访问也使您可以读取普通Windows访问控制所拒绝的文件。

因此,强制性的任何访问原始磁盘的程序都具有管理员特权。操作系统坚持。注意:这适用于所有多用户操作系统,而不仅仅是Windows。

您必须使用管理员特权运行该程序。如果您真的在问该怎么做...您的问题与主题有关。尝试询问" superuser.com"。


,但我也应该说:

  • 写这种东西很危险,可能是一个坏主意。使用现有的实用程序;例如由Microsoft或信誉良好的第三方软件提供商提供的一家。

  • 如果您(真的)需要自己写这篇文章,那么在Java中这样做可能是一个糟糕的选择。大多数人会使用C或C 。

最新更新