คำตอบนั้นขึ้นอยู่กับไดรเวอร์ที่คุณติดตั้ง ฉันมีขั้วต่อ SATA 6 พอร์ต (Intel ICH9 - 2922) และฉันใช้ไดรเวอร์ MS-AHCI ที่เป็นค่าเริ่มต้น หากคุณอยู่ในเรือลำเดียวกันให้สร้างกุญแจใหม่สองสามอันที่นี่:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci
_
\Controller0\Channel0
\Channel1
\Channel2
\Channel3
\Channel4
\Channel5
ตอนนี้สร้าง DWORD ใหม่ - ชื่อ: TreatAsInternalPort
, ค่า: 1
ใต้ChannelN
ปุ่มแต่ละปุ่ม ตอนนี้รีบูตเพื่อให้การเปลี่ยนแปลงมีผลและไม่ควรแสดงไดรฟ์ใน 'Safely Remove .. ' อีกต่อไป
สิ่งที่เกินบรรยาย:
สาเหตุที่แท้จริงของปัญหาคือไดรเวอร์ SATA ระบุว่าพอร์ต SATA ภายในของคุณไม่ถูกต้อง ดังนั้นถ้าคุณมองไปที่ค่า 'ความสามารถ' สำหรับไดรฟ์ของคุณ (s) ภายใต้HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\IDE\..\..
มันอาจจะตั้งไว้ที่ 0x4 ซึ่งจะทำให้มันถอดออกได้ (ตาม Oring ธงบิตทำของค่าด้านล่าง) เมื่อคุณเพิ่มการตั้งค่ารีจิสทรีที่ ตอนนี้ไดรเวอร์ SATA คืนค่าความสามารถที่ต่างออกไป (ส่วนใหญ่น่าจะเป็น 0) และไดร์ฟหยุดแสดงภายใต้ 'Safely Remove .. '
//from inc/api/cfgmgr32.h (WINDDK)
#define CM_DEVCAP_LOCKSUPPORTED (0x00000001)
#define CM_DEVCAP_EJECTSUPPORTED (0x00000002)
#define CM_DEVCAP_REMOVABLE (0x00000004)
#define CM_DEVCAP_DOCKDEVICE (0x00000008)
#define CM_DEVCAP_UNIQUEID (0x00000010)
#define CM_DEVCAP_SILENTINSTALL (0x00000020)
#define CM_DEVCAP_RAWDEVICEOK (0x00000040)
#define CM_DEVCAP_SURPRISEREMOVALOK (0x00000080)
#define CM_DEVCAP_HARDWAREDISABLED (0x00000100)
#define CM_DEVCAP_NONDYNAMIC (0x00000200)