Windows có thể cho tôi biết những gì đang sử dụng ổ USB của tôi?


100

Là một công dân tốt, tôi nhấp chuột trái vào biểu tượng "Xóa phần cứng an toàn" trên thanh tác vụ của mình và chọn ổ USB để tháo gỡ.

Sau đó tôi nhận được tin nhắn:

Windows không thể dừng thiết bị âm lượng Chung của bạn vì nó đang được sử dụng. Đóng mọi chương trình hoặc cửa sổ có thể đang sử dụng thiết bị, rồi thử lại sau.

Tất nhiên, là Hệ điều hành, nó biết chính xác những ứng dụng nào đang sử dụng thiết bị của tôi. Vậy tại sao nó không nói với tôi?

Hoặc có một cách mà tôi có thể tìm ra?


1
Tôi đã có nhiều lần với Vista, nơi tôi không bao giờ có thể tìm ra và nó sẽ không "giải phóng" USB cho đến khi tôi khởi động lại / tắt máy. Được nâng cấp lên Win7 và từ đó không gặp phải vấn đề đó, vì vậy tôi nghĩ rằng, ít nhất là trên PC của tôi, đó là sự cố trình điều khiển hệ thống.
BBlake

Câu trả lời:


57

Bạn có thể sử dụng Sysiternals Process Explorer để tìm tay cầm cho bất kỳ tệp nào đang mở. Chỉ cần chọn Findmenu và chọn Find Handle or DLL. Trong hộp thoại mở, nhập ký tự ổ đĩa vào hộp tìm kiếm. Kết quả tìm kiếm sẽ hiển thị tất cả các tệp được mở từ ổ đĩa và quá trình nào đã mở chúng.


4
Sau khi giết quá trình vi phạm, Windows vẫn không giải phóng ổ USB. Đi đi ....
Grantly

2
Tôi chỉ khám phá ổ đĩa với Explorer. Sau đó, từ một vỏ cmd.exe, tôi đã chạy một tập lệnh sao lưu trên ổ đĩa đó, nó đã hoàn thành. Đóng cửa sổ cmd.exe. Bị giết và khởi động lại Explorer.exe với TASkmgr. Tuy nhiên, ổ đĩa đang được sử dụng và sẽ không đẩy ra.
Kaz

3
Process Explorer không tìm thấy gì cho M:.
Kaz

2
Nếu Process explorer không hiển thị gì, bạn có thể sử dụng phần mềm OpenedFilesView của Nirsoft. Bạn sẽ không thấy chương trình nào đang sử dụng ổ đĩa (hoặc Process Explorer cũng sẽ tìm thấy nó) nhưng bạn vẫn sẽ thấy các thẻ điều khiển, các tệp đã sử dụng và có khả năng đóng chúng (nếu bạn cảm thấy muốn mạo hiểm)
LeFauve

4
Bản thân Windows Explorer đôi khi có thể khóa ổ đĩa. Bạn có thể khởi chạy lại Windows Explorer trong Trình quản lý tác vụ trong Windows 10 (cuộn xuống để tìm nó). Trong các phiên bản Windows cũ hơn, bạn sẽ phải Kết thúc explorer.exe và chạy explorer.exe một cách rõ ràng từ menu Tệp.
Con tin Christopher

113

Phương pháp đơn giản hơn : Windows (ít nhất là 10, AFAIK) tạo một mục trong nhật ký sự kiện khi bạn cố gắng đẩy ổ đĩa di động và bạn không thể vì một quy trình có khóa. Hai ID sự kiện 225 sẽ hiển thị ID tiến trình và tên của quy trình chịu trách nhiệm về khóa.

Từng bước một:

1) Bắt đầu trình xem sự kiện

2) Mở "Nhật ký Windows" rồi "Hệ thống"

3) Nhấp chuột phải vào "Hệ thống" và chọn "Lọc Nhật ký hiện tại"

