본문 바로가기
개발환경/우분투

우분투에서 NTFS 를 Read/Write로 마운트 (듀얼 부팅 화일 공유)

by Kibua20 2021. 9. 29.

Ubuntu 20.04 에서 NTFS 디스크는 기본적으로 Read Only 로 마운트한다.  따라서 NTFS 로 포맷된 디스크를 우분투에서 사용해야 하는 경우  마운트 옵션을 Read/Write으로 변경해야 한다. 터미널에서도 옵션 변경이 가능하지만 아래와 같이 '디스크' 프로그램을 사용해서 보다 쉽게 RW 옵션으로 변경할 수 있다. ※ntfs-3g 는 Ubuntu20.04 에서는 기본으로 설치되어 있으며 만일 auto 명령어가 동작하지 않는다면 ntfs-3g를 먼저 설치 (sudo apt install ntfs-3g) 후 아래 과정을 진행해야 한다. 

 

방법:

1) NTFS 디스크 선택

2) Mount 하고자 하는 Partition 의 설정 옵션을 선택 

3) 마운트 옵션 편집 선택

4) 부팅할 때 자동 시작 선택 (디폴트 값임):  부팅할 때 마다 자동으로 마운트함

5) 사용자 인터페이스 보이기 선택 (디폴트 값임) : 우분투 파일 매니저를 통해서 접근 가능

6) 마운트 옵션에  RW 를 추가:  콤마 사이에 공백 없이 입력한다.

7) 마운트할 폴더를 작성:  디스크를 마우트할 지점을 선택한다. (e.g.  /mnt/hdd1 )

 

* Mount 설정을 변경해도 Read Only 인 경우에는 재부팅을 진행한다.

 

* 테스트 결과(두줄 요약+ 한줄 추가):

 - 우분투에서 NTFS를 RW 로는 마운트하는 것은 아직 Windows10-Ubuntu 의 파일 시스템 호환성이 떨어져 추천하지 않는다.

 - 우분투에서 NTFS 의 파일들 대한 Read는 문제가 없지만, Write 하는 경우 Windows 10 에서 Ubuntu에서 만든 파일을 인식하지 못하고 삭제한다.  

 - 20년 6/21일 update: 하드디스크를 GPT로 초기화하고 윈도우에서 NTFS 로 포맷하면 우분투와 윈도우에서 모두 접근 가능하다. GPT 디스크라 가능한 것인지 우분투 SW 업데이트가 되어 가능한 것이 확실치는 않다.

 - 21년 9월 Update:  우분투에서 Kernel을 5.15 이후 버전으로 업데이트 하면 Pragon NTFS를 사용가능하고, NTFS 의 Read/Write가 가능함 

 

 

NTFS 파일을 Read/Write 옵션으로 마운트
NTFS 파일을 Read/Write 옵션으로 마운트

디스크에서 '확인'을 누르면, /etc/fstab는 아래와 같이 자동으로 업데이트된다.

/etc/fstab 확인

터미널에서 수동으로 Mount 하기 위해서는 아래와 같은 절차로 진행할 수 있다.

  • uuid 확인 : $ ls -al /dev/disk/by-uuid
  • 마운트 할 디렉토리 생성 : $ sudo mkdir /mnt/디렉토리명
  • 자동 마운트 설정 : $ sudo gedit /etc/fstab  (아래 예제)
  • /etc/fstab 바로 적용 : $ sudo mount -a
# /etc/fstab: static file system information.
# <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0

#  UUID 와 디렉토리명은 각자에 맞게 수정한다. auto 대신 ntfs-3g도 가능함
# /dev/disk/by-uuid/<disk의 uuid> /mnt/<dir> auto(or ntfs-3g) rw,nosuid,nodev,nofail,x-gvfs-show 0 0

 

Mount 옵션은 아래와 같이 설정할 수 있다. (출처)

default -    rw, nouser, auto, exec, suid속성을 모두 설정

auto    -    부팅시 자동마운트

noauto    -    부팅시 자동마운트를 하지않음

exec    -    실행파일이 실행되는것을 허용

noexec    -    실행파일이 실행되는것을 불허용

suid    -    SetUID, SetGID 사용을 허용

nosuid    -    SetUID, SetGID 사용을 불허용

ro    -    읽기전용의 파일시스템으로 설정

rw    -    읽시/쓰기전용의 파일시스템으로 설정

user    -    일반사용자 마운트 가능

nouser    -    일반사용자 마운트불가능, root만 가능

quota    -    Quota설정이 가능

noquota    -    Quota설정이 불가능

 

 

우분투 버전이 낮은 경우 아래 command로 마운트도 가능하다. 

$ sudo install ntfs-3g

# ntfs-3g 
$ sudo mount -t ntfs-3g -o rw /dev/sdb1 /mnt/hdd2

Usage:    ntfs-3g [-o option[,...]] <device|image_file> <mount_point>
Options:  ro (read-only mount), windows_names, uid=, gid=,
          umask=, fmask=, dmask=, streams_interface=.
          Please see the details in the manual (type: man ntfs-3g).
Example: ntfs-3g /dev/sda1 /mnt/windows

# 부팅할 때 마다 마운트가 필요한 경우 rc 파일을 수정

 

※ NTFS-3G 란 (출처: 위키 백과)
NTFS-3G는 읽기, 쓰기를 지원하는 마이크로소프트 윈도 NTFS의 오픈 소스 크로스 플랫폼 구현체다. NTFS-3G는 FUSE라는 파일 시스템 인터페이스를 주로 사용하므로 서로 다른 여러 운영 체제에서 수정하지 않은 채로 구동할 수 있다. (중략)
NTFS-3G는 2006년 7월 리눅스 고급 NTFS 개발자들 가운데 하나인 Szabolcs Szakacsits (ˈsɒboltʃ ˈsɒkɒtʃitʃ)가 선보였다. 최초의 안정판은 2007년 2월 21일 버전 1.0으로 공개되었다. 나중에 NTFS-3G 개발자들은 Tuxera Inc.라는 회사를 세워
코드 개발에 나서고 있다. NTFS-3G는 현재 자유 "커뮤니티 에디션"이지만 Tuxera NTFS는 사유 버전이다.

 

