/ etc / fstab에서 NTFS 파티션을 올바르게 마운트하려면 어떻게합니까?


72

전체 파티션을 채우지 않는 감독되지 않은 자동 팟 캐스트 다운로드로 인한 불쾌한 에피소드 (제 2 단계, 배우게 될 것 같습니다)가 끝난 후 마침내 ~/Music자체 파티션 으로 옮겼습니다 . 내가 사용하고있는 파티션은 이미 NTFS로 포맷되었습니다. 음악을 저장하기 위해 자신을 조직했습니다. 그래서 그것은 저의 배경입니다.

시작시 마운트를 시작하려는 두 개의 파티션이 있습니다.

/dev/sda3   /mnt/devel  ext4    defaults    0   2
/dev/sda2   /mnt/excess ntfs    defaults    0   2

ext4 파티션은 잘 마운트되어 있지만 (나만 쓸 수 있음), ntfs 마운트는 모두에게 읽기 및 쓰기 권한이있는 루트 소유입니다. 이 문제를 해결하는 방법을 잘 모르겠습니다. NTFS에 대해 이상한 것이 있습니까? 아니면이 문제를 일으키는 다른 곳에서 했습니까?

drwxr-xr-x  7 amanda amanda 4096 2012-03-14 19:07 devel
drwxrwxrwx  1 root   root   4096 2012-03-14 22:38 excess

"noatime"또는 "relatime"옵션을 사용할 수 있으며 영구적 인 ntfs 마운트에 권장됩니다 (man mount.ntfs 참조). 나는 ext3 / 4와 ntfs에 대한 hdd busy-ness 문제가있었습니다!

답변:


89

NTFS와 VFAT 파일 시스템에 대한 권한이 설정되어야합니다 dmask, fmaskumask옵션을 제공합니다. dmask디렉토리에 대한 권한을 fmask제어하고 파일에 대한 권한을 umask제어하며 둘 다를 제어합니다. 이러한 옵션은 masks를 설정하므로 원하는 권한을 보완해야합니다. 예를 들어, 소유자의 경우 rwx, 다른 사람의 경우 rx는 755가 아니라 022입니다.

소유자를 설정하려면 사용자 및 그룹에 각각 uidgid옵션을 사용하십시오 . 명령으로 UID를 찾을 수 있습니다 id -u. GID를 찾으려면을 사용하십시오 id -g. 이 값은 일반적으로 1000입니다.

ntfs에 대한 일반적인 마운트 옵션 세트는 uid=1000,gid=1000,dmask=027,fmask=137입니다. 그러면 드라이브 소유자가 설정되고 권한이로 설정됩니다 drwxr-x---.

내 / etc / fstab의 두 줄이 작동합니다.

UUID=EEA2B69CA2B668AB        /WIN_C     ntfs-3g   defaults,nls=utf8,umask=000,dmask=027,fmask=137,uid=1000,gid=1000,windows_names 0 0 
UUID=65AEC0E830EA0497        /WIN_D     ntfs-3g   rw 0 0

다시 부팅 한 후 보이는 오류가없고 파티션이 읽기 전용으로 유지되거나 다음과 유사한 오류가 발생하는 경우

Error mounting /dev/sda6 at /media/WindowsDrive: 
Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda6" "/media/rolindroy/Media Center"' exited with non-zero exit status 14: The disk contains an unclean file system (0, 0). 
Metadata kept in Windows cache, refused to mount. 
Failed to mount '/dev/sda6': Operation not permitted The NTFS partition is in an unsafe state. 
Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount option

Windows 8 및 10은 "완전하지 않은"종료에 따라 "빠른 시작"옵션을 제공하기 때문입니다. "전원 옵션"에서 다음 단계에 따라 빠른 시작을 비활성화 할 수 있습니다 .



그것은 실제로 위의 많은 것들의 원천입니다. 또한 * mask 옵션 작동 방식에 대한 자세한 설명도 포함했습니다.
bessman

3
/etc/fstab
puk

