안녕하세요. 은은한 여행입니다. 


늘은 SATA 방식의 '핫 플러그(Hot Plug) 기능'의 

잘못된 이용이라는 주제로 글을 적어 보겠습니다. 


-이전 글-

2019/07/08 - 'GPT방식에서 MBR방식으로 변환' Pe부팅 Aomei Partition이용 Uefi 차이



컴퓨터를 사용하다가 필요 없는 기능의 확장으로 인해서

불편함을 겪은 적이 있으신가요?

'핫 플러그'의 확장 기능에 의해서 

내장 하드디스크가 이동식 디스크로 인식되는 경우가 발생했습니다. 


실 이 부분은 우리가 흔히 알고 있는 

SATA 방식의 흔한 기능 때문에 발생하는 것인데, 

일단 처음 보는 사람으로서 '윈도(Windows) 오류다!'라고 

잘 못 생각을 할 수가 있습니다. 


지극히 정상입니다.!


S-ATA!

과연 이것은 무엇(의미/뜻)일까요?

존 ATA(E-IDE) 방식의 한계를 극복한 새로운 I/O 인터페이스입니다. 

S(Serial)-인터페이스라고 보시면 되는데, 

기존 병렬 방식의 문제를 극복한 새로운 직렬방식입니다. 

데이터를 직렬방식으로 전송함으로써 

적은 수의 비트를 전송하지만, 

병렬 방식보다 훨씬 높은 클럭 수로 동작이 되어 

더욱더 빠른 속도의 데이터 통신을 이루게 됩니다. 

그리고!

간단한 케이블, 낮은 전압 전송, NCQ 방식과 핫 플러그 지원을 합니다.

(NCQ 방식: 디스크 헤드에서 입출력 명령의 순서를 최적화)

핫 플러그 기능은 시스템이 작동을 하고 있는 순간에도

자유롭게 장치의 연결과 분리를 가능토록 하는 기능입니다. 


이렇게 좋은 방식들을 다 가지고 있지만,

오늘 주제와 연관이 있는 부분이 핫 플러그(hot Plug) 부분입니다. 


왜!

SSD와 HDD를 USB로 인식을 하냐고!

(내부 하드디스크를 이동식 디스크로 인식 문제.)



'하드웨어 안전하게 제거 및 미디어 꺼내기'


우측 하단에 이동식 디스크 연결과 제거를 할때 나타나는

상태표시줄이 발견되었습니다. 

마우스 오른쪽 버튼으로 클릭 후 

장치 드라이버 상태를 한번 확인해 볼까요?



현재 장치 상태입니다. 


1. Toshiba DT01A는 E:\의 500Gb 하드디스크입니다. 

2. Samsung SSD 850 EVO 120Gb 하드디스크입니다. 

3. Cruzer Blade는 120Gb 이동식 디스크입니다. 


문제는!

3번만 USB이므로 이동식 디스크 상태에서 

표시되는 게 맞는데, 

1번과 2번이 표시가 되어있습니다. 


대부분의 회사나 관공서에서는 자체 보안 프로그램을 통해

USB를 이용한 파일전송 자체를 못하게 정책을 걸어두는데, 

현재 컴퓨터 내부의 하드디스크가 USB로 인식이 되면

내부 허가를 받기 전에는 

C 드라이브에서 D 드라이브로 자료 이동 자체가 불가합니다. 


이러한 불편을 없애기 위해서는 제 PC의 환경을 바꿔야겠죠?



원인을 한번 찾아봅시다.!


일단 장치 관리자 안에 들어가 보겠습니다. 

최신 저장 컨트롤러 드라이버가 설치되어있는지 

확인을 한번 해봐야겠죠?


'표준 SATA AHCI 컨트롤러'가 설치되어있습니다. 


제가 왜 이 부분을 확인하고 있는지 아세요?

SATA 컨트롤러에서 채널(Channel) 자체를 고정형 포트로 

인식하게 해주는 작업을 진행하거든요. 


근데!

Channel 0, Channel 1이 있을 줄 알았는데, 

표준 컨트롤러만 설치가 되어있네요. 

(어떤 착한 분이 채널별로 목록이 표시된다고 했니?)


 생각해 보니, 저의 운영체제가 윈도 10이었습니다. 

윈도 7까지만 채널별로 컨트롤러가 있었던 것이었어요. 

당연히 윈도 10에서는 표준 컨트롤러 하나만 설치가 되어있습니다. 


이 부분에서는 해결이 안되니, 다른 부분으로 이동하시죠. ^^



