Bisakah Windows memberi tahu saya apa yang menggunakan drive USB saya?

100

Menjadi warga negara yang baik saya, saya klik kiri pada ikon "Safely Remove Hardware" di taskbar saya, dan pilih drive USB saya untuk turun.

Lalu saya menerima pesan:

Windows tidak dapat menghentikan perangkat volume Generik Anda karena sedang digunakan. Tutup semua program atau jendela yang mungkin menggunakan perangkat, lalu coba lagi nanti.

Tentu saja, sebagai Sistem Operasi, ia tahu persis aplikasi apa yang menggunakan perangkat saya. Jadi mengapa itu tidak memberitahu saya?

Atau adakah cara yang bisa saya temukan?

PP
sumber
1
Saya memiliki banyak kesempatan dengan Vista di mana saya tidak pernah bisa mengetahuinya dan itu tidak akan "melepaskan" USB sampai saya boot ulang / shutdown. Upgrade ke Win7 dan tidak memiliki masalah sejak itu, jadi saya pikir, setidaknya pada PC saya, itu adalah masalah driver sistem.
BBlake

Jawaban:

57

Anda dapat menggunakan Sysinternals Process Explorer untuk menemukan pegangan untuk semua file yang terbuka. Cukup pilih Findmenu dan pilih Find Handle or DLL. Dalam dialog yang terbuka masukkan huruf drive ke dalam kotak pencarian. Hasil pencarian harus menunjukkan semua file yang terbuka dari drive dan proses mana yang dibuka.

astaga
sumber
4
Setelah membunuh proses yang menyinggung, Windows masih tidak akan membebaskan drive USB. Go figure ....
Grantly
2
Saya hanya menjelajahi drive dengan Explorer. Kemudian dari shell cmd.exe, saya menjalankan skrip cadangan pada drive itu, yang selesai. Tutup jendela cmd.exe. Membunuh dan memulai kembali Explorer.exe dengan Taskmgr. Tetap saja, drive sedang digunakan dan tidak akan lepas.
Kaz 6-16
3
Process Explorer tidak menemukan apa pun untuk M:.
Kaz 6-16
2
Jika Process explorer tidak menunjukkan apa-apa, Anda dapat menggunakan perangkat lunak OpenedFilesView dari Nirsoft. Anda tidak akan melihat program mana yang menggunakan drive (atau Process Explorer akan menemukannya juga) tetapi Anda masih akan melihat pegangannya, file yang digunakan dan memiliki kemungkinan untuk menutupnya (jika Anda merasa ingin mengambil risiko)
LeFauve
4
Windows Explorer sendiri terkadang dapat mengunci drive. Anda dapat meluncurkan kembali Windows Explorer di Task Manager di Windows 10 (gulirkan sepenuhnya ke bawah untuk menemukannya). Di versi Windows yang lebih lama, Anda harus Mengakhiri explorer.exe, dan secara eksplisit menjalankan explorer.exe dari menu File.
Christopher Hostage
113

Metode Sederhana : Windows (setidaknya 10, AFAIK) membuat entri dalam log peristiwa ketika Anda mencoba untuk mengeluarkan drive yang dapat dilepas dan Anda tidak bisa karena proses memiliki kunci di atasnya. Dua ID Peristiwa 225 akan menunjukkan ID proses dan nama proses yang bertanggung jawab untuk kunci.

Selangkah demi selangkah:

1) Mulai penampil acara

2) Buka "Log Windows" lalu "Sistem"

3) Klik kanan pada "Sistem" dan pilih "Filter Log Sekarang"

4) Dalam dialog yang muncul, masukkan "225" (tanpa tanda kutip) di mana dikatakan "Semua ID Peristiwa"

5) Anda kemudian akan melihat semua peristiwa yang berkaitan dengan tidak dapat mengeluarkan karena proses mengunci drive.

6) Lihatlah cap waktu pada semua entri ini dan cari tahu yang mana yang berhubungan dengan waktu aktual ketika Anda mencoba untuk mengeluarkan drive.

7) Ambil tindakan yang sesuai. Mengakhiri tugas dengan anggun (menutup program yang memiliki kunci) sebagian besar tidak masalah. Menghentikan layanan Pencarian Windows juga ok. Menghentikan pemindaian antivirus seharusnya baik-baik saja (jika Anda tidak curiga Anda memiliki virus pada saat itu). Pergi ke task manager dan membunuh prosesnya mungkin tidak baik. Bagaimana cara mengatasi ini berada di luar cakupan pertanyaan ini.

8) (Simpan tampilan ...) di panel Tindakan (di bingkai kanan) Anda bisa "Simpan Filter ke Tampilan Kustom ..." sehingga Anda akan menemukannya di "Tampilan Kustom" (di bingkai kiri di atas " Log Windows ")

ID proses: Entri Penampil Acara

Nama proses: Entri Penampil Acara

