0

我正在尝试使用gpg.exe --gen-key命令生成 GPG 密钥。输入包括密码在内的所有详细信息后,该过程会陷入循环并不断重复以下消息。

gpg: NOTE: you should run 'diskperf -y' to enable the disk statistics
gpg: DBG: rndw32: get performance data problem
gpg: NOTE: you should run 'diskperf -y' to enable the disk statistics
gpg: DBG: rndw32: get performance data problem
gpg: NOTE: you should run 'diskperf -y' to enable the disk statistics
gpg: DBG: rndw32: get performance data problem

我在 Windows 7 上使用 gnupg-w32-1.0.6。有人可以帮忙吗?

4

2 回答 2

0

来自 rndw32.c:

    /* Get disk I/O statistics for all the hard drives */
        for (nDrive = 0;; nDrive++) {
            char diskPerformance[SIZEOF_DISK_PERFORMANCE_STRUCT];
        char szDevice[50];

        /* Check whether we can access this device */
        sprintf (szDevice, "\\\\.\\PhysicalDrive%d", nDrive);
        hDevice = CreateFile (szDevice, 0, FILE_SHARE_READ | FILE_SHARE_WRITE,
                      NULL, OPEN_EXISTING, 0, NULL);
        if (hDevice == INVALID_HANDLE_VALUE)
            break;

        /* Note: This only works if you have turned on the disk performance
         * counters with 'diskperf -y'.  These counters are off by default */
        if (DeviceIoControl (hDevice, IOCTL_DISK_PERFORMANCE, NULL, 0,
                     diskPerformance, SIZEOF_DISK_PERFORMANCE_STRUCT,
                     &dwSize, NULL))
        {
            if ( debug_me )
            log_debug ("rndw32#slow_gatherer_nt: iostats drive %d\n",
                                      nDrive );
            (*add) (diskPerformance, dwSize, requester );
        }
        else {
            log_info ("NOTE: you should run 'diskperf -y' "
                  "to enable the disk statistics\n");
        }
        CloseHandle (hDevice);
        }

如果您使用远程连接,似乎解决方案可能是这个:(摘自 microfocus.com)

    Enabling Remote Monitoring for Windows XP

    An error message might occur when trying to monitor a computer that is running the Windows XP operating system. If so, enable monitoring remotely.

        Open Windows Explorer on the target Windows XP computer.
        Choose Tools > Folder Options .
        Click the View tab.
        Uncheck the Use Simple File Sharing check box.
        Click OK.
        Verify privileges on the target Windows XP computer as follows:
            If the system root is on an NTFS partition, you must possess at least READ access to the following files:
                %SystemRoot%\System32\Perfc009.dat
                %SystemRoot%\System32\Perfh009.dat
            You must possess at least READ access to the following registry keys on the remote computer:
                HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg
                HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
        Reboot the Windows XP computer.

    A user who possesses administrator rights to the remote computer can now view the remote counters.

如果有人在本地机器上遇到这个问题,也许答案可能是启用它的另一种方式:

检查是否使用此命令启用:

    DISKPERF

如果不是,请尝试使用以下方法启用它:

    DISKPERF - Y

我知道这篇文章已经有两年的历史了,但是由于我在 Debian 操作系统上使用 GPG 时遇到了类似的问题,而且我在其他网站上找到的完整答案很少,我想它可以为其他人节省一些时间。

顺便说一句,就我而言,我没有陷入困境。也许您提到的循环是因为它试图从安装在系统上的多个磁盘获取静态/报告?

于 2014-04-07T07:25:33.013 回答
0

I still don't know the cause and fix to the problem above. I tried the same on another machine and it worked. So I just copied the folder C:\gnupg to my machine and things started to work normally ever since. Looks like gpg can't generate keys on this machine.

于 2012-04-10T05:11:51.293 回答