[완료] 리눅스에서 만든 vfat 파티션 (utf8) 이 윈도우즈에서도 잘 돌아갈까요?

kirrie의 이미지

리눅스에서 vfat으로 파티션을 하나 만들어 utf8 옵션을 주고 마운트해서
사용중입니다.
이 하드디스크를 윈도우즈에 갖다 붙여야 될 상황이 되었는데, utf8로 인코딩된 한글 파일명을 가진 파일들을
윈도우즈에서도 잘 인식할까요? 전에 이런 상황에서 파일들이 다 꼬여서 엉망이 되었다라는 이야길 들은 것 같아서...
답변에 미리 감사드립니다.

Prentice의 이미지

LANG 환경변수와 마운트 시 iocharset옵션이 맞아떨어지는 상태에서 codepage=949 옵션을 주고 마운트해서 사용하셨다면 문제 없습니다.

Prentice의 이미지

LANG=ko_KR.EUC-KR 계열이였다면

mount -t vfat -o codepage=949,iocharset=cp949

LANG=ko_KR.UTF-8 계열이였다면

mount -t vfat -o codepage=949,iocharset=utf8

zz181321의 이미지

비스타는 어떨지 몰라도, 문제가 있을 것으로 보이는데요.

마운트 안 하시는걸 권하고 싶습니다.

차라리 네트워크를 통해서(samba로) 파일을 이동하시길 바랍니다.

윈도는 파일 이름 저장에 유니코드를 사용하지 않습니다.

bushi의 이미지

vfat 는 파일 이름 저장에 유니코드만 사용합니다. UTF-16LE
마운트 옵션의 codepage 는 vfat 을 위한 게 아니라 fat 을 위한 겁니다.
fat 은 특별히 charset 이 정의되어 있지 않습니다. 주면 주는대로 받아먹는 놈이죠.

long filename entry 접근 때 iocharset(UI) <-> utf16(disk) 의 변환이 일어나고,
short filename entry 에 접근 때 iocharset(UI) <-> codepage(disk) 의 변환이 일어납니다.

따라서, iocharset 만 본인이 사용하는 환경에 맞춰주시면,
vfat 을 지원하는 어떤 OS 에서 마운트를 해도 한글이 잘 보입니다. 실제 디스크에 기록된 파일이름(long name)은 utf16 이니까요.
다만, windows 의 command 창을 통해서도 파일에 접근해야 한다면 codepage 를 맞춰줘야겠죠.
이놈은 8.3 형식의 short name 만 찾아다니니까요.

OTL

Prentice의 이미지

윈도(?)에서는 유니코드만 사용된다는 말을 듣고 “그럼 왜 codepage 옵션이 필요한 거지?”라고 궁금해하고 있었는데 bushi님의 글을 읽고 궁금증이 풀렸습니다. 감사합니다. :)

Necromancer의 이미지

utf16le로 저장되는 부분은 긴 파일이름일겁니다.
8.3 형태의 짧은 파일이름은 아무 인코딩이나 다됐고. 옛날 도스시절에 파일이름이 한글 4자까지 됐었었는데

그리고 2000, xp의 짝퉁(?) 도스창은 긴 파일이름 찾아다닙니다.

Written By the Black Knight of Destruction

Written By the Black Knight of Destruction

rx78gd의 이미지

400G짜리 S-ATA 하드 하나를 통째로 VFAT... 즉, FAT32 파티션으로 만들어 쓰고 있지만 윈도우에서 아무런 이상이 없던데요?(당시만 해도 리눅스에서는 NTFS에서 읽기만 가능했지 쓰지를 못해서 이리 만든거였죠. 윈도, 리눅스에서 공통으로 데이타 저장용 하드로 쓸 계획이어서...)

이제는 리눅스에서도 NTFS 쓰기가 가능해서 파티션 바꾸야하는데 하드가 데이타가 꽉차있어 아직도 VFAT 포맷으로 잘 사용중이라는...^^
-------------------------------------------------------------------------------------------
나에겐 할 수 있다는 의지와
하면 된다는 신념과
해야 한다는 의무가 있다.

http://rx78gd.tistory.com

-------------------------------------------------------------------------------------------
나에겐 할 수 있다는 의지와
하면 된다는 신념과
해야 한다는 의무가 있다.