4) Trong hộp thoại xuất hiện, nhập "225" (không có dấu ngoặc kép) trong đó ghi "Tất cả ID sự kiện"

5) Sau đó, bạn sẽ thấy tất cả các sự kiện liên quan đến không thể đẩy ra vì một quá trình đã khóa ổ đĩa.

6) Nhìn vào dấu thời gian trên tất cả các mục này và tìm ra mục nào liên quan đến thời gian thực tế khi bạn cố gắng đẩy ổ đĩa.

7) Hãy hành động thích hợp. Kết thúc một nhiệm vụ một cách duyên dáng (đóng chương trình có khóa) hầu hết thời gian. Dừng dịch vụ Windows Search cũng ok. Dừng quét vi-rút sẽ ổn (nếu bạn không nghi ngờ mình có vi-rút vào thời điểm đó). Đi vào trình quản lý tác vụ và giết quá trình có thể không ổn. Làm thế nào để đối phó với điều này là vượt quá phạm vi của câu hỏi này.

8) (Lưu chế độ xem ...) trong bảng Hành động (ở khung bên phải), bạn có thể "Lưu Bộ lọc vào Chế độ xem Tùy chỉnh ..." để bạn sẽ tìm thấy nó trong "Chế độ xem Tùy chỉnh" (ở khung bên trái phía trên " Nhật ký Windows ")

Xử lý ID: Mục trình xem sự kiện

Tên quy trình: Mục trình xem sự kiện

8) Nếu bạn không có mục khác với tên quy trình , quy trình Hệ thống (quy trình id 4) đang giữ ổ đĩa của bạn. Để giải quyết vấn đề này, bạn sẽ phải vào phần quản lý đĩa và đặt ổ đĩa bạn muốn đẩy ra ngoại tuyến . Nếu tệp nằm trong ổ đĩa khởi động của bạn, bạn không thể đặt nó ngoại tuyến. Trong trường hợp này, xem ghi chú bên dưới:

CẬP NHẬT 2018 : Tôi đã thấy các ứng dụng như WhatsApp Desktop giữ tay cầm trên Chrome Canary thông qua Quy trình hệ thống . Vì bạn không thể đẩy đĩa khởi động (beacuse nó đang được sử dụng), giải pháp là sử dụng một tiện ích Sysiternals tiện lợi khác , được gọi là Xử lý . Sau khi bạn đóng chương trình có tệp bị khóa, khởi chạy tay cầm và chạy (làm ví dụ) handle64 "Chrome SxS\Application\chrome.exe"để xem tay cầm có còn trên tệp có khóa PID 4 không. Qua thử nghiệm và lỗi, đóng từng chương trình đang chạy, cho đến khi không còn xử lý nào trên tệp bị khóa.

Phương pháp tốt nhất (trả phí)

Tải xuống và chạy SafelyRemove . Nó giúp bạn đẩy ổ đĩa ra và nếu không thể thực hiện được, nó sẽ hiển thị các tiến trình nào có khóa trên đó:

nhập mô tả hình ảnh ở đây


1
Bạn có thể vui lòng cho biết về số 225. Làm thế nào bạn có được nó?
Ajeeb.KP

3
The application System with process id 4 stopped the removal or ejection for the device ...Chà ... tôi sẽ thử vô hiệu hóa Distributed Link Tracking Clientvà xem nếu nó giúp.
Tithen-Firion

17
Trình quản lý tác vụ Windows 10 cũng có thể ngăn chặn việc xóa! Ai mới.
Alex Che

3
Cũng hoạt động tốt cho win7. Có lẽ hoạt động tốt trên win8 quá. Cảm ơn phương pháp này. Vấn đề có thể gây phẫn nộ.
Syndacate

2
Lời khuyên hữu ích. Cảm ơn vì điều đó. Tôi đã lưu chế độ xem tùy chỉnh "Thiết bị đã khóa" để truy cập nhanh vào chế độ xem được lọc này trong tương lai.
Steve Crane

6

