1.png

본문 들어가기전에, 대용량 USB메모리(32GB초과)로 윈도를 설치할때

무슨 문제가 있다는건지 이전에 쓴 정보글을 먼저 읽어보자 : http://www.ilbe.com/3830305189

 

요약하자면 이렇다 :

1. UEFI에서는 부트섹터 개념이 없어서 파일시스템에 직접 접근하여 부팅파일을 로드시키는데

2. EFI규약에서는 특정업체(마이크로소프트)가 개발한 사유 파일시스템(NTFS, exFAT)에 대한 지원을 하지않는다 : 지원하려면 이용에 관한 라이센스료를 내야함...

3. 따라서 아주 기초적인 FAT파일시스템이 아니면 부팅이 불가능하다.

FAT도 MS에서 개발했지만 굉장히 오래됐으므로(1980년대) MS에서는 사용을 권장하지 않지만, 사용하는것에 딱히 제재를 가하지는 않는다.

 

게다가 MS는 Windows XP에서부터 NTFS를 널리 퍼지게 하려고 의도적으로 FAT32의 이용을 제한하고 있는데 그중하나가 미디어용량이 32GB를 초과하면

강제적으로 NTFS 또는 exFAT로만 포맷이 가능하게 제한하는 것이다. 서드파티 프로그램이 아니면 윈도의 기본기능으로는 무슨수를 써도 FAT32로 포맷할수 없다.

물론 새롭게 포맷하여 FAT32형식의 새 미디어를 준비하는걸 막은것이지, 타사 프로그램을 통해서 FAT32 미디어를 제작한 것을 사용하는데는 문제가 없다.

단일파일용량 4GB의 제한은 제한이 아니라 FAT32의 설계상 한계다. 그리고 FAT32의 파티션 최대용량은 2TB이다. 32GB는 의도적인 제한임.

 

위와같은 속사정으로 PC의 오래된 BIOS체계를 대체하는 새로운 펌웨어규약인 UEFI에서는 어처구니없게도 NTFS부팅이 불가능하다.

어쨌든 그래서 윈도설치용 USB메모리도 FAT32로 포맷되어야 하는데, 이것도 위의 이런저런 제한때문에 여간 불편한게 아니다.

FAT32의 제한과 한계때문에 4GB초과하는 파일도 못넣고 최대용량이 32GB를 넘지도 못해서 윈도설치 USB메모리에 뭔가를 백업하기도 애매하고,

대용량 USB메모리에 윈도설치이미지 박아두고 그걸 일반적인 저장장치로도 활용하면 좋을텐데 위의 제한들때문에 그러기도 쉽지않은 상황이다.

 

 

 

rufus.png

그런데 이 문제들을 해결하는 아주 쉬운 방법이 딱 하나 있다.

그것은 바로, Rufus를 이용하기만 하면 된다는 것 : https://rufus.akeo.ie/

 

 

 

// Rufus는 어떤 원리로 문제를 해결하는가?

 

1. Rufus는 파티셔닝 및 포맷작업에 윈도 기본기능을 이용하지 않고 내부적으로 탑재하고있는 포터블 리눅스로 해결한다.

2.png

이는 FAT32의 파티션용량 32GB제한을 무력화한다. 그리고 이게 전부도 아니고, 심지어 아래의 더 큰 장점덕분에 이건 잊어버려도 됨.

 

2. Rufus의 자체적인 NTFS로더 덕분에, Rufus를 통해 제작한 부팅미디어에 한해서 NTFS부팅이 가능하다!

7.png

UEFI-FAT32가 만들어내는 애매모호한 하모니에 제대로빡친 Rufus제작자가 사고쳤다. 어떤 트릭으로 NTFS부팅을 네이티브처럼 지원하게 만들어냄.

 

이것의 원리는 이러하다 :

원래 윈도는 고정형 저장장치(C드라이브같은)에서만 파티션분할을 지원한다. USB메모리같은 이동형 저장장치에서는 파티션분할을 지원하지 않는다.

미디어자체의 문제가 아니라 오직 MS윈도에만 존재하는 이해가 안되는 제한점이다. 아무튼, 위에서 얘기한대로 리눅스를 내장했기에 가능한 일인데,

