2015년 6월 20일 토요일

Boot Camp 윈도우에서 Macintosh HD 파티션 인식 못할 경우, Mac OS에서 Boot Camp 포함 파티션 3개 이상 만들기 - update 2017.7.19.

2015.6.20. - 최초 포스팅
2017.7.19. - update (MacDrive를 사용하면 가능)


Boot camp를 사용하면 MS 윈도우를 설치할 수 있음. 윈도우로 부팅하더라도  Mac OS 파티션을 액세스할 수 있어서 윈도우에서도 작업하는 데 문제가 없었음.

그러나, 최근 버전의 Mac에서는 OS가 요세미티가 되면서 Macintosh HD 파티션에 대해서는 CoreStorage 포맷(물리파티션을 논리파티션으로 바꾸는 것 같음)으로 바뀌면서 boot camp 윈도우에서 아예 보이지도 않게 되었음. 참고로, Core Storage 는 10.7 Lion부터 도입이 되었고 fusion drive, file vault 2.0 등에 사용된다고함.

아래 update 1을 보면 알겠지만, 2010년말 MacBook Air에서는 Yosemite를 설치하더라도 Core Storage로 바뀌지 않고 HFS+로 그대로 있어서 boot camp driver를 설치하면 Macintosh HD를 읽을 수 있음. 따라서, 최근 Mac에서의 문제로 보임.

문제가 되는 Mac은 12인치 레티나 Macbook이고 SSD에는 Macintosh HD(Yosemite), Boot Camp(Windows8.1)의 2개의 파티션이 있음(실제는 더 많겠지만..). 대부분의 Retina MacBook Pro에서도 그러한 문제가 있는 것으로 알고 있음.

웹을 찾아보면 사용가능하게 하는 방법은 다음 2가지 방법이라고함

(1) CS를 HFS+로 revert하기

1) Boot in Mac OS Yosemite
2) Open terminal
3) sudo su
4) diskutil corestorage list
5) find the UUID of your machintosh logical volume partition (usually the last, with the size of your MacOS partition)
6) diskutil corestorage revert <UUID>
7) this will revert the partition to standard partition (not logical volume) it's a quick operation, instantly reverted my 512GB SSD with no data loss

Reboot in windows, and now enjoy YOUR data

ref: https://discussions.apple.com/thread/6604371?start=15&tstart=0 의 중간쯤에 creativeprogramming이 올린 내용에 있음.

그러나, 이 경우는 Fusion drive 설치했다면 CS를 풀면 데이터 잃어버릴 것 같고(안해봐서 확실히는...), Mac 볼륨이 드라이브 전체일 때나(?, 그렇다면 boot camp 물리파티션이 있는 경우는 안된다는 것인데, update 2를 보면 됨) 가능하는 이야기가 있고 해서 문제의 12인치 MacBook Macintosh HD 에 적용하지 못하고 눈팅만 했었는 데, 아래의 update 1, 2와 같이 하면 가능할 것임.

결론은 Macintosh HD 파티션을 revert하면 Boot Camp 윈도우에서 읽을 수 있습니다.  삽질기는 Update 1 및 2 참고..

(2) 3rd pary 솔루션을 웹에서 찾아보면 다음 솔루션이 있다는 데...


  - HFSExplorer (오픈소스, Java 필요함.. read only 만 가능하다함)
  - Paragon HFS+ for Windows
  - Mediafour's MacDrive

마지막 2개는 상용SW임. 

Paragon, MacDrive 시험판을 설치해보니.. Mac 파티션을 인식 못함.. 
참고로 5년전 MacDrive는 한글 파일명을 인식못하고 모두 풀어서(ㅍㅏㅇㅣㄹㅁㅕㅇ  이런식으로) 인식하였음.  그래서 사용 못했던 기억이 있음.

HFSExplorer는 Java 필요하다고 해서 그냥 패스..

3rd 파티 SW로는 불가능함.  ㅜㅜ

물론, (1)번 방법을 적용해서 Macintosh HD 파티션이 보이는 경우(읽기만 할 것임), 읽고 쓸 수 있게 하려면 위의 상용 SW가 필요할 것임. 


참고로 Mac OS에서 NTFS를 읽기 위한 것으로 다음이 있음

  - NTFS-3g (오픈소스)
  - Tuxera NTFS for Mac (상용)
  - Paragon NTFS for Mac (상용)