Bạn cũng có thể sử dụng dòng lệnh để truy vấn nhật ký Windows , với wevtutil.exe (kể từ Windows 7) với kiến ​​thức rằng Windows Kernel-PnP sử dụng Event ID 225 để đăng nhập hệ thống (luôn có id id 4) để từ chối hoặc loại bỏ thiết bị USB \ VID _ #### & PID _ ############ (trong đó số # biểu thị số thập lục phân).

wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
  • qe System: truy vấn các sự kiện từ Nhật ký hệ thống
  • / q: truy vấn với XPath
  • EventID=225 có nghĩa là hệ thống từ chối yêu cầu phóng
  • / c: 5: số lượng mục cần truy xuất (5 tại đây)
  • / f: text: format (mặc định là xml)
  • / rd: true: thứ tự ngược lại (mới nhất trước)

Tôi sử dụng nó trong một tập lệnh bó.


5

Đối với tôi (Windows 7).

  1. Nhấn phím Windows
  2. Trong "chương trình và tệp tìm kiếm: gõ: diskmgmt.msc
  3. Trong danh sách tìm kiếm, tìm mục và nhấp chuột phải - chọn chạy với tư cách quản trị viên
  4. Nhập thông tin đăng nhập của quản trị viên để chạy "Quản lý đĩa" (nếu cần)
  5. Tìm ổ đĩa USB vi phạm sẽ không đẩy ra trong danh sách đĩa
  6. Bảng điều khiển bên trái, nhấp chuột phải chọn " Eject "
  7. Xử lý "nên" đóng - bạn luôn có thể kiểm tra kỹ trình thám hiểm nội bộ của sys

Lưu ý: Biểu tượng thanh tác vụ "Loại bỏ an toàn phần cứng và phương tiện truyền thông" không còn hiển thị ổ đĩa USB - chỉ ba dấu chấm

  1. Vật lý loại bỏ ổ đĩa

4
Không có bảng điều khiển bên trái hoặc lệnh Eject trong Windows 7 Disk Management. (Phiên bản 1.00, theo Trợ giúp / Giới thiệu). Tôi có thể thu nhỏ nó, xóa nó, đánh dấu nó hoạt động, định dạng, ... không có Eject.
Kaz

1
Không thể tìm thấy Eject, nhưng tùy chọn Ngoại tuyến đã thực hiện công việc. Và đừng quên đặt lại trực tuyến khi kết nối lại thiết bị lưu trữ của bạn.
Adriano P

2
Gần đây tôi đã sử dụng 'Ngoại tuyến' để dừng ổ đĩa USB-SSD bên ngoài mà hầu như có thể được sử dụng bởi hệ thống (Win 10), sau đó "loại bỏ an toàn" đã hoạt động. Một thời gian sau tôi cắm lại đĩa đó và có đĩa có phân vùng "RAW". Bằng cách thực hiện chkdsk /f f:hệ thống tập tin bằng cách nào đó đã được kết hợp lại, nhưng mọi thứ đã rơi vào 'Found.000'. Vì vậy, ... phương pháp đó có vẻ không thực sự an toàn. May mắn thay, tôi không có bất cứ thứ gì thực sự quan trọng trên đĩa đó ...
Xtra Coder

5

Đây là một lệnh PowerShell nhanh để truy vấn nhật ký sự kiện và hiển thị ứng dụng nào đang chặn việc phóng ổ đĩa (hoạt động với tôi với Windows 10, có lẽ cũng hoạt động với 7/8)

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

Đầu ra sẽ liệt kê tất cả các trường hợp trong một giờ qua nơi hệ thống không thể đẩy ổ đĩa. Các tin nhắn cột cho thấy quá trình đó bị chặn phóng. Trong ví dụ của tôi dưới đây, trình quản lý tác vụ thực sự là thủ phạm và tôi đã có thể đẩy ra sau khi đóng trình quản lý tác vụ.

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.

3