원래 윈도에서 지원하지 않는 이동형 저장소의 파티션을 분할해서, 앞쪽은 유저에게 보이도록 세팅된다. 그리고 이곳에 윈도설치파일이 복사된다.

사용자는 이 공간을 일반 USB메모리처럼 이용하면 된다. 윈도설치도 이곳을 통해서 이루어진다. NTFS이므로 FAT32의 골치아픈 문제도 없다!

 

그렇다면 원래는 불가능한 이 구성을 어떻게 이루었나?

바로 위에서 얘기한 파티션분할에서 앞쪽이 아닌 뒷쪽이 관건이다. 앞쪽은 유저공간으로 제공되며 역할은 그게전부다.

그 뒤에 256KB짜리 작은 파티션이 생성되는데 이것은 윈도 기본기능으로는 존재확인조차 되지않는다. (DiskPart로는 확인되지만 제어불가능인건 마찬가지다)

5.png

바로 이거다. 파티션타입이 FAT라고 되어있다. UEFI에서는 앞이 아닌 뒤의 이 파티션을 로드하도록 구성된다. 그리고 이 작은 파티션안에

NTFS를 로드할수 있는 커스텀드라이버(모듈이라고 하자)가 있다. UEFI가 읽지못하는 NTFS를 읽을수 있도록 조치해주면 모듈의 역할은 끝난다.

모듈이 로드되면 제어를 NTFS파티션으로 넘겨서 그곳에서 부팅파일이 로딩되도록 하고, 제어가 NTFS쪽으로 넘어가면 기존의 부팅과정이 그대로 재현되는것.

6.png

앞서 얘기한대로, 윈도의 기본기능은 이 파티션의 존재를 모른다. 이동형 미디어에서는 파티션분할이라는 개념자체를 지원하지 않기때문.

 

 

 

// 원리설명은 끝났고, 그렇다면 Rufus를 어떻게 사용하는지 알아보자.

 

8.png

먼저, ISO파일을 고르고 USB메모리를 선택한다. 그 다음은 아래의 딱 두가지 항목만 알면된다.

 

3.png

1. MBR 파티션 형식의 BIOS 또는 UEFI (BIOS 호환) :

설명에 UEFI라고 되어는 있으나 이건 UEFI-CSM을 의미한다. BIOS에서 GPT부팅만 지원하는 수준이다.

그래서 엄밀히 따지자면 UEFI가 아니다. 그저 BIOS부팅이 가능하게 할 뿐이니 아무 의미없다. 이건 쓰지마라.

 

2. MBR 파티션 형식의 UEFI :

UEFI모드. 다만, 파티션형식이 MBR로 지정되므로 BIOS시스템에서도 인식이 가능하다.

즉, BIOS/UEFI 두 시스템을 가리지않고 모두 윈도설치가 가능하다. 나는 이걸 추천한다.

 

3. GPT 파티션 형식의 UEFI :

마찬가지로 UEFI모드. 다만, 파티션형식이 GPT로 지정되므로 BIOS시스템에서는 인식이 불가능하다.

"BIOS를 사용하는 구형시스템은 다 퇴출해서 나는 BIOS시스템 만질일이 없다!" 라면 이걸로 써도 된다.

 

4.png

위 옵션에서 2번 or 3번을 선택하고 바로 아래의 파일 시스템 옵션을 보면 기본값으로 FAT32가 선택되어 있는데, 이걸 NTFS로 바꿔만 주면 된다.

이게 전부다. 그리고 '시작'버튼을 눌러서 윈도설치 미디어를 제작하기만 하면 나머지는 Rufus가 다 알아서 해주고, 이제 그걸 잘 써먹기만 하면 된다.

 

세줄요약 :

1. Rufus

2. MBR 파티션 형식의 UEFI / NTFS

3. '시작'

 

만들면서 머리 꽤나썼을 Rufus제작자가 흐뭇하도록 이 프로그램 많이써주자.

그리고 이같은 문제로 머리아픈 사람이 있다면 이런정보를 알려주도록 하자.

 

- 컴게생각 -