Server 2012 R2 Datacenter Coreを使用しています。これは、Hyper-Vホストの1つです。私はワークステーションからHyper-Vマネージャーを使用して管理し、管理共有を介してファイルを操作します。
VMを作成し、VHDXをハードディスクフォルダーにコピーしました。次に、そのVHDXでVMを起動しようとしましたが、(それは古いイメージであり、持っていない管理者パスワードを要求されたため)、最初からビルドすることにしました。同じ名前で新しいVMを作成できるように、VMをシャットダウンし、ドライブを取り外し、VHDXを削除しようとしました。「システムでファイルが開いているため、アクションを完了できません」というメッセージが表示されます。これは発生しています最初はAVソリューションだと思っていましたが、17 GBのファイルをスキャンするのにこれほど長くはかかりません(私はそう思います)。
今、私は以前にこれをWin7システムで起こしました、そしてファイルを強制的に削除させる方法はたくさんあります。ただし、この場合は、ホストにアクセスしてオフラインで起動したり、SuperKillerFileDeleterUltraGuaranteedBoxをインストールしたりすることはできません。
どうすればそれを取り除くことができますか?
追伸また、新しいVHDXに別の名前を付けることもできます-haveはVM nameと同じではありません。しかし、それは単に侮辱的であり、とにかく未使用の17GBファイルをサーバーに永久に残すことはできません。
ええ、私はこれに遭遇しました。 Hyper-Vがファイルを保持している可能性が非常に高いです。 VHDを削除するには、おそらくHyper-V仮想マシン管理サービスを停止する必要があります。それか、Hyper-Vホストを再起動します。または、削除されたVMに対応する仮想マシンワーカープロセスがあるかどうかを確認することもできます。存在する場合は、VHDを削除できるように強制終了できます。
これをPowershellで実行して、仮想マシンワーカープロセスに対応するプロセスID「GUID」があるかどうかを確認できます(タスクマネージャーで仮想マシンワーカープロセスを右クリックし、[詳細に移動]を選択して、ユーザー名を確認します。 「GUID」)。削除されたVMに一致するプロセスが見つかった場合は、そのプロセスを強制終了してVHDを削除します。
Get-WmiObject -Namespace root\virtualization -class msvm_computersystem | select elementname, operationalstatus, processid, name| ft -auto
これは別の場所で見つかりました(私自身の作品ではなく、techienateafsからのコメント spiceworks )。それは私にとってはうまくいきました。マウントが失敗したため、仮想ディスクをマウントしてからマウント解除した後(Powershell Mount-WindowsImageおよびDismount-WindowsImageを介して)断続的にヒットしました。
「ホストサーバーでdiskmgmt.mscを開くことで問題を解決できました。そこにディスクが表示され、右クリックして[デタッチ]を選択します。正しいファイルがあることを確認するプロンプトが表示されます。その時点で、プロセスエクスプローラーは、ファイルはpid 4(ntカーネル&システム)で開かれなくなり、.vhdxファイルで自由に作業できます。」
さて、これはserverfaultへの私の最初の投稿にとって非常に恥ずかしいです...どうやら、それはmyファイルのハンドルを持つシステムでした。ローカルマシンを再起動したところ、ファイルを削除できました。私が最初にそれを試さなかったなんて信じられません。