การลบไดรฟ์ USB ภายนอกอย่างปลอดภัยล้มเหลวเนื่องจากการขยาย $


26

เมื่อเชื่อมต่อฮาร์ดไดรฟ์ USB 3.0 ภายนอกกับพอร์ต USB 3.0 ของฉันฉันจะไม่สามารถนำออกได้อย่างปลอดภัย

อย่างใดหน้าต่างจะเปิดไฟล์เจอร์นัลป้อนคำอธิบายรูปภาพที่นี่ เสมอ : "เสมอ"ในเวลานี้ฉันเชื่อมต่อไดรฟ์เท่านั้นคัดลอก VM 10GB และต้องการยกเลิกการเชื่อมต่อในภายหลัง (เช่น 15 นาทีหลังจากคัดลอกดังนั้นการคัดลอกทั้งหมดจึงเสร็จสิ้น)

ที่คุณสามารถดูไม่มีโปรแกรมอื่น ๆ การรักษาที่จับบนดิสก์นอกเหนือจากระบบ ฉันพยายามเริ่มต้นใหม่explorer.exeเช่นเดียวกับRemoveDrive.exeจาก Uwe Sieber ไม่มีโชคล็อคของฮาร์ดไดรฟ์ยังคงอยู่

ทางออกเดียวของฉันคือถอดปลั๊กออก (ในขณะที่ฉันกลัวว่าจะทำให้ข้อมูลเสียหาย) หรือรีสตาร์ทคอมพิวเตอร์ (ช่วยเสมอใช่ไหม)

มันอาจจะมีบางอย่างเกี่ยวกับฉันที่มีฮาร์ดไดรฟ์ SSD และดิสก์ภายนอกเป็นไดรฟ์ปกติใช่หรือไม่ มันอาจจะมีสิ่งที่จะทำอย่างไรกับไดรเวอร์ USB 3.0 (NEC Electronics USB Hub)? ฉันไม่เคยมีปัญหานี้เมื่อใช้พอร์ต USB 2.0 ปกติ

มีแนวคิดใดบ้างเกี่ยวกับวิธีการ unmount ดิสก์อย่างถูกต้อง


หากคำตอบใด ๆ เหล่านี้เป็นวิธีการแก้ปัญหาอย่าลังเลที่จะ upvote หรือทำเครื่องหมายเป็นคำตอบ
user88311

คำตอบ:


25

ฉันมาหาคำอธิบายที่เป็นไปได้หรือวิธีที่ง่ายกว่า (อ่าน: อัตโนมัติ / สคริปต์) เพื่อล้าง "ล็อค" นี้ในข้อมูลเมตาของ MFT / TxF / NTFS คิดว่าฉันจะทิ้งเรื่องนี้ไว้ที่นั่นเพราะฉันมีทางออกที่ได้ผลสำหรับฉันในสถานการณ์ที่นับไม่ถ้วน ฉันใช้มันเพื่อลบไดรฟ์ USB และ eSATA ทุกรูปแบบที่ติดขัดเช่นนี้ ดูเหมือนว่าปัญหานี้จะเป็นไดรฟ์แบบถอดได้ที่ติดตั้งเป็นไดรฟ์แบบตายตัวเช่นใน eSATA dock หรือ USB enclosure ธัมบ์ไดรฟ์ USB โดยทั่วไปดูเหมือนจะไม่แสดงปัญหานี้สำหรับฉัน

สิ่งที่ควรทราบในความแตกต่างครั้งล่าสุดนี้: Sandisk Extreme USB 3.0 ซึ่งเป็นสัตว์ประหลาดที่ประกอบด้วยตัวควบคุม SSD ในร่างกายของคีย์ USB และยังแสดงให้เห็นว่าเป็นไดรฟ์คงที่แม้ว่ามันจะดูเหมือนว่าไม่มีปัญหาใด ๆ การลบอย่างปลอดภัยที่ทำเสร็จแล้วดังนั้นฉันจึงคาดว่าอย่างน้อยที่สุดก็ปิดการแคชการเขียนเนื่องจากความเร็วและอาจเป็นอย่างอื่นเนื่องจากดูเหมือนว่ามันจะไม่เคยมีปัญหานี้ ไม่จำเป็นต้องเป็นตัวอย่างที่สมบูรณ์แบบเนื่องจากฉันยังไม่ได้ทำการทดสอบอย่างละเอียด (นี่เป็นเพียงเรื่องเล็ก ๆ น้อย ๆ ) แต่มันอาจทำให้เข้าใจได้เล็กน้อยเกี่ยวกับเรื่องนี้เนื่องจากลักษณะ "คงที่" แต่ยังขาดความไวต่อปัญหานี้ แค่คิดอาหาร

