Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows 7

ดิสก์ SSD/SATA ภายในแสดงเป็นอุปกรณ์ Removable ใน Windows

ในบางกรณี Windows 10, 8.1 และ 7 อาจจดจำ SSD ภายในหรือดิสก์ SATA เป็นอุปกรณ์ที่ถอดได้ (Removable media) ตามลำดับ ไอคอน Safe Removal จะปรากฏสำหรับดิสก์ใน System Tray (เหมือนเป็น USB Flash Drive ธรรมดา)

ดิสก์ SSD/SATA ภายในแสดงเป็นอุปกรณ์ Removable ใน Windows

แน่นอนว่าคุณจะไม่สามารถ Eject ดิสก์ SATA ที่ติดตั้ง Windows ได้ขณะทำงาน แต่คุณอาจถอดดิสก์ SATA เพิ่มเติมโดยไม่ได้ตั้งใจ ข้อเสียอีกอย่างของดิสก์ "Removable" คือ ใน Windows 7 และ 8.1 คุณไม่สามารถสร้างพาร์ติชันหลายพาร์ติชันบนมันได้ (เป็นไปได้เฉพาะใน Windows 10 1703 หรือใหม่กว่า)

ปัญหานี้เกี่ยวข้องกับการใช้ไดรเวอร์ร่วมกันสำหรับฮาร์ดดิสก์ SATA ภายในและ eSATA ภายนอกใน Windows — Standard SATA AHCI controller เมื่อเชื่อมต่อดิสก์เหล่านี้ ระบบปฏิบัติการจะตรวจสอบว่าโหมด HotPlug (การถอดดิสก์ขณะทำงาน) ได้รับการสนับสนุนหรือไม่ ฟีเจอร์นี้ได้รับการสนับสนุนเสมอหากคอนโทรลเลอร์ทำงานในโหมด AHCI ทางทฤษฎี ดิสก์ SATA ที่ทำงานในโหมดนี้ควรจะแสดงในไอคอน Safely Remove Hardware บนแถบงาน อย่างไรก็ตาม ผู้ผลิตชิปเซ็ตส่วนใหญ่รวมฟีเจอร์การซ่อนดิสก์ SATA ภายในอัตโนมัติไว้ในไดรเวอร์ของพวกเขาหรือในซอฟต์แวร์เพิ่มเติม

การติดตั้งไดรเวอร์คอนโทรลเลอร์ SATA

หาก SATA/SSD ภายในของคุณแสดงในรายการ Safely Remove Hardware คุณควรลองติดตั้งไดรเวอร์คอนโทรลเลอร์ที่เหมาะสมกว่านี้ ลองหาเวอร์ชันล่าสุดของไดรเวอร์คอนโทรลเลอร์ฮาร์ดดิสก์บนเว็บไซต์ของผู้ผลิตเมนบอร์ดหรือคอมพิวเตอร์ นอกจากนี้ ติดตั้งไดรเวอร์เนทีฟสำหรับชิปเซ็ตเมนบอร์ดของคุณ (Intel Rapid, RST และ AHCI Driver, Intel Matrix Storage Manager เป็นต้น)

การตั้งค่าคอนโทรลเลอร์ SATA ใน BIOS

ในการตั้งค่าขั้นสูงของบางเวอร์ชัน BIOS/UEFI คุณสามารถปิดโหมด HotSwap หรือ HotPlug สำหรับคอนโทรลเลอร์ได้ ตรวจสอบว่าฟีเจอร์นี้มีให้สำหรับคอมพิวเตอร์ของคุณหรือไม่ นอกจากนี้ คุณสามารถเปลี่ยนโหมดคอนโทรลเลอร์จาก AHCI เป็น IDE แต่คุณจะสูญเสียข้อดีทั้งหมดของ AHCI

TreatAsInternalPort: วิธีตั้งค่าโหมด SATA ผ่าน Registry

คุณสามารถปิดการถอดปลอดภัยของดิสก์ภายในบนคอนโทรลเลอร์ NVidia ผ่าน Registry ได้ รัน regedit.exe และไปที่ Registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvata. สร้างพารามิเตอร์ DWORD ชื่อ DisableRemovable ค่า 1 (โปรดทราบว่าแทน nvata อาจจะเป็น Registry key nvatabus)