짜잔!!!! Bios 부분으로 들어왔습니다. ^^


Bios 부분으로 들어오면 SATA 구성이라는 부분이 있습니다. 

(컴퓨터마다 확인할 수 있는 위치가 다를 수 있습니다.)

일단 SATA Mode를 확인해 보면 'AHCI Mode'로 

되어있는 것을 볼 수 있습니다. 


'직렬 ATA 포트 0'부분과 '직렬 ATA 포트 1' 부분을 

확인해 보니, 제 컴퓨터 내부의 하드디스크가 

표시가 되어있는 게 보이시나요?


여기서!!!

핫 플러그(Hot Plug) 기능을 '사용 안 함'으로 바꿔 주면, 

지금까지의 문제가 바로 해결됩니다. ^^

하지만!

핫 플러그 ON/OFF 하는 부분이 안 보이네요. ㅜㅜ


문제 해결하기 위한 방향이 여기도 아닌가 봐요. 

그럼! 또 다른 곳을 찾아봐야겠죠?



윈도 검색창에서 'regedit'를 쳐주세요!~


레지스트리를 편집해서!

끝장을 내버리겠습니다. ^^


이 아랫부분부터는 윈도(Windows) 10 전용입니다. 

(윈도 7은 맨 아래에서 설명해드리겠습니다.)



저기~ 길고 긴 주소가 보이시나요?


'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device'


레지스트리 편집기에서 위의 주소를 따라서 

들어오시겠어요?


윈도 7에서는 해당 채널(버스)을 각각 키값으로 생성 후 사용하였는데, 

윈도 10에서는 그럴 필요가 없어졌어요. 

MS의 정책이 바뀌면서 해당 키 한 개에 원하는 데이터를

여러 개 등록을 할 수 있거든요. ^^


즉!

1개의 채널만 가지고 계속 바꾸면서 데이터 값을 등록하니, 

최종적으로 만든 채널 1개만 적용이 됩니다. 

(윈도 7처럼 귀찮게 여러 개 채널을 만들 필요가 없어졌어요. )



깜찍한 레지스트리를 한 개 만들어 볼까요?


마우스 오른쪽 버튼을 눌러서 

새로 만들기 - 다중 문자열 값을 클릭해주세요. 



새로운 레지스트리가 한 개 만들어집니다. 


레지스트리 이름을 'TreatAsInternalPort'로 변경해주세요. 

간단하죠?



'TreatAsInternalPort'를 더블클릭해주세요. 


그렇게 하면 '다중 문자열 편집 창'이 뜰 거예요. 

값을 0~5까지 넣어주세요. 

메인보드에 위치하고 있는

채널(버스) 0번 ~ 5번 포트까지 설정해주겠다는 의미입니다. 


자신이 사용하는 컴퓨터에서 

채널(버스)이 몇 번까지 있는지 모르겠다고 하시는 분들은

0~ 9번까지 설정해 주셔도 상관없습니다. ^^

(모르겠다면 9번까지 고고~)


<"TreatAsInternalPort"=hex(7):30,00,00,00,31,00,00,00,32,00,00,00,33,00,00,00,\

34,00,00,00,35,00,00,00,00,00>



0~ 5번까지의 값이 잘 들어가 있네요. ^^

룰루랄라~


그다음에 가장 중요한 순간이 하나 남았습니다. 


재 부팅!



재 부팅 한 다음에 이동식 디스크 장치 상태를 확인해 보면, 

처음에 나타난 하드디스크가 사라져 있습니다. 


컴퓨터 재 부팅을 안한 다음에 

'안되잖아요!'라고 하시면 안 돼요. ^^


아래 사진은 윈도7 전용 입니다. 

(윈도7과 윈도10의 차이점을 확인해 보라고 올렸습니다.)



레지스트리의 주소 값입니다. 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\msahci\Controller0\Channel0


레지스트리의 위치부터가 다르죠?

윈도 7에서는 레지스트리에 해당 채널(버스) 별로 

각각 키값을 생성해 줬었습니다. 

(귀찮게....)


일단, msahci - Controller0 - Channel0 ~ Channel5 까지 생성하세요. 

그 후 Channel0 부터 Dword(32비트) 값 생성 후

이름은 TreatAsInternalPort 변경해주세요. 


데이터 값은 '1'을 넣어주시면 됩니다. 

이렇게 Channel5까지 만들어주세요.!!!

그 다음 가장 중요한거 뭐죠?


재부팅!!!! 


그럼 오늘 하루도 행복한 하루 보내세요. 

Bye~!

+ Recent posts