<- The Solution ->

เอาล่ะใส่คุณต้องออฟไลน์ไดรฟ์ คุณสามารถทำได้หนึ่งในสองวิธี หมายเหตุ: มีวิธีที่สั้นกว่าเล็กน้อยในการทำเช่นนี้ แต่นี่เป็นขั้นตอนที่ละเอียดถี่ถ้วนเพราะฉันไม่รู้จักผู้ชมของฉัน วิธี GUI นั้นเร็วที่สุดเนื่องจาก diskpart.exe ไม่ใช้สวิตช์หรือคำสั่ง / อาร์กิวเมนต์ในบรรทัด

  1. GUI: เรียกใช้ -> "diskmgmt.msc" -> ค้นหาไดรฟ์ของคุณในรายการดิสก์ทางกายภาพ (บานหน้าต่างด้านล่าง) -> คลิกขวาที่ไดรฟ์ (ส่วนซ้ายสุด) ไม่ใช่พาร์ติชัน -> คลิก "ออฟไลน์"

หรือ:

  1. CLI: Run -> "cmd.exe" -> type "diskpart" -> type "list disk" ค้นหาดิสก์ # -> type "select disk x" โดยที่ x คือ # ดิสก์ของคุณจากขั้นตอนสุดท้าย -> type "ดิสก์ออฟไลน์" ตอนนี้คุณสามารถออกจากพรอมต์คำสั่งหรือเพียงพิมพ์ "exit" ที่ diskpart แล้วปิดพรอมต์

หมายเหตุ:

  • สิ่งที่สำคัญคือควรออฟไลน์โวลุ่มเนื่องจากจะเป็นการลบการเก็บข้อมูลของ NTFS ลงในไดรฟ์

  • ดิสก์ #s นั้นเหมือนกันเสมอระหว่าง diskpart.exe และ diskmgmt.msc เพราะพวกเขากำลังดึงข้อมูลจากที่เดียวกันในกรณีที่คุณอยากรู้อยากเห็น / กังวล / ระมัดระวัง


1
โกงนี่ดูดีมาก อดใจรอไม่ไหว และใช่สิ่งนี้จะเกิดขึ้นกับไดรฟ์คงที่สำหรับฉันเสมอโดยปกติแล้วไดรฟ์ภายนอกที่โฮสต์ VM ยังคงมีคำถามหนึ่งข้อ: หลังจากตั้งค่าไดรฟ์ภายนอกแบบออฟไลน์แล้วจะเป็นอย่างไร เพียงถอดปลั๊ก ลบอย่างปลอดภัยหรือไม่
Dennis G

สิ่งนี้ใช้ได้สำหรับฉัน
hattenn

มันดูมีประโยชน์ขอบคุณ คำตอบโดย @elieux นั้นง่ายที่สุดหากเป็นเพียงตัวจัดการงานที่ทำให้เกิดปัญหา
แก้ไข Reg

เพียงแค่ทบทวนคำถามเก่า ๆ อีกครั้งและฉันตรวจสอบลิงก์ไปยัง Uwe Sieber removerive.exe ที่คุณบันทึกไว้และฉันรู้สึกว่ามันจะทำงานผ่านกลไกเดียวกัน สำหรับไดรฟ์ทางกายภาพ (จำลองหรือไม่เช่นไดรฟ์ข้อมูล iSCSI) และหลังสำหรับพาร์ติชัน / ไดรฟ์ที่เมานต์ (เช่น C :, X: ฯลฯ ) ... ไม่แน่ใจว่าพวกมันทำงานอย่างไรภายใต้แผ่นงาน) ใช้ตัวเลือก "-e" ตามคำแนะนำ removerive.exe: "" [-e] พยายามที่จะยกเลิกการเชื่อมต่อและนำออกหากการลบล้มเหลว ""
Rook

