Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Window 删除&;重新创建NTFS日志(或如何正确运行';fsutil usn';命令)_Window_Filesystems_Ntfs_Corruption_Fsutil - Fatal编程技术网

Window 删除&;重新创建NTFS日志(或如何正确运行';fsutil usn';命令)

Window 删除&;重新创建NTFS日志(或如何正确运行';fsutil usn';命令),window,filesystems,ntfs,corruption,fsutil,Window,Filesystems,Ntfs,Corruption,Fsutil,我有一个chkdskStage 3错误(与NTFS usn日志和安全描述符有关) 损坏的NTFS日志阻止chkdsk/f运行卷修复。因此,chkdsk修复不会运行,这不是一个解决方案 但是,我听说可以通过删除并重新创建NTFS日志来修复损坏。这可以通过在命令提示符下或具有管理员权限的PowerShell上执行以下命令来完成: fsutil usn deletejournal /d /n C:\Windows\system32> fsutil usn queryjournal C: C:

我有一个
chkdsk
Stage 3错误(与NTFS usn日志和安全描述符有关)

损坏的NTFS日志阻止
chkdsk/f
运行卷修复。因此,
chkdsk
修复不会运行,这不是一个解决方案

但是,我听说可以通过删除并重新创建NTFS日志来修复损坏。这可以通过在命令提示符下或具有管理员权限的PowerShell上执行以下命令来完成:

fsutil usn deletejournal /d /n
C:\Windows\system32> fsutil usn queryjournal C:
C:\Windows\system32> dir C:\ /s /a /w

fsutil usn createjournal m=<maxsize> a=<allocationdelta> <volumepath>

fsutil usn createjournal m=a=

好的,为了他人的利益,我将向您提供我所获得的帮助我解决此问题的所有知识

要重新创建NTFS USN日志,请先删除日志,然后重新创建日志

删除日志
您可以使用删除NTFS USN日志

fsutil usn deletejournal /d /n c:
对/d和/n开关的记录很差。微软文档 与在命令提示下查询命令的使用时显示的信息冲突:

两者都不准确!命令提示符文档是错误的,因为两个开关都删除日志,而不仅仅是/d。Microsoft网页文档具有误导性,因为日志实际上已被删除而不是禁用。开关指示如何删除它

因为删除日志可能需要很长时间,所以这些开关允许您控制日志是在进程内运行还是在进程外运行。/n开关在进程中执行deletejournal,将句柄锁定到它(可以将其视为“锁定计算机”)。这迫使您等待,直到它完成。/d开关在进程外执行,允许您继续工作。删除日志可能需要数小时才能运行,并将在连续重新启动过程中继续,直到完成。我见过人们在相互排斥的情况下同时应用这两个开关

删除日志几乎总是安全的,但有时会对备份过程产生影响。在上次运行应用程序和删除日志之间,正在使用日志的应用程序将看不到文件更改。经过良好编程的应用程序将检测到日志已被删除,并将恢复到查找已更改文件或重新创建日志的替代方法。我建议删除是安全的,不管后果如何,因为在最坏的情况下,您只会损害备份的增量功能。您仍然可以执行完整备份并重新启动;至少你的数据没有丢失

重新创建日志
我被告知无需手动重新创建日志,因为运行备份(如通过控制面板的Windows-7备份选项)将自动重新创建NTFS日志

但是,如果确实要手动重新创建日志,则在命令提示下,可以通过以提升的权限运行以下命令来执行createjournal命令

fsutil usn [createjournal] m=<maxsize> a=<allocationdelta> <volumepath>
您将获得类似以下内容的输出:

a
m
参数以十六进制字节提供

因此,我建议

将文件和目录的数量加在一起作为总数;本例中为1616718

然后,您可以使用下表(复制自)作为替代指南,以找到最大大小和分配增量的适当值

请参阅创建日记账指南: 另请参阅一些好的建议:

fsutil usn createjournal m=67108864 a=8388608 C:
C:\Windows\system32> dir C:\ /s /a /w