8) Jika Anda tidak memiliki entri lain dengan nama proses , proses Sistem (proses id 4) memegang drive Anda. Untuk menyiasati yang ini, Anda harus pergi ke manajemen disk dan meletakkan drive yang ingin Anda keluarkan offline . Jika file ada di boot drive Anda, Anda tidak bisa membuatnya offline. Dalam hal ini, lihat catatan di bawah ini:

UPDATE 2018 : Saya telah melihat aplikasi seperti WhatsApp Desktop menjaga pegangan di Chrome Canary melalui Proses Sistem . Karena Anda tidak dapat mengeluarkan disk boot (karena sedang digunakan), solusinya adalah menggunakan utilitas Sysinternals yang bagus , yang disebut Handle . Setelah Anda menutup program yang memiliki file terkunci, luncurkan gagang dan jalankan (sebagai contoh) handle64 "Chrome SxS\Application\chrome.exe"untuk melihat apakah gagang masih ada pada file yang memiliki kunci PID 4. Melalui coba-coba, tutup setiap program yang sedang berjalan, hingga tidak ada lagi pegangan pada file yang terkunci.

Metode terbaik (berbayar)

Unduh dan jalankan SafelyRemove . Ini membantu Anda mengeluarkan drive dan jika tidak bisa melakukannya, ini menampilkan proses mana yang memiliki kunci di dalamnya:

masukkan deskripsi gambar di sini

Gaia
sumber
1
Bisakah Anda memberi tahu tentang nomor 225. Bagaimana Anda mendapatkannya?
Ajeeb.KP
3
The application System with process id 4 stopped the removal or ejection for the device ...Yah ... Saya akan mencoba menonaktifkan Distributed Link Tracking Clientdan melihat apakah itu membantu.
Tithen-Firion
17
Windows 10 Task Manager juga dapat mencegah penghapusan! Siapa yang baru?
Alex Che
3
Juga berfungsi dengan baik untuk win7. Mungkin berfungsi dengan baik pada win8 juga. Terima kasih untuk metode ini. Masalahnya bisa menyebalkan.
Syndacate
2
Tip yang bermanfaat. Terima kasih untuk itu. Saya telah menyimpan tampilan khusus "Perangkat Terkunci" untuk akses cepat di masa mendatang ke tampilan yang difilter ini.
Steve Crane
6

Anda juga dapat menggunakan baris perintah untuk meminta log Windows , dengan wevtutil.exe (sejak Windows 7) dengan pengetahuan bahwa Windows Kernel-PnP menggunakan Event ID 225 untuk mencatat sistem (selalu memiliki proses id 4) penolakan untuk menghapus atau mengeluarkan perangkat USB \ VID _ #### & PID _ ############ (di mana # menunjukkan angka heksadesimal).

wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
  • qe System: kueri acara dari log Sistem
  • / q: permintaan dengan XPath
  • EventID=225 berarti sistem menolak permintaan ejeksi
  • / c: 5: jumlah entri yang akan diambil (5 di sini)
  • / f: text: format (default adalah xml)
  • / rd: true: urutan terbalik (terbaru lebih dulu)

Saya menggunakannya dalam skrip batch.

Tchonialite
sumber
5

Bagi saya (Windows 7).

  1. Tekan tombol Windows
  2. Dalam "program pencarian dan file: ketik: diskmgmt.msc
  3. Dalam daftar pencarian, temukan entri dan klik kanan - pilih jalankan sebagai administrator
  4. Masukkan kredensial admin untuk menjalankan "Manajemen Disk" (jika diperlukan)
  5. Temukan drive usb yang tidak sesuai yang tidak akan dikeluarkan dalam daftar disk
  6. Panel kiri, klik kanan pilih " Keluarkan "
  7. Menangani "harus" ditutup - Anda selalu dapat memeriksa dua kali di internal explorer proses sys

Catatan: "Lepas perangkat keras dan keluarkan media dengan aman" ikon bilah tugas tidak lagi menampilkan drive usb - hanya tiga titik

  1. Hapus drive secara fisik
blakev
sumber
4
Tidak ada panel sebelah kiri atau perintah Keluarkan di Manajemen Disk Windows 7. (Versi 1.00, menurut Bantuan / Tentang). Saya dapat Kecilkan, Hapus, Tandai Aktif, Format, ... tidak Keluarkan.
Kaz 6-16
1
Tidak dapat menemukan Eject, tetapi opsi Offline melakukan pekerjaan. Dan jangan lupa untuk membuatnya online lagi ketika menghubungkan kembali perangkat penyimpanan Anda.
Adriano P
2
Baru-baru ini saya menggunakan 'Offline' untuk menghentikan disk USB-SSD eksternal saya yang kemungkinan besar digunakan oleh sistem (Win 10), setelah itu "penghapusan aman" berhasil. Beberapa waktu kemudian saya memasukkan kembali disk itu dan mendapatkan disk dengan partisi "RAW". Dengan mengeksekusi chkdsk /f f:sistem file entah bagaimana direkayasa ulang, tetapi semuanya mendarat di 'found,000'. Jadi ... metode itu tidak terlihat benar-benar aman. Untungnya saya tidak memiliki sesuatu yang sangat penting pada disk itu ...
Xtra Coder
5