สุดท้ายดูเหมือนว่า Uwe Sieber จะอธิบายกลไกการเล่นที่รหัส / API และระดับข้อผิดพลาด: codeproject.com/Articles/13839/…
Rook

10

วันนี้มันเกิดขึ้นกับฉันที่จะดูในบันทึกเหตุการณ์ ฉันพบสิ่งนี้หลังจากพยายามลบ:

บันทึก: ระบบ, แหล่งที่มา: Kernel-PnP, รหัสเหตุการณ์: 225, ระดับ: คำเตือน

แอปพลิเคชัน \ Device \ HarddiskVolume2 \ Windows \ System32 \ Taskmgr.exe ที่มี ID กระบวนการ 6436 หยุดการลบหรือออกสำหรับอุปกรณ์ [... ]

ดังนั้นฉันจึงปิดตัวจัดการงานและลบอย่างปลอดภัยทำงาน


ยอดเยี่ยม วิธีนี้แก้ไขปัญหาสำหรับฉัน ตอนนี้ทำไม Microsoft ไม่สามารถใส่ข้อมูลนั้นลงในกล่องโต้ตอบที่ระบุว่า "โปรแกรม" ยังใช้ไดรฟ์อยู่
แก้ไข Reg

เยี่ยมมากนี่แก้ปัญหาสำหรับฉันด้วย Windows 10 พบว่าฉันมี Taskmgr ใน Autostart ดังนั้นทำไม Taskmgr จึงล็อคไดรฟ์ USB
weberjn

แม้ว่าการสรุป (ดูคำตอบของ @ rook) และสิ่ง fsutil ได้ทำงานในอดีตสำหรับฉัน แต่วันนี้มันไม่ได้ ProcessExplorer คิดว่าเป็นเพียง "ระบบ" ที่ทำการล็อค ไม่ว่าในกรณีใด EventViewer จะแสดงผู้ร้ายตัวเดียวกับคุณ (TaskManager) ดังนั้นฉันจึงปิดมันและฉันก็เป็นสีทอง
mpag

5

ฉันสร้างสคริปต์ชุดงานนี้เพื่อ "ปลดล็อค" ปริมาณใด ๆ เพียงเรียกใช้สคริปต์. bat ในฐานะผู้ดูแลระบบเลือกระดับเสียงแล้วกด ENTER หลังจากนั้นคุณควรจะสามารถใช้ "Safe remove" ตามปกติเพื่อถอดหน่วย

@echo off
@cls

set tempfile="%TEMP%\diskscrp.dsk"

echo.
echo   === Disk removal tool ===
echo.
echo   Select the disk volume number
echo   (if the disk has multiple volumes, select any of them)
echo.
echo list volume | diskpart | findstr /C:Volume /C:---
echo.
set /p volume="   Selected volume: "
echo.

echo select volume %volume% >>%tempfile%
echo offline disk >>%tempfile%
echo online disk >>%tempfile%

diskpart /s %tempfile% | findstr /C:"not valid"

if "%ERRORLEVEL%"=="1" (
  echo   Disk has been unlocked successfully.  Try to safely remove it now.
)

del /F %tempfile%

สคริปต์นี้เป็นไปตามคำแนะนำ @Rook ดังนั้นจึงใช้diskpartเพื่อทำให้ดิสก์ออฟไลน์ เมื่อเสร็จสิ้นการจัดการทั้งหมดจะถูกบังคับให้ปิด ความแตกต่างในสคริปต์นี้คือทำให้ดิสก์กลับสู่สถานะออนไลน์โดยอัตโนมัติดังนั้นจึงสามารถจดจำได้ในครั้งถัดไปที่เชื่อมต่อกับระบบ


