อ่านและเขียนสิทธิ์สำหรับพาร์ติชัน FAT32 ใน Ubuntu


16

นี่เป็นปัญหาที่แปลก ฉันมีตารางพาร์ติชันต่อไปนี้

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13        5737    45978624    7  HPFS/NTFS
/dev/sda3            5738       10600    39062047+  83  Linux
/dev/sda4           10601       19457    71143852+   5  Extended
/dev/sda5           10601       11208     4883728+  82  Linux swap / Solaris
/dev/sda6           11209       15033    30720000    b  W95 FAT32
/dev/sda7           15033       19457    35537920    7  HPFS/NTFS

ฉันบูตเป็นคู่ Win7 (sda2) และ Ubuntu (sda3) และต้องการใช้พาร์ติชัน FAT32 เพื่อแชร์ไฟล์ข้ามสองระบบปฏิบัติการ

ฉันติดตามการสอนออนไลน์และได้ทำสิ่งเหล่านี้:

sudo mkdir /media/FAT32
sudo chmod 777 /media/FAT32
sudo mount /dev/sda6/ /media/FAT32

หลังจากติดตั้งไฟล์ฉันสามารถอ่านได้ แต่ไม่สามารถเขียนได้

ฉันตรวจสอบการอนุญาตของไฟล์มันจะกลายเป็น:

drwxr-xr-x

แต่หลังจากที่ฉันเลิกเมานท์มันก็จะกลายเป็น

drwxrwxrwx

และฉันสามารถอ่านและเขียนมันได้

ฉันไม่รู้ว่าฉันผิดตรงไหน

คำตอบ:


18

ลองติดตั้งด้วย rw และระบุประเภท:

mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=xxx,gid=xxx

โดยที่ uid และ gid เป็นของบัญชีผู้ใช้ของคุณ


umask มีผลเมื่อสร้างไฟล์ใหม่
geek

userและautoเป็นตัวเลือกสำหรับการfstabเข้า; มันไม่ค่อยมีประโยชน์ใน commandline
ต้มตุ๋น Quixote

ใช่ฉันเพิ่งแปลหนึ่งในรายการ fstab ของฉันเป็นบรรทัดคำสั่ง ทิ้งไว้ในบิตที่ไม่มีประโยชน์ แต่ก็ไม่ได้เป็นอันตรายเช่นกัน
John T

2
sudo mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=$(id -u),gid=$(id -g)
chefarov

1

สำหรับระบบไฟล์ FAT ความพร้อมในการอ่าน / เขียนจะถูกควบคุมโดยตัวเลือกการเมานท์

ศึกษา manpage สำหรับการเมานต์และอ่านเกี่ยวกับตัวเลือกการเมานต์uidและgidสำหรับ FAT


1

คุณได้ลองเขียนไปยังไฟล์ด้วยsudoคำสั่งหรือไม่? ว่าควรจะทำงานร่วมกับการตั้งค่าปัจจุบันของคุณ

ในการรับไฟล์ที่เขียนสำหรับผู้ใช้ปกติของคุณคุณต้องใช้uidและgidตัวเลือกmountเพื่อตั้งค่าเจ้าของไฟล์บนพาร์ติชันเป็น ID ผู้ใช้ปัจจุบันของคุณ คุณอาจจะต้องการอย่างใดอย่างหนึ่งumaskหรือdmaskและfmaskตัวเลือก

mountคำสั่งของคุณจะมีลักษณะเช่นนี้:

sudo mount -t vfat /dev/sda6 /media/FAT32 -o uid=1000,gid=1000,umask=022
# assuming your user's UID is 1000, GID is 1000
# umask=022 sets permission mode 755 for all files on the partition

1

คุณมีคำสั่งที่ไม่ถูกต้องในคำสั่งที่คุณต้องการ:

sudo mkdir /media/FAT32
sudo mount /dev/sda6 /media/FAT32
sudo chmod 777 /media/FAT32

สิ่งที่เกิดขึ้นคือ / media / FAT32 แสดงถึงไดเรกทอรีต่าง ๆ ก่อนและหลังการเมานต์ ก่อนที่จะเป็นไดเรกทอรีที่คุณทำและที่คุณ chmod'ed 777 หลังจากนั้นมันเป็นไดเรกทอรีรากของระบบไฟล์ใน / dev / sda6


1

หากคุณลืมเกี่ยวกับบรรทัดคำสั่งและติดตั้งด้วย Nautilus ควรตั้งค่าตามที่คุณต้องการ

จากเทอร์มินัลสิทธิ์ของโฟลเดอร์ก่อนการติดตั้งไม่สำคัญ มันเป็นตัวเลือกการเมานท์ที่นับ ลอง:

mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=xxx,gid=xxx,umask=133,dmask=022

นี้จะตั้งไฟล์ไปและโฟลเดอร์ไปrw-r--r--rwxr-xr-x

หากคุณต้องการผู้ใช้ / กลุ่มและการอนุญาตอื่น ๆ เช่นการคัดลอกไฟล์จาก fat32 ไปยังพาร์ติชัน ext4 ด้วยคุณสมบัติที่ต้องการควรศึกษาmountmanpage ประมาณที่คุณใส่ในตรงข้ามของสิ่งที่คุณจะวางบนumaskchmod


0

บางครั้งฉันทำดิสก์ windows หายจาก Linux และฉันแก้ไขโดยใช้ mount ด้วย "-o force" เป็นตัวอย่างนี้:

sudo mount -t ntfs-3g /dev/sda1 /media/win -o force

ในกรณีของคุณการเป็น FAT32 ที่คุณควรอ่าน แต่ความช่วยเหลือของฉันคือเคล็ดลับนี้ อย่างไรก็ตามลองเสี่ยงของคุณเอง!


0

ฉันมีปัญหาเดียวกันทั้งหมดและสิ่งเดียวที่ใช้งานได้จริงคือ:

sudo mount -t vfat  /dev/sda6 /media/FAT32 -o rw,umask=0000

ดูคำตอบนั้นด้วย


ฉันทำสิ่งนี้กุญแจ usb ยังคงมีการป้องกันการเขียนไว้
Eildosa

คุณลองchmod 777 /media/FAT32ไหม
lauhub

1
ด้วยเหตุผลบางประการการลบ ", umask = 0000" ใช้งานได้
Eildosa

0

หากไม่มีการเมาต์ด้วยตนเองบรรทัด fstab จะทำเคล็ดลับ

UUID = 1DD9-0D44 / สื่อ / exthd / TERABYTE_G vfat rw, noatime, uid = 1,000, gid = 1,000, ผู้ใช้ 0 0

(uid, gid มาจากผู้ใช้ของคุณ, / media / exthd / TERABYTE_G ต้องถูกสร้างไว้ล่วงหน้า)

แต่โปรดทราบว่า mount -a นั้นใช้ไม่ได้อย่างถูกต้องเพื่อทดสอบบรรทัด fstab ใหม่ดังนั้นการรีบูทแบบเต็มจะช่วยได้


0

การซ่อมแซมที่สำคัญมาก / ตรวจสอบดิสก์ภายใต้ windows ก่อนที่จะใช้งานบน linux โดยค่าเริ่มต้นโปรแกรมควบคุมไขมัน / ntfs ปิดการใช้งานการเขียนถ้าพวกเขาพบข้อผิดพลาดบนดิสก์

chkdsk d: /f 

แล้วก็

sudo mount -t vfat /dev/sdc1 /media/FAT32 -o rw,uid=$(id -u),gid=$(id -g)

เหมือนที่เคยทำมาก่อน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.