Bạn có thể bắt đầu resmon.exe (thông qua WIN + R), chuyển đến đĩa> Hoạt động trên đĩa> Sắp xếp theo tệp Bây giờ bạn có thể thấy tất cả các tệp đang được hệ thống truy cập và quá trình nào đang truy cập vào chúng, được sắp xếp theo đường dẫn tệp (btw bắt đầu với một ký tự ổ đĩa). Có thể không hoạt động với tất cả các trường hợp, nhưng đó là một cách tiếp cận đơn giản.

Khởi động lại máy tính có vẻ như "giải phóng" việc sử dụng thiết bị. Ngoài ra, để xóa nhanh hơn, bạn có thể tắt bộ đệm ẩn cửa sổ trên phần cứng của thiết bị, đôi khi các cửa sổ sẽ mất nhiều thời gian hơn dự kiến ​​để xóa bộ nhớ cache vào đĩa bên ngoài và sẽ hiển thị thông báo cho biết thiết bị đang được sử dụng (bởi vì nó sẽ, bởi Bản thân Windows)


Tương tự như thế này: Trong resmon.exe, trong tab CPU. Cuộn xuống hộp Associated Handles. Có hộp tìm kiếm Handles ở đó, nơi bạn có thể nhập thư của ổ đĩa bị khóa.
Andrew

2

Nếu bạn mở "Máy tính của tôi" và ổ đĩa của bạn không được liệt kê dưới tiêu đề "Bộ lưu trữ di động", thì Windows sẽ xem nó như một tài nguyên hệ thống cố định vì một số lý do. Bạn sẽ phải ngắt kết nối bất kỳ phân vùng trên ổ đĩa.

Nếu đây là trường hợp, hãy mở "Quản lý máy tính", sau đó chuyển đến "Quản lý đĩa". Đối với mỗi phân vùng trên thiết bị, nhấp chuột phải vào phân vùng, chọn "Thay đổi tên và đường dẫn ổ đĩa" và xóa mọi ký tự ổ đĩa được gán cho phân vùng đó. Khi bạn làm như vậy, bạn sẽ thấy rằng tính năng "đẩy ra an toàn" hoạt động như bạn đã mong đợi.


1
Điều này hoạt động chính xác như bạn mô tả trên máy tính xách tay của tôi chạy Windows 7 Home Premium. Tôi ước rằng nút trong windows sẽ sử dụng từ "Unmount" thay vì "Remove" (điều đáng lo ngại tương tự như "xóa" trong tâm trí của tôi).
steveOw

0

Có USB mà các cửa sổ báo cáo đang được sử dụng ... giống như mọi người khác ở đây.

Trong Windows 10 Ctrl + Alt + Del được vào Trình quản lý tác vụ.

Tìm bằng cách cuộn - Windows Explorer. và nổi bật.

Dưới cùng bên phải là một nút thân thiện đẹp có tên là "Khởi động lại quá trình"

Kiểm tra ba lần rằng "Windows Explorer" là thứ duy nhất được tô sáng.

Chuột trái bấm vào nút thân thiện "Khởi động lại quá trình".

Tôi chỉ có một Explorer duy nhất, những người khác đôi khi có hai. Chỉ cần lưu ý cái nào trở lại. Hãy thử và đóng / đẩy USB. Của tôi hoạt động tốt, đóng USB.

Nếu bạn không đẩy / đóng, thì có lẽ đó là Explorer khác. Hãy thử lại và Restat cái đó. Chúc may mắn.


4
Chào mừng bạn đến với superuser: Vui lòng đọc lại câu hỏi một cách cẩn thận. Câu trả lời của bạn không trả lời câu hỏi ban đầu. "Windows có thể cho tôi biết những gì đang sử dụng ổ USB của tôi không?" Vui lòng dành vài phút và đọc: - superuser.com/help .Answering: superuser.com/help/how-to- trả lời , một lần nữa chào mừng bạn đến với superuser
Cảm ơn bạn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.