junction은 UNIX의 ln과 비슷간 기능을 하는 명령으로 NTFS의 기본 기능이라고 한다. junction을 이용해서 여러가지 작업이 가능하겠지만, 여기서는 C드라이브를 작게 잡고(XP의 경우 6기가면 충분했다.) D드라이브에 모든 프로그램을 설치하는 목적으로 사용해 보겠다.

개인적으로는 파티션을 하나로 사용하는 것을 선호한다. 하지만 파티션을 나누지 않는 경우 백업이나 복구가 어려워지는 문제가 발생하게 된다. 그래서 일반적으로 백업이나 OS재설치 목적으로 파티션을 나누어서 사용하는 경우가 많이 있다. 하지만 또한 데이터와 프로그램용으로 파티션을 나누어서 사용하다 보면 한쪽 파티션의 공간이 부족해지는 경우가 종종 발생하게 되고 프로그램 파티션의 크기가 아무리 작더라도 20~30기가 이상은 되어야 하기 때문에 자주 백업을 받기도 힘들게 된다.

그러던 중 junction 이라는 유틸리티를 알게 되었고 이 것을 이용해서 OS에서 반드시 사용하는 폴더만 C에 남겨두고 나머지는 D드라이브에서 링크하는 방식으로 OS를 설치해 보았다. 작업은 다음과 같이 진행했다.

  1. C 드라이브를 6기가 정도 잡고 나머지를 D 드라이브로 잡는다.
  2. C 드라이브에 OS를 설치한다.
  3. junction을 다운 받는다. (http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx)
  4. C 드라이브와 D 드라이브에 동일한 형태로 폴더를 만들고 junciton명령으로 C의 폴더를 D로 연결한다.
    (예:  junction "c:\program files\Adobe"  "d:\program files\Adobe")
  5. 해당 폴더에 프로그램을 설치한다.

다음은 program files폴더에서 dir를 한 결과인데 <JUNCTION>이라고 되어 있는 부분이 D드라이브에 연결된 폴더이다.

C 드라이브에서 JUNCTION으로 설치하지 않은 폴더는 다음과 같다.

  • Documents and Settings
  • Program Files
  • WINDOWS

위 폴더의 하위 폴더 중에서도 용량이 큰 폴더는 D 드라이브에 junction으로 설치하였는데 Microsoft Outlook의 데이터 파일이 있는 폴더도 junction으로 연결해도 정상적으로 동작했다. 특히 Program Files 폴더의 경우 거의 모든 폴더를 D 드라이브에 만들었다. Program Files의 하위 폴더 중 JUNCTION으로 설치하지 않은 폴더는 다음과 같다.

  • AhnLab
  • Common Files
  • ComPlus Applications
  • DIFX
  • Internet Explorer
  • Lenovo
  • Messenger
  • microsoft frontpage
  • Movie Maker
  • MSN Gaming Zone
  • NetMeeting
  • Online Services
  • Outlook Express
  • QuickTime
  • ThinkPad
  • ThinkVantage
  • Windows Desktop Search
  • Windows Journal
  • Windows Media Player
  • Windows Mobile Device Handbook
  • Windows NT

이렇게 설치한 결과 C 드라이브는 6.3기가 D 드라이브는 180기가로 나누어서 OS를 설치하고 마치 하나의 파티션 처럼 사용할 수 있었고 Norton Ghost로 백업을 받아본 결과 3기가정도면 충분했다.

참고로 안철수 연구소의 빛자루의 경우 JUNCTION으로 연결된 폴더에는 설치가 되지 않는다. 그 이외에는 아직까지 설치가 안된다든지 동작하지 않는 프로그램은 발견하지 못했다.

Posted by thinknote

우연히 8G 짜리 USB가 생겼습니다.
기존에 사용하던 1G에 비해서 8배나 넓어진 공간을 어떻게 사용할까 고민하면서 인터넷을 검색한 결과 USB로 할 수 있는 일이 예상보다 많았습니다.

1. 데이터 저장 및 교환용
2. 보안 디스크
3. OS 복구용
4. 별도의 OS 설치

그 외에도 많은 기능이 있지만 우선은 이렇게 네가지 기능을 적용해 보기로 했습니다.
우선 이렇게 네가지 기능을 하나의 USB에서 제공하려면 파티션을 나누어서 진행하는 것이 좋습니다.
하지만, 일반적으로 윈도우에서 기본 제공하는 드라이버의 경우에는 USB 이동식 디스크에 여러개의 파티션을 나누는 작업을 허용하지 않습니다.