หวาน! ยังไม่ได้ใช้ แต่ฉันขอขอบคุณความคิดริเริ่มของคุณในการทำให้คนอื่นง่ายขึ้น ... ฉันได้รับสาธารณูปโภคอื่น ๆ ที่ให้ข้อมูลเพิ่มเติม (เช่น Hotswap!: mt-naka.com/hotswap/index_enu.htm ) เกี่ยวกับ ไดรฟ์แบบถอดได้ / แบบคงที่กว่า Windows ในตัว แต่ไม่พบโซลูชันออฟไลน์ที่รวดเร็วและสกปรกดังนั้นนี่จึงยอดเยี่ยมมาก!
โกง

3

ส่วนใหญ่ของไดรฟ์ภายนอก / Windows OS คอมโบมีปัญหานี้อาจจะมากที่สุด

สิ่งที่ฉันทำคือพักกล่องของฉัน (แล็ปท็อป) และรอสิบวินาทีเพื่อให้ไดรฟ์ภายนอกปิดตัวลง (ฉันได้ยิน) จากนั้นถอดปลั๊ก

หากระบบอยู่ในโหมดสลีปการดำเนินการ I / O ทั้งหมดจะเสร็จสมบูรณ์ & บัส I / O นั้นหยุดทำงาน การรอให้ไดรฟ์ปิดลงคือ "สายพานและสายห้อย" ด้านบน

(โปรดทราบว่าหากมีคนหวาดระแวงเกินไปสำหรับวิธีการดังกล่าวการจำศีลควรจะเพียงพออย่างเต็มที่ไม่จำเป็นต้องปิดเครื่องอย่างเต็มที่)


วิธีแก้ปัญหา แต่ควรทำงาน
เดนนิส G

1

สำหรับตอนนี้คุณสามารถพยายามที่จะตัดการเชื่อมต่อภายนอกโดยการปิดเครื่องคอมพิวเตอร์และถอดปลั๊กแล้วจึงพยายามที่จะสูญเสียข้อมูลแล้วตั้งค่าสำหรับการลบง่ายเพื่อป้องกันการสูญเสียข้อมูลเมื่อเพียงแค่ถอดมันโดยไม่ต้องถอดมัน

ความจริงแล้วมันฟังดูเหมือนข้อผิดพลาด MBR ที่ไดรฟ์ติดอยู่เห็นตัวเองเสียบอยู่เสมอซึ่งในกรณีนี้ถ้าคุณถอดปลั๊กไดรฟ์ในขณะที่เปิดเครื่องคุณอาจสร้างความเสียหาย MBR และทำให้คุณมีตัวเลือก 2 ตัวด้วยตนเอง MBR หรือพยายามใช้ซอฟต์แวร์เช่นซ่อมแซม MBR เพื่อให้สามารถเข้าถึงไดรฟ์ได้อีกครั้งหรือใช้ซอฟต์แวร์เช่น gparted เพื่อฟอร์แมตดิสก์อีกครั้งและตั้งค่าตารางพาร์ติชันใหม่ที่มีข้อผิดพลาดเกิดขึ้น


"จากนั้นตั้งค่าเพื่อให้นำออกได้ง่าย" <- คุณช่วยอธิบายสิ่งที่คุณต้องการได้ไหม? ฉันจะรู้ได้อย่างไรว่าไดรฟ์คิดว่าเสียบปลั๊กอยู่เสมอไม่ได้เป็นไดรฟ์ USB ภายนอก
Dennis G

เสียบไดรฟ์ของคุณอีกครั้งเมื่อถูกลบในสถานะปิดเครื่องและคอมพิวเตอร์ได้เริ่มต้นขึ้นอีกครั้งคุณสมบัติฮาร์ดแวร์คลิกไดรฟ์คุณสมบัตินโยบายการปรับให้เหมาะสมเพื่อการกำจัดอย่างรวดเร็ว แก้ไข: ในคำถามของคุณคุณระบุว่าในความเป็นจริงแล้วเป็นไดรฟ์ usb ภายนอก
user88311

ในกรณีส่วนใหญ่ระบบจะติดตั้งไดรฟ์ภายนอกด้วยการตั้งค่าสถานะ "กำจัดอย่างรวดเร็ว" และฉันรวบรวมการตั้งค่านี้จะทำให้ "ไม่น่าเป็นไปได้สูง" ที่เพียงแค่เสียบไดรฟ์จะทำให้เกิดปัญหา
Daniel R Hicks