(3) 추가 파티션/디스크를 Mac OS와 Boot Camp가 공동 사용

추가 HDD나 파티션 볼륨에서 FAT32로 포맷하면 윈도우나 Mac OS에서 모두 인식 가능하므로 동시에 사용하면 될 것임.  이 경우에는 FAT32라서 파일명 길이라던지 파일사이즈 제약이 상당히 많이 있을 것임..  HDD가 Boot Camp가 깔린 HDD 1개뿐이라면 이미 만들어진 2개의 물리파티션이외의 파티션 볼륨추가는 불가하지 않으므로 새로운 파티션 볼륨을 추가하고(총 3개 이상의 파티션 볼륨 가능함) 추가된 파티션 볼륨은 MS-DOS(FAT)로 포맷하거나 NTFS로 포맷하고 Mac OS에서는 Paragon NTFS 등을 설치하면 읽고 쓸을 수 있을 것임. update 3를 보시죠..


요세미티로 바뀌면서 세부적으로는 많은 부분이 달라짐을 느끼고 있으며 아직 모든 솔루션을 찾지는 못한 것 같음..

2015.6.26. update 1 - Yosemite MacBook Air에 bootcamp Windows 7 및 Windows 8.1을 설치해 보니.. 

- 12인치 MacBook의 영입으로 5년을 현역으로 고생한 2010년말  MacBook Air를 퇴역시키려고 했으므로 놀고 있는 MBA를 가지고 1, 2, 3번의  전체과정(HFS+로 revert하는 등..)을 테스트해보기로함

- Windows 8.1을 바로 설치해보려고했으나 2010년말 MBA는  Windows 7만 설치된다고 하여. 설치해 보니 Macintosh HD가 멀쩡히 보임.. (Boot Camp driver를 설치한 상태였음)

- 그래서, Windows 8이상이 문제인지 알아보기 위하여 BootCamp Windows 7 상태에서 Windows 8.1 으로 업그레이드 설치하였음.

- 결과는... Macintosh HD가 안보임.. Windows 8.1이 문제인가? 하고 생각했음. 아직 Boot Camp driver는 설치하지 않은 상태였음.

- 그러나, BootCamp driver를 설치하면 (Windows7용이라면서 잘 안깔릴려고하므로 잘 달래면 설치됨) Macintosh HD가 보임

- 잠정 결론은 Driver의 문제.

- 그런데, MBA를 Mac OS로 부팅해서 Core Storage인지를 확인(diskutil cs list)하니... 아니라고 함.. 아니. 그럼.. HFS+ 였다는 것인데...


- Macintosh HD 파티션만 (disk0s2 였음) CS로 convert(diskutil cs convert disk0s2)해보니.. 그럴싸하게 변환이 되었으나..
         

- Boot Camp  파티션도 그대로 다 있는 데.. (diskutill list)  Boot 시에 Boot Camp 파티션을 인식못하고 Mac OS로만 부팅.. diskutil 윈도우에서도 전체 SSD가 빨간색으로 표시되고 그 내부의 parition들은 모두 사라진 상태

- 다시 diskutil cs revert <uuid> 로 돌려봐도 역시 문제...

- Boot Camp 파티션을 지우고 disk0s2를 HFS+로 돌려놓고 boot camp 설치를 다시 해보니... boot cmp 설치불가 (FileVault 해제하라고 하는 데.. 실제로는 꺼져 있음) 전체적으로 logical, physical partition 들이 얽혀 있는 것 같음. ---> 모두 포맷하고 완전 클린 인스톨해야될 것 같음..

- update 1의 결론 : 오래된 mac은 CS로 자동포맷되지 않으므로 테스트 불가했음.. 억지로 CS로 convert하는 등 익숙하지 않은 작업을 하다보니 디스크가 엉켜버려서 테스트가 안되었음. CS로 바꾸고 테스트해본 결과를 update 2에 올림


2015.6.26. update 2 - CS로 된 Macintosh HD를 다시 revert해서 HFS+로 바꿔보다

- update 1에서 대 실패를 맛보고서.. Yosemite 설치 USB(만드는 방법은 'MacBook Pro가 부팅이 안될때' 참고)로부터 Mac OS를  클린 설치했음.  2010년말 MacBook Air에서는 Macintosh HD가 CS가 아니고 HFS+로 그대로 있어서

diskutil cs convert disk0s2

명령으로 Macintosh HD를 CS로 강제로 바꿨음. 아래 화면 참고..