수많은 구글링을 거친 결과 한가지 링크를 발견했습니다.
A Multiple Partition USB Stick with Multi Boot OS, Updated 5th April 2006[http://www.msfn.org/board/Multiple-Partition-USB-Stick-Multi-Boot-OS-t69211.html]

그리고 비슷한 내용을 좀더 검색한 결과 네이버 USB Office에서도 비슷한 내용을 찾았습니다.
USB 메모리 파티션 나누기[http://cafe.naver.com/usboffice.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=1976]

간단하게 정리하자면 기존 USB 이동식 디스크의 드라이브를 USB 방식의 일반 하드 디스크로 인식시키면 된다는 것 입니다. 그렇게 하기 위해서 히타치의 마이크로드라이브 드라이버를 이용합니다.
드라이버 링크 : http://www.xpefiles.com/viewtopic.php?t=92

작업을 진행하기 위해서는 윈도우에 기본적으로 설치된 regedit과 디스크 관리자가 필요합니다.
먼저 registry editor를 실행합니다.

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR 로 이동합니다.
그 아래에 보면 여러가지 USB Driver가 보이는데 그 중 작업하려고 하는 제품의 드라이버를 선택합니다.
제 경우에는 Disk&Ven_EKM&Prod_EK-UW&Rev_1100 를 선택했습니다.

마우스 오른쪽 버튼을 클릭하고 키 이름 복사 를 선택합니다.
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_EKM&Prod_EK-UW&Rev_1100
메모장을 열어서 키 이름을 붙여 넣습니다.
그 다음 다운 받은 드라이버에 압축을 풀고 cfadisk.inf 파일을 편집기로 엽니다.
파일에서 %Microdrive_devdesc%로 시작되는 25번째 줄 부터 34번째 줄까지의 내용을 수정하면 됩니다.

기존 내용

%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-11000__________________________SC2IC801
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-11000__________________________SC2IC815
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-11000__________________________SC2IC915

%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-10512__________________________SC1IC801
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-10512__________________________SC1IC815
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DSCM-10512__________________________SC1IC915

%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DMDM-10340__________________________MD2IC501
%Microdrive_devdesc% = cfadisk_install,IDE\DiskIBM-DMDM-10340__________________________MD2IC601


수정된 내용

%Microdrive_devdesc% = cfadisk_install,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_EKM&Prod_EK-UW&Rev_1100
%Microdrive_devdesc% = cfadisk_install,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_EKM&Prod_EK-UW&Rev_1100
%Microdrive_devdesc% = cfadisk_install,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_EKM&Prod_EK-UW&Rev_1100

%Microdrive_devdesc% = cfadisk_install,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_EKM&Prod_EK-UW&Rev_1100
%Microdrive_devdesc% = cfadisk_install,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_EKM&Prod_EK-UW&Rev_1100
%Microdrive_devdesc% = cfadisk_install,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_EKM&Prod_EK-UW&Rev_1100
%Microdrive_devdesc% = cfadisk_install,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_EKM&Prod_EK-UW&Rev_1100
%Microdrive_devdesc% = cfadisk_install,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_EKM&Prod_EK-UW&Rev_1100

이 파일을 저장하면 드라이버는 제작이 완료됩니다.

이제는 드라이버를 설치해야 하는 작업이 남았습니다.
먼저 탐색기에서 USB 드라이브를 선택한 다음 등록정보 창을 띄웁니다.
그 다음 하드웨어 탭으로 이동해서 USB 드라이버에 해당되는 디스크 드라이브를 선택합니다. 

 

그 다음 속성 버튼을 클릭해서 드라이버 탭으로 이동합니다.

드라이버 업데이트를 클릭합니다.

목록 또는 특정 위치에서 설치(고급) 을 선택하고 다음을 클릭합니다.

검색 안 함. 설치할 드라이버를 직접 선택을 선택하고 다음을 클릭합니다.

디스크 있음을 선택하고 위에서 만든 드라이버가 저장된 위치를 지정합니다.

이번에 만든 Hitachi Microdrive를 선택하고 다음을 클릭합니다.

경고를 무시하고 예를 클릭합니다.

다음에 나오는 경고도 가볍게 무시하고 계속을 클릭합니다.

아래와 같이 진행되고

완료 창이 뜨면 마침을 누르면 됩니다.

파티션을 나누기 위해서 관리도구의 컴퓨터 관리를 실행시키겠습니다.

파티션을 나누는 방법은 여러 방법이 있으므로 디스크 관리자의 설명은 하지 않겠습니다.

저의 경우에는 기본파티션을 4개로 나누었습니다.

  데이터 공유용 : 5기가
  보안 데이터용 : 1기가 
  Windows PE  : 700메가
  복구용 Hiren CD : 100메가

참고로 다른 컴에서는 첫번째 파티션만 보이므로 첫번째 파티션을 데이터 공유용 파티션으로 잡았습니다.

Posted by thinknote