exFAT 포맷 저장 장치가 윈도우에서 쓰기 금지가 될 때

category 꼬마 펭귄 걸음마 | Posted by 오씨 부부 | 2017/06/20 14:58


 

* Linux Kernel 4.10, DEB & Windows 7 64bit in Virtualbox 5.1.18

 

exFAT 파일 시스템은 윈도우7 이상, 리눅스, 그리고 맥에서 읽기와 쓰기를 모두 지원합니다. 단일 파일의 크기도 4GB 이상을 지원하기 때문에, 예컨대 4GB 이상의 동영상 파일을 윈도우에서 생성해서 리눅스에서 편집하고 맥에서 복사 후 삭제하려면 USB 메모리나 드라이브를 exFAT로 포맷하는 게 좋습니다. 보통 파일 시스템을 FAT32나 NTFS로 포맷하는 경우가 많은데, FAT32는 4GB 이상의 파일을 인식하지 못하고, NTFS는 맥에서 읽기만 가능하고 쓰기가 안됩니다.

 

물론 맥에서 NTFS 포맷의 저장 장치에 담긴 내용의 수정, 삭제나 새로운 파일을 복사할 수 있도록 하는 Mounty나 Tuxera 같은 앱도 있지만, 전자는 외장 저장 장치가 아니라 맥 자체에 오류를 일으킬 수 있어 사용에 주의를 기울여야 하고, Tuxera는 유료인 점이 부담됩니다. 따라서 세 운영체제를 오가며 사용해야 하는 저장 장치가 있다면 exFAT 파일 시스템이 일단은 손쉬운 방법일 것 같습니다.

 

리눅스에서는 exFAT 파일 시스템을 사용할 수 있도록 exfat-fuse와 exfat-utils라는 패키지를 설치해야 하는데, Ubuntu Kylin 17.04를 비롯한 최근 배포판들에는 두 패키지를 포함한 경우도 꽤 있습니다. 그럼에도 다음과 같은 문제가 발생하는데, 뭐냐 하면 리눅스와 맥에서는 정상 작동하는 exFAT로 포맷한 외장 저장 장치가 윈도우에서는 쓰기 금지가 된다는 것입니다. 이것은 윈도우가 호스트나 게스트일 경우 모두 동일하게 나타나는 현상입니다. 쓰기 금지인 상태임을 쉽게 알려면 마우스 우클릭하면 나오는 탐색기 메뉴의 ‘새로 만들기’가 나타나는지를 보면 됩니다.

 

그래서 이리저리 검색해 보니 exFAT는 안정성이 FAT32나 NTFS와 달라서 연결 해제가 불완전하면 다음 연결시에는 자동으로 쓰기 금지가 된다고 하는군요. 즉, 리눅스로 부팅하고 exFAT로 포맷한 외장 저장 장치를 마운트한 상태에서 그냥 종료하고 다시 윈도우 시스템에 그 저장 장치를 연결하거나(멀티 부팅 포함), 혹은 리눅스에서 Virtualbox로 가상 윈도우를 부팅하면 exFAT로 포맷한 저장 장치가 쓰기 금지 상태로 변하게 됩니다. 처음엔 이것도 모르고 USB에 문제가 있는 줄 알고 계속 드라이브 검사, 파일 오류 수정 혹은 포맷을 반복했습니다.

 

해결 방법은 간단합니다. 리눅스 종료 전에 exFAT 포맷의 외장 저장 장치를 마운트 해제, 혹은 ‘안전하게 제거’와 같은 명령을 내리고(배포판마다 다를 수 있음) 아예 물리적으로 뽑아두면 됩니다. 그런 다음에 윈도우로 부팅하고 저장 장치를 연결하거나 다른 윈도우 시스템에 꽂으면 아무 문제없이 사용 가능합니다. 가상 윈도우를 띄울 때도 역시 리눅스에서 먼저 해당 저장 장치를 완전히 제거한 다음 가상 윈도우 부팅 후에 포트에 꽂으면 됩니다. 그러면 바로 가상 윈도우에서 인식합니다. 물론 이 경우에는 먼저 Virtualbox에 해당 저장 장치가 등록되어 있어야겠죠. 한편 호스트나 게스트 윈도우를 종료할 때에도 먼저 저장 장치의 연결을 해제하고 USB 포트에서 뽑아 놓는 게 좋습니다.

 

또 FAT32나 NTFS 포맷의 저장 장치라도 위와 같이 완전히 제거한 후 윈도우로 옮겨가는 게 좋습니다. 그렇지 않으면 윈도우 부팅 후 드라이브 검사를 실시하고 FOUND.000 폴더와 FILE0000.CHK 같은 파일을 만듭니다. 숨김 속성이 걸려있는 이 폴더와 파일은 드라이브 오류 정보를 담아두는 것이라 삭제해도 무방한데, 문제는 드라이브 검사를 하면서 멀쩡한 파일을 삭제하는 경우가 있을 수 있습니다. 설사 유저가 드라이브 검사를 취소시키더라도 저장된 파일이 제대로 읽히지 않는 경우도 생깁니다. 그러니 모든 외장 저장 장치는 리눅스에서 확실하게 제거한 뒤에 윈도우에서 읽어들일 것을 권합니다. 눈치 채셨겠지만 이것은 리눅스의 문제가 아니라 윈도우의 문제입니다.

 

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기