Macintosh HD가 논리파티션으로 바뀐 후 리스트
Macintosh HD가 논리파티션으로 바뀐 후 물리파티션 리스트(아래부분에 Macintosh HD가 새로운 물리디스크인 disk1으로 보임)


- 이제 Windows 7을 설치하고 Boot Camp driver까지 설치 완료하고 파일탐색기에서 보면 Macintosh HD 드라이브가 안 보임... (예상한 결과)

- 다시 Mac OS로 부팅하고 다음 명령으로 Macintosh HD를 HFS+로 변환함

diskutil cs revert 54BFB025-FC68-4BBB-BBBA-936DE4659AA7

이탤릭체의 UUID부분은 대부분 다르므로 리스트를 잘 보고 찾아넣어야함

- 다시 부팅 (이과정이 꼭 필요하며, Mac OS로만 부팅되므로 당황하지 말도록)

- 이번에 diskutil list 나 diskutil cs list를 해보면 CS 파티션이 없는 것으로 나타남.

- 이때, 부팅 디스크를 Boot Camp로 바꿔서 다시 부팅하면 윈도우로 부팅됨.

- 윈도우 파일탐색기에서 Macintosh HD가 보이고.. 읽을 수도 있음.. 일단, 쓰는 것은 아직 안됨..

- 이 과정에 참여한 윈도우 버전은 7임. 즉, 윈도우 8이 문제가 아님. 문제는 Mac OS의 논리파티션을 윈도우에서 알아보지 못한다는 것임.

- update 2 결론 : (1)의 방법대로 하면 됨.. 그러나, Mac OS에서 fusion drive나 file vault를 쓴다면 방법은 없을 것으로 생각됨.

2015.6.26. update 3 - 1개 디스크를 Macintosh HD/Data/Boot Camp 3개의 파티션 볼륨으로 나누고 Data 파티션 볼륨을 Mac OS와 Windows에서 공통으로 읽고 쓰기

- update 2에서 계속 이어서 시도하고 있으므로 Macintosh HD 파티션 볼륨은 HFS+ 이고, Boot Camp에는 Windows 7인 상태에서 계속 진행함

- Macintosh HD 볼륨을 줄이고 파티션 볼륨 1개 더 만들기
    터미널에서 다음 명령 입력

diskutil resizeVolume disk0s2 100G JHFS+ Data

위 명령은 disk0s2인 파티션볼륨(여기서는 Macintosh HD) 크기를 100GB로 만들고(형식은 JHFS+로) 남은 부분은 Data라는 파티션 볼륨으로 만들라는 것임

명령어로 하지 않을 경우에는 DISK UTILITY 응용 SW를 실행시키고 '파티션' 탭에서 Macintosh HD 파티션 볼륨의 오른쪽 아래부분의 빗금을 잡고 원하는 만큼 위로 올리면 Macintosh HD 파티션 볼륨의 사이즈가 줄고, 남은 빈공간에 대해서는 아래쪽의 (+)를 누르면 볼륨 추가가 됨 (되는 경우도 있고 안되는 경우도 있는 데, 되는 경우는 파티션 맵 오른쪽 아래코너부분에 빗금이 있는 경우임. 어느경우가 되는 지는 아직 못 알아냈음)

- Data 파티션 볼륨에 대해서는 MS-DOS나 NTFS로 포맷함

- 그러면 아래 그림과 같이 3개의 파티션 볼륨이 됨. (그림에서는  Data가 아니고 NTFS라고 이름붙혔고 NTFS포맷임)

Boot Camp 파티션 볼륨이 있는 디스크에서의 3개 파티션 볼륨을 생성한 모습


- 자, 그럼.. 이제 boot camp로 부팅해 보았음..

- 그런데, (option) 키를 누르고 부트 파티션을 선택해 보려고하는 데.. Windows 부트옵션이 없고 Mac OS 옵션만 있음.. (약간 당황)

- 다시, Mac OS로 부팅하고 웹을 잘 찾아보니.. 방법이 있음. 다들 비슷한 고민을 많이들 했음.. 참고한 사이트는 NERDr.com 임.

- 일단, sourceforge에서 gdisk 유틸리티를 받아서 설치함

- 터미널을 열고 다음과 같이 디스크 상태를 찾아봄

diskutil list


/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *240.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            100.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data NTFS                    54.2 GB    disk0s4

   5:       Microsoft Basic Data BOOTCAMP                85.0 GB    disk0s5