3
@puk, 나는이 UUID=3030BD846F74E514 /media/iam/ntfspartition ntfs-3g uid=1000,gid=1000,dmask=022,fmask=133 0 0내가에 포함 시켰로, askubuntu.com/a/507326/221448 (나는 또한 언급 곳 bind).
브래디 트레이너

1
@ScottFuid=0,gid=0
wjandrea

34

permissions 옵션으로 ntfs 파티션을 마운트하면 chmod / chown이 작동합니다

/dev/sda2   /mnt/excess ntfs-3g    permissions,locale=en_US.utf8    0   2

그러면 당신은 할 수 있습니다

sudo chown your_user:your_user /mnt/excess

더 쉽게 uid, dmask, fmask.


해당 sudo chown명령의 단점 / 부정적 영향은 무엇입니까? 정확히 무엇입니까?
ReneSac

5
chown 명령은 마운트 지점의 소유자 (/ mnt / excess)를 원하는 사용자로 변경합니다. 이 단계는 파티션이 마운트 될 때마다 (적어도 모든 재부팅 후) 내 경험에 따라 반복되어야합니다 ... 그래서 올바른 일을하고 uid / gid / umask를 설정하십시오 ... 나는 항상 fmask와 dmask가 있다고 생각했습니다. 선택 사항-파일 및 디렉토리에 대해 다른 권한을 원할 때와 같습니다.
thecarpy

7

디스크 이름을 재부팅 할 때 ... ( sda0 ~ sdb2 ) 때문에이 문제가 발생했습니다.

fstab에서 UUID로 문제를 해결하여 문제를 해결했습니다. 다음을 입력하여 하드 드라이브의 UUID를 볼 수 있습니다. sudo blkid

fstab 파일을 백업하십시오.

sudo cp /etc/fstab /etc/fstab.orig

>>를 놓으면 fstab을 덮어 씁니다.

sudo blkid >> /etc/fstab

여전히 나사를 조이면 fstab을 원본으로 교체 할 수 있습니다.

sudo cp /etc/fstab.orig /etc/fstab

다음으로 폴더를 만듭니다.

sudo mkdir /media/mydrivename

fstab을 구성하십시오.

sudo vim /etc/fstab

줄의 시작 부분에 '#'으로 blkid의 출력을 주석 처리하는 것을 잊지 마십시오!

이것을 fstab 파일에 추가하면 위의 명령으로 삽입 한 하단의 블록에서 UUID를 찾을 수 있습니다. media / mydrivename 은 파티션을 마운트 할 위치입니다.

UUID=xxxxxxxxxxxxxxxxx   /media/mydrivename ntfs    permissions,locale=en_US.utf8    0   2

이것은 내 fstab 파일입니다.

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=5d4940cf-5cf5-443a-be11-1f7e551962d1 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda1 during installation
UUID=84b7e5e9-08c3-4641-b28b-99e0255e604d none            swap    sw              0       0

# 500 GB Webserver harddisk from lr-serv-01
UUID=BA9A48D39A488E37 /media/hdd1 ntfs permissions,locale=en_US.utf8 0 2

# 2 TB Movie share harddisk from lr-serv-01
UUID=7EB09666B09624A5 /media/hdd2 ntfs permissions,locale-en_US.utf8 0 2

#/dev/sda1: UUID="10EC004DEC003010" TYPE="ntfs" 
#/dev/sda2: LABEL="system" UUID="88A4FE47A4FE3772" TYPE="ntfs" 
#/dev/sda3: LABEL="storage_01" UUID="BA9A48D39A488E37" TYPE="ntfs" 
#/dev/sdb1: LABEL="storage_02" UUID="7EB09666B09624A5" TYPE="ntfs" 
#/dev/sdc1: UUID="84b7e5e9-08c3-4641-b28b-99e0255e604d" TYPE="swap" 
#/dev/sdc2: UUID="5d4940cf-5cf5-443a-be11-1f7e551962d1" TYPE="ext4" 
#/dev/sdd1: LABEL="storage_spotnet" UUID="EC6E8F416E8F0394" TYPE="ntfs" 
#/dev/sdd2: LABEL="storage_backup_pcs" UUID="6C2699D026999BA0" TYPE="ntfs" 
#/dev/sdd5: LABEL="storage_series" UUID="7670ABF770ABBC6D" TYPE="ntfs" 
#/dev/sdd6: LABEL="storage_winmx" UUID="564AB81B4AB7F5B9" TYPE="ntfs" 