Berikut ini adalah perintah PowerShell cepat untuk menanyakan log peristiwa dan menunjukkan aplikasi mana yang memblokir ejeksi drive (berfungsi untuk saya dengan Windows 10, mungkin juga berfungsi dengan 7/8)

Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap

Output akan mencantumkan semua instance dalam satu jam terakhir di mana sistem tidak dapat mengeluarkan drive disk. The Pesan kolomnya menunjukkan proses yang diblokir ejeksi. Dalam contoh saya di bawah ini, task manager sebenarnya adalah pelakunya dan saya bisa mengeluarkan setelah menutup task manager.

PS C:\Users\Jonathan> Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | \Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap

   Index Time          EntryType   Source                 InstanceID Message
   ----- ----          ---------   ------                 ---------- -------
   14692 Sep 07 10:50  Warning     Microsoft-Windows-Ke          225 The application \Device\HarddiskVolume4\Windows\System32\Taskmgr.exe with process id 11972 stopped
                                   rnel-PnP                          the removal or ejection for the device USB\VID_0781&PID_5575\200445301013C111B1A0.
   14693 Sep 07 10:50  Warning     Microsoft-Windows-Ke          225 The application \Device\HarddiskVolume4\Windows\System32\Taskmgr.exe with process id 11972 stopped
                                   rnel-PnP                          the removal or ejection for the device USB\VID_0781&PID_5575\200445301013C111B1A0.
Jon
sumber
3

Anda dapat memulai resmon.exe (melalui WIN + R), buka disk> Aktivitas Disk> Urutkan berdasarkan File Sekarang Anda dapat melihat semua file yang diakses oleh sistem dan proses mana yang mengaksesnya, dipesan oleh jalur file (yang dimulai dengan btw mulai dengan surat drive). Mungkin tidak bekerja dengan semua kasus, tetapi ini adalah pendekatan sederhana.

Restart komputer sepertinya "membebaskan" penggunaan perangkat. Juga untuk penghapusan yang lebih cepat, Anda dapat menonaktifkan caching windows pada bagian Hardware perangkat Anda, kadang-kadang windows akan memakan waktu lebih lama dari yang diharapkan untuk menyiram cache ke disk eksternal dan akan menampilkan pesan yang mengatakan bahwa perangkat sedang digunakan (karena akan, oleh Windows itu sendiri)

Felype
sumber
Mirip dengan ini: Di ​​resmon.exe, di tab CPU. Gulir ke bawah ke kotak Associated Handles. Ada kotak pencarian Menangani Pencarian di sana, di mana Anda bisa memasukkan huruf drive yang terkunci itu.
Andrew
2

Jika Anda membuka "Komputer Saya" dan drive Anda tidak terdaftar di bawah header "Penyimpanan yang Dapat Dilepas", maka Windows melihatnya sebagai sumber daya sistem tetap karena suatu alasan. Anda harus meng-unmount partisi apa pun pada drive.

Jika demikian, buka "Manajemen Komputer", lalu buka "Manajemen Disk". Untuk setiap partisi di perangkat, klik kanan partisi tersebut, pilih "Ubah Huruf dan Jalur Drive", dan hapus semua huruf drive yang ditetapkan untuk partisi itu. Setelah melakukannya, Anda harus menemukan bahwa fitur "keluar dengan aman" berfungsi seperti yang Anda harapkan.

pengguna1575326
sumber
1
Ini berfungsi persis seperti yang Anda jelaskan pada laptop saya yang menjalankan Windows 7 Home Premium. Saya berharap tombol di windows akan menggunakan kata "Lepas" bukan "Hapus" (yang mengkhawatirkan mirip dengan "hapus" dalam pikiran saya).
steveOw
0

Apakah USB yang dilaporkan windows sedang digunakan ... sama seperti orang lain di sini.

Di Windows 10 Ctrl + Alt + Del sampai ke Task Manager.

Temukan dengan menggulir - Windows Explorer. dan sorot.

Kanan bawah adalah tombol ramah yang bagus yang disebut "Restart Process"

Periksa tiga kali lipat bahwa "Windows Explorer" adalah satu-satunya yang disorot.

Klik kiri mouse tombol ramah "Restart Process".

Saya hanya punya satu Explorer, yang lain kadang-kadang punya dua. Catat yang mana kembali. Coba dan tutup / keluarkan USB. Milik saya bekerja dengan baik, tutup USB.

Jika milik Anda tidak mengeluarkan / menutup, maka kemungkinan itu adalah Explorer lainnya. Coba lagi dan Restat yang itu. Semoga berhasil.

John Henson
sumber
4
Selamat datang di superuser: Harap baca lagi pertanyaan dengan seksama. Jawaban Anda tidak menjawab pertanyaan awal. "Bisakah Windows memberi tahu saya apa yang menggunakan drive USB saya?" Silakan luangkan waktu beberapa menit dan baca: - superuser.com/help. Jawab: superuser.com/help/how-to- jawab , sekali lagi selamat datang di superuser. Terima kasih
mic84