발견된 문제점

  우분투로 부팅 후 Windows 만든 파일 읽기는 정상적으로 동작을 하지만, 반대로 Windows 부팅 후에는 우분투 만든 파일 인식이 되지 않고, 저장된 파일로 오류로 처리해서 모두 지워버린다.  그래서 다시 FAT로 포맷하고 우분투와 Windows 확인 결과 우분투에서는 사용자와 그룹을 지정을 해야 하고 (*command 는 추후 업데이트), 지정하지 않으면  sudo를 사용한다. FAT 로 포맷한 디스크는 Windows 에서도 파일 Read/Write가 가능하다.   

 

전제 조건: NTFS 로 포맷된 Partition

현상:

      - 우분투 부팅 시 Windows 만든 파일 인식 ok,     

      - Windows 부팅 시 우분투에서 만든 파일 인식 불가,  삭제함

처리: 양쪽 모두 호환이 가능한 FAT로 사용

      - 우분투에서는 일반 user로는 FAT 디스크 사용 시 permission error --> 사용자와 그룹을 지정해서 마운트 해야 함 , 사용자와 그룹이 지정되지 않은 경우 sudo 로 사용 가능

     -  Windows에서는 정상 동작 ok.   (단, 윈도우에서 만든 한글  폴더이 깨져 보임)

우분투에서는 NTFS 호환성:  우분투에서 Windows에서 만든 파일은 인식 가능, 하지만 Windows 에서는 우분투에서 만든 파일을 인식하지 못한다
우분투와 Windows 공용으로 FAT로 포맷

 

폴더 생성 결과

 

[20년 6/21일 업데이트] 우분투/윈도우에서 하나의 디스크로 파일 공유 가능

신규 하드디스크를 구입해서 새로 설치하고  하드디스크를 Windows 10에서 GPT로 초기화하고 NTFS로 포맷하였다. 윈도우에서는 윈도우에서 포맷한 것이니 문제가 없고, 우분투에서 정상 인식하는지 확인이 필요했다. 우분투에서 확인한 결과 윈도우에서 NTFS로 포맷한 드라이브를 정상 인식하고, Read/Write 모두 가능하다.  윈도우와 우분투 듀얼 부팅 조건에서 디스크 하나로 양쪽 OS간의  파일 공유가 가능하다.  우분투에서 NTFS 포맷의 디스크에 Read/Write는 가능하더라도 디스크 I/O 성능이 현저하게 떨어진다. 따라서 우분투를 메인 OS로 사용하는 경우 EXT4 로 포맷하는 것을 추천한다. 

 

하드 디스크 추가 설치 시  달라진 점은 1) 하드 디스크를 GPT로 초기화한 것이고, 2) 우분투의 SW update는 계속 있었다. 우분투에서 다른 마운트 옵션에 특별한 수정은 없었다.  GPT 초기화가 영향을 준것인지  우분투 SW 가 업데이트 중에 NTFS  수정 사항이 있었던 것인지는 확실치는 않지만 결과적으로 양쪽 OS 에서 파일 공유는 가능하다.

 

1) 윈도우 10에서 디스크를 GPT로 초기화하고, NTFS로 포맷

2) 우분투에는 Basic Data로 인식 (기존 NTFS로 인식했음)

GPT로 초기화 후 우분투에서 NTFS 포맷의 디스크를 정상 인식함

 

듀얼부팅 시 하나의 디스크로 윈도우에 우분투에서 파일 공유

 

[21년 9/26일 업데이트] 우분투 Kernel에서 Paragon NTFS 를 활용 가능 

최근 NTFS 버전까지 지원하는 Paragon NTFS가 Linux Kernel 5.15에 반영되었습니다.  기존에 ntfs-3g는 2~3년동안 업데이트가 안되어 최신 버전의 NTFS와 호환성에 문제가 있었지만, Paragon NTFS는 Windows 10 에서 사용하는 NTFS 최신 버전까지 지원한다고 합니다.  

 

Paragon NTFS를 적용하는 방법은 우분투에서 Kernel을 5.15 이후 버전으로 업그레이드하면 사용가능합니다.  우분투 커널 업데이트 방법과 검증 사례를 아래 별도의 포스팅으로 정리하였습니다. 

 

 

Ubuntu 20.04에서 NTFS Read/Write로 Mount 하기: Paragon NTFS 동작 확인

외장 하드 디스크나 USB Memory를 Windows, Ubuntu, MacOS에서 사용하기 위해서는 공통적으로 지원하는 파일 시스템을 사용해야 합니다. 파일 시스템으로는 FAT32, ExFat, NTFS, EXT4를 사용할 수 있어야 합니다

kibua20.tistory.com

 

<관련글>

[개발환경 만들기] - 4. Window 와 Ubuntu 파일 공유하기

[개발환경 만들기] - 3. Ubuntu 에서 개발 환경 설치

[개발환경 만들기] - 2. Windows 10 에서 Cygwin 또는 WSL 설치

[개발환경 만들기] - 1. Windows 10 과 Ubuntu 20.04 설치하기

[개발환경 만들기][Tips] Windows 10 에서 화면 캡쳐 단축키

[개발환경 만들기][Tips] Ubuntu 20.04 키 모음 잠금 풀기 (부팅 후에 표시하지 않도록)




댓글