นอกจากนี้ยังมีวิธีสากลในการตั้งค่าแอตทริบิวต์ "Internal Port" สำหรับพอร์ตคอนโทรลเลอร์เฉพาะใน Registry

ขั้นแรก คุณต้องตรวจสอบหมายเลขบัสของคอนโทรลเลอร์ที่ใช้ฮาร์ดดิสก์ของคุณ ในการทำเช่นนี้ ให้เปิด Device Manager (devmgmt.msc) หาดิสก์ของคุณในรายการ Disk drives และเปิด Properties จดจำ Bus Number และหมายเลขพอร์ตของดิสก์ของคุณ (Target ID) ในตัวอย่างของผม Bus และ Port number คือ 0

ดิสก์ SSD/SATA ภายในแสดงเป็นอุปกรณ์ Removable ใน Windows

ใน Windows 7 คุณสามารถทำเครื่องหมายพอร์ตคอนโทรลเลอร์ว่าเป็นภายในโดยใช้พารามิเตอร์ Registry TreatAsInternalPort ในการทำเช่นนี้ ให้รัน regedit.exe และไปที่ Registry key HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller(n)\Channel(N) โดยที่ (n) คือหมายเลขคอนโทรลเลอร์ที่ดิสก์เชื่อมต่อผ่าน และ (N) คือหมายเลขช่องทางคอนโทรลเลอร์ (พอร์ต)

ใน Registry key นี้ ให้สร้างพารามิเตอร์ DWORD ชื่อ TreatAsInternalPort ค่า 1.

ควรทำเช่นนี้สำหรับดิสก์ SATA ทุกตัวที่คุณต้องการทำเครื่องหมายว่าเป็นดิสก์ภายใน ตัวอย่างเช่น คุณมีคอนโทรลเลอร์ดิสก์ 2 ตัวในคอมพิวเตอร์ ตัวแรกมีดิสก์ SATA เชื่อมต่อ 2 ตัว และอีกตัวหนึ่งเชื่อมต่อกับคอนโทรลเลอร์ตัวที่สอง เพื่อทำเครื่องหมายว่าเป็นดิสก์ภายใน ให้รันคำสั่งเหล่านี้:

reg add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller0\Channel0" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001
reg add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller0\Channel1" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001
reg add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller1\Channel0" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001

หลังจากทำการเปลี่ยนแปลงแล้ว คุณต้องรีสตาร์ทคอมพิวเตอร์

โปรดทราบว่าตัวเลขที่กำหนดให้ดิสก์ (ที่คุณเห็นใน diskpart หรือ diskmgmt.msc) ไม่ได้สอดคล้องกับหมายเลขช่องทาง SATA หรือ RAID เสมอไป

ใน Windows 10/8.1 ไดรเวอร์ StorAHCI ถูกใช้แทน MSAHCI ดังนั้นตำแหน่งของพารามิเตอร์ TreatAsInternalPort ใน Registry จึงแตกต่างออกไป ไปที่ Key HKLM\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device สร้างพารามิเตอร์ Multi-string (REG_MULTI_SZ) TreatAsInternalPort และในแต่ละสตริง ให้ระบุหมายเลขพอร์ตของคอนโทรลเลอร์ SATA ที่คุณต้องการทำเครื่องหมายว่าเป็นภายใน ตัวอย่างเช่น เพื่อทำเครื่องหมายดิสก์ทั้งหมดจาก 0 ถึง 3 เป็นภายใน ให้ตั้งค่าพารามิเตอร์ TreatAsInternalPort ดังนี้:

0
1
2
3

ดิสก์ SSD/SATA ภายในแสดงเป็นอุปกรณ์ Removable ใน Windows

จากนั้นรีสตาร์ทคอมพิวเตอร์ และดิสก์ SATA/SSD ทุกตัวที่มีหมายเลขพอร์ต 0 ถึง 3 จะถูกซ่อนจากรายการ Safe Removal และจะไม่แสดงเป็น Removable อีกต่อไป