1

ฉันเชื่อว่าไฟล์เหล่านี้อยู่ใน Transactional NTFS (TxF)

ฉันได้ยินว่า NTFS ของ Transactional ถูกใช้โดย autoupdate แต่ไม่มีเงื่อนงำว่าทำไมระบบต้องการวางสิ่งนี้ไว้บนดิสก์ภายนอกและจากนั้นไม่สามารถหยุดมันได้เมื่อร้องขอให้ลบอย่างปลอดภัย ข้อมูลทรัพยากร Fsutil ไม่แสดงกิจกรรมใด ๆ

ลองในคอนโซล cmd:

fsutil หยุดทรัพยากร E:

หรือถ้ามันไม่ช่วย

fsutil ทรัพยากร setautoreset จริง

และรีบูต คุณสามารถลองหยุดบริการที่เกี่ยวข้องกับ TxF ในการจัดการ / บริการคอมพิวเตอร์


นี่คือสิ่งที่น่าสนใจทีเดียว! ฉันจะตรวจสอบมันในครั้งต่อไปที่มันเกิดขึ้น
Dennis G

2
แต่ ... ไม่ได้ผล เมื่อรันfsutil resource stop <drive:>sysinternals handle.exeจะไม่แสดงหมายเลขอ้างอิงใด ๆ ดังนั้นพวกเขาจะถูกลบออก แต่เมื่อฉันพยายามที่จะลบออกอย่างปลอดภัยที่จับกลับไปที่เดิม
Dennis G

0

ฉันมีสิ่งเดียวกันที่เกิดขึ้นกับแฟลชไดรฟ์เมื่อเร็ว ๆ นี้ เช่นเดียวกับคุณฉันแสดงการจัดการ $ Extend ที่ใช้งานอยู่และคิดว่าพวกเขาป้องกันฉันจากการลบไดรฟ์อย่างปลอดภัย ฉันสะดุดในคำถามนี้และลองfsutilเสนอคำแนะนำของเซมเพื่อไม่มีผล สิ่งที่ได้ผลสำหรับฉันคือเลิกเมานท์ไดรฟ์ด้วยตนเอง เนื่องจากแฟลชไดรฟ์ของฉันติดตั้งเป็น F: ฉันจึงวิ่ง:

mountvol f: /d

จากนั้นฉันถอดปลั๊กไดรฟ์เสียบกลับเข้าไปใหม่ติดตั้งใหม่โดยใช้mountvol f: <volumename>และใช้งานได้ซักครู่ เมื่อเสร็จแล้วฉันจะตรวจสอบที่จับที่ใช้งานอยู่และเห็นรายการ $ Extend เดียวกันที่ฉันสังเกตเห็นก่อนหน้านี้ เมื่อฉันพยายามทำการกำจัดที่ปลอดภัย 'ปกติ' มันก็ประสบความสำเร็จแม้จะมีการจัดการ

ฉันไม่รู้ว่ามันเป็นโอกาสไหมที่มันเหมาะกับฉัน แต่ฉันเพิ่มที่นี่ในกรณีที่ช่วยคนอื่นได้


ฉันคิดว่าสิ่งที่ $ expand เป็นปลาเฮอริ่งแดง - มีเหตุผลอื่นที่ทำให้ Windows ไม่สามารถถอดไดรฟ์ได้
Daniel R Hicks

ตกลงการตระหนักว่าเป็นเหตุผลที่ดีที่สุดที่ฉันโพสต์คำตอบนี้ ฉันไล่ $ ขยายประเด็นอย่างไร้จุดหมายและพบว่าจุดจับเหล่านั้นไม่ได้ทำให้เกิดปัญหาใด ๆ กับการลบอย่างปลอดภัย ฉันแค่หวังว่าตั้งแต่ปลาเฮอริ่งแดงมาให้ฉันกับคำถามนี้บางทีคำตอบนี้อาจช่วยชาวประมงผู้โชคร้ายคนต่อไป :)
ajk
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.