다음을 입력하여 시스템을 재부팅하십시오 :

sudo reboot

파티션이 마운트되었는지 확인하려면 다음을 입력하십시오 df -k.

자신에게 소유권을 부여하십시오.

sudo chown -R USERNAME:USERNAME /media/mydrivename

우분투 서버 14.04.01에서 이것을 했습니까 !

이 답변이 누군가를 돕기를 바랍니다.


2
이것은 일반적으로 확실한 조언처럼 들리지만 sudo blkid전체 항목을 덤프하여 /etc/fstab일시적으로 손상시키는 대신 출력에서 UUID를 복사하는 것이 더 우아하다는 것을 알았 습니다. 다른 방법은 GParted에서 파티션의 속성 대화 상자에서 UUID를 얻는 것입니다.
David Foerster

내 서버 에서이 작업을 수행하는 동안 실제로 복사하는 방법을 볼 수 없습니다 ... 키보드와 bash 만 있으면됩니다.
rotgers

대부분의 터미널 에뮬레이터를 사용하면 사물을 복사 할 수 있습니다 (원격 가상 터미널 과 유사 screen하거나 tmux대신 원격 액세스 또는 터미널 에뮬레이터를 사용한다고 가정 ).
David Foerster

잘못된 가정 하하, 터미널 에뮬레이터를 사용하지 않았습니다. 그러나 누군가가 실수하는 경우를 대비하여 fstab 파일의 사본을 만드는 데 대한 답변을 추가했습니다. :)
rotgers

파티션을 조정할 때 UUID가 변경되었지만 레이블 이름이 변경되지 않았기 때문에 UUID 사용에서 LABEL로 전환했습니다. 또한 UUID = "long random string"보다 LABEL = "some-name"을 사용하여 fstab에서 무슨 일이 일어나고 있는지 쉽게 알 수 있습니다.
타원형보기


4

좋은 해결책은 아니지만 사용자 ID를 자신의 ID 또는 그룹 ID에 항상 매핑 할 수 있습니다.

예를 들어, 내 사용자 ID는 1000이었습니다.

/dev/sda5 /mnt/excess ntfs defaults,uid=1000,rw 0 0

이 경우 사용자가 소유 한 마운트 된 모든 파일은 1000입니다.


1
작동하지만 "rw"옵션의 유무에 관계없이 여전히 권한으로 마운트됩니다.drwxrwxrwx
Amanda

이것은 나를 위해 작동합니다. 권한을 위해 fstab file_mode = 0770, dir_mode = 0770에 추가
Rui F Ribeiro

2

레이블을 사용 하여 ntfs 드라이브 마운트 하고이 드라이브에서 디렉토리 또는 파일의 권한을 변경하려면 다음이 잘 작동합니다 (/ etc / fstab 편집 (예 : sudo nano / etc / fstab 편집 후 추가)). :

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    permissions,defaults        0       2

아래 반면 것이다 NOT 당신이 디렉토리 나 파일의 권한을 변경할 수 있습니다 :

LABEL=Portable_HD_2TB      /media/mintbox2/Portable_HD_2TB ntfs    defaults        0       2

1

마운트시 올바르게 권한을 부여한 다음을 사용합니다 (이중 부팅 시스템 설정의 NTFS 드라이브).

편집 /etc/fstab:

UUID는 다음 위치에서 찾을 수 있습니다 /dev/disk/by-uuid/(보통으로 매핑 /dev/sd*).

<your uuid>UUID로 교체

UUID=<your uuid> /mnt/e ntfs auto,users,uid=1000,gid=1000,dmask=027,fmask=137 0 0

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.