http://rx78gd.tistory.com

snowall의 이미지

vfat과 fat32는 다른 거 아닌가요?
vfat은 기존의 fat16에 긴 파일이름 지원을 위해 만든 파일 시스템이고, fat32는 긴 파일이름 지원 말고도 대용량을 지원하기 위해 만든 것이라고 들었는데요.
아무튼 다르다고 알고 있습니다.
--------------------------
snowall의 블로그입니다.
http://snowall.tistory.com

피할 수 있을때 즐겨라! http://melotopia.net/b

bushi의 이미지

vfat 과 fat32 가 다르냐 마냐 따지는 것은 좀 어폐가 있습니다.
vfat 은 fat 의 확장이고, fat 은 FAT12/16/32 로 나뉩니다.

vfat 은 긴파일이름을 다루기 위한 약속이고,
FAT32 는 최대 2^32-2 개의 cluster 를 다룰 수 있도록 스펙을 변경한 것입니다.

본질적으로 vfat 은 FAT12/16/32 등의 종류와 무관합니다.
filename 을 적는 곳에, fat 에 정의되지 않은 파일속성 플래그를 사용해서, 여러개의 entry 를 묶어 하나의 파일이름을 만드는 꼼수를 약속할 뿐이고,
그 약속들 중의 하나가 파일 이름을 반드시 utf16 으로만 적자는 것입니다.

OTL

bushi의 이미지

2000 은 모르겠고,
xp 에선 cmd 와 command 두 개의 명령으로 나오는 도스창이 다릅니다.
후자는 8.3 형식의 short filename 만 보여줍니다. shell 의 기능도 ms-dos 의 그것과 같이 빈약합니다.
vista 에선 전자만 있고 후자는 없어졌더군요.

OTL

kirrie의 이미지

답변 감사드립니다.

아, 역시나 애초에 아무 생각 없이 utf8로 마운트 하는게 아니었어요. ㅜ.ㅜ
--->
데비안 & 우분투로 대동단결!

--->
데비안 & 우분투로 대동단결!

kirrie의 이미지

어라?

우분투 7.10 에서 하드를 통째로 vfat으로 포맷해서, 기본 마운트 옵션 (defaults,utf8,umask=007,gid=... 등등, 이것은 제가 설정한 마운트 옵션이 아니라, 우분투가 자동으로 잡아 주었던 옵션입니다.) 으로 붙여 사용하고 있었습니다. 제 우분투는 utf8 환경이었고, vfat 파티션의 이 하드도 한글로 된 파일을 복사하면 제대로 잘 보였습니다.

그런데 이걸 그냥 윈도우즈 xp에 붙였더니, 한글이 안깨지고 잘 나오네요. -_-;; 검은해님의 codepage=949,iocharset=utf8 옵션도 필요 없었습니다.

괜히 이걸 하드를 다른 컴퓨터에 붙여서 삼바로 옮기고 (80기가나 되는 파일들이라;;) 시간 엄청 잡아 먹었는데, 좀 신기하기도 하고... 허허..
--->
데비안 & 우분투로 대동단결!

--->
데비안 & 우분투로 대동단결!

김일영의 이미지

그전에 해봤는데... vfat으로 잘 포맷해서 리눅스에선 잘 쓰는 파티션이었지만
XP에선 못 읽더군요...
보니깐 XP 디스크 관리자에선 vfat 포맷할 수 있는 파티션 크기의 제한이 있는데
실제로는 vfat에서 그보다 큰 파티션 지원이 가능한데 디스크 관리자에서는 그렇다고 하더군요.
여하튼 그 크기의 vfat을 리눅스에서 만들어가지고 XP에서 읽게 하려고 했더니 안되었고요.
그게 진짜 원인이었는지는... 여하튼 크기를 줄이니까 보이더군요.

doodoo의 이미지

글쎄요..제가아는 바로는 그 사이즈는(윈도우에서 못 만드는....) 30기가라고 알고 있습니다.
이 사이즈가 넘어가면 ntfs 로 바뀌더군요(처음 포멧할때)

근데 리눅스에서 이보다더 큰사이즈를 만들고 xp 에서 인식을 하지 못했다는것은
처음들어 보는군요.
왜냐면 제가 그렇게 30기가보다 더 크게 해서 쓰고 있거든요

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.