그러면, Boot Camp는 5번, 새로만든 파티션볼륨(여기서는 NTFS)은 4번임을 기억함

- 이제부터는 5번 파티션과 4번 파티션을 MBR로 만들고 5번을 부팅 파티션으로 지정하는 작업을 시작..

sudo gdisk /dev/disk

을 치면 아래와 같이 보이게 됨

Password:
GPT fdisk (gdisk) version 1.0.0

Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Partition table scan:
  MBR: hybrid
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with hybrid MBR; using GPT.

Command (? for help): r
Recovery/transformation command (? for help): h

WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
just hit the Enter key at the below prompt and your MBR partition table will
be untouched.

Type from one to three GPT partition numbers, separated by spaces, to be
added to the hybrid MBR, in sequence: 4 5
Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): y

Creating entry for GPT partition #4 (MBR partition #2)
Enter an MBR hex code (default 07): 
Set the bootable flag? (Y/N): n

Creating entry for GPT partition #5 (MBR partition #3)
Enter an MBR hex code (default 07): 
Set the bootable flag? (Y/N): y


Unused partition space(s) found. Use one to protect more partitions? (Y/N): n
여기까지만..     write하려면 w를 치면됨..


자세한 명령순서와 설명은 아래 참조..

r (enter) -- recovery & transformation 메뉴로 진입
h (enter) - hybrid MBR 만들기
4 (spacebar) 5 (enter) - 4번과 5번 GPT 파티션을 MBR로 만들겠다는 것임
y (enter) - EFI GPT(0xEE)를 MBR 처음으로에서 yes임
(enter) - 4번 파티션 id를 디폴트 MBR hex code(07)로 만듬
n (enter) - 위의 4번 파티션을 부팅가능하지 않게 함 (data 파티션이므로)
(enter) - 5번 파티션을 07로 만듬
y (enter) - 5번 파티션을 부팅가능하게 만듬 (Boot Camp 파티션임..)
n (enter) - 더 이상 프로텍션 없음
o (enter) - 만들어진 MBR을 리스트해서 확인해봄 (3개의 MBR이 보여야하고, Boot Camp MBR은 부팅가능하도록 * 표시가 보이여함)
w (enter) - 새로만든 partition table을 disk에 write시킴
y (enter) - write 맞는 지 다시 한번 더 확인...

이상을 하면 윈도우로 부팅하고 나면 아래 그림과 같이  Data 파티션(여기서는 NTFS)이 보일 것임

Data용 2번째 파티션(여기서 볼륨명은 NTFS)를 추가하고 MBR로 만들고 난 후, Boot Camp 윈도우에서 보이는 화면
위 화면 캡처에서 NTFS볼륨은  Boot Camp 윈도우에서 NTFS로 포맷하였으며, Mac OS로 부팅해도 문제없이 잘 보이고 읽을 수도 있음. NTFS라서 Mac OS에서 쓰기를 하려면 Paragon이나 Tuxera를 깔면 될 것임.

후기 
 - Boot Camp를 쓰지 않고 Parallels로 윈도우를 돌리다가 Boot Camp를 설치했는 데, 불편한 점이 한두가지가 아님.. 마우스 휠 방향도 반대이고,  2, 3 핑거 트랙패드 제스쳐도 안 먹는 등 (이것은 Mac OS에서 쓰던 것과 비슷하게 만들어주는 유틸리티가 있으므로 설치하면 어느정도 해소가 됨) 불편한 점이 있음.. 또한, 트랙패드의 감도가 Mac OS와 Boot Camp에서 서로 다르고 Boot Camp 쪽이 약간 불편함
- 그렇지만 아래한글과 MS 오피스가 지연없이 잘 돌아간다는 점 때문에 헤비한 작업을 하기 위해서는 무리하게 Boot Camp를 설치하였는 데, 삽질을 한참하게 될 지는 몰랐음
- 또한, Boot Camp를 Parallels에서 잡아서 실행시키면 '인강'을 들을 수 있다는 데.. 그렇다고하면 Boot Camp를 써야할 이유가 하나 더 늘어난 셈임. Native Parallels 보다 더 느려진다는 것이단점이었는 데, 현재버전에서는 어떨 지 아직 모르고, 인강을 들을 일이 없어서 해보지는 못했음.

2017.7.19. - update (MacDrive를 사용하면 가능)
  - 자세한 내용은 다음 링크를 참조