Linux

在 Windows 和 Linux 之間共享分區會引發權限錯誤

  • July 16, 2020

我在 Windows 10 中創建了一個格式化為 Fat32 的新分區,這樣即使登錄到我的 MX Linux 安裝或 Windows 10,我也可以處理位於一個位置的文件。登錄到 Windows 10 時,我可以將文件移入和移出分區沒問題。登錄到 MX Linux 時,驅動器沒有掛載,所以我修改了 /etc/fstab,添加了這一行:

UUID=3F02-4BFD /mnt/sda4 vfat defaults 0 2

然後我重新啟動,卻發現我無法在 /mnt/sda4 中創建 mkdir。所以我查看了權限,發現每個所有者和組都是root。

所以我登錄到root並嘗試執行:

chown foo:users sda4/

並得到錯誤:

chown: changing ownership of 'sda4/': Operation not permitted

請注意,我使用了這個 sudo 並且實際上是以 root 使用者身份登錄的。

我做了一些研究,顯然可能存在一些不變性,所以我跑了:

lsattr sda4/

並在所有目錄上得到了這個:

lsattr: Inappropriate ioctl for device While reading flags on sda4/foo

目前卡在這一點上。

最好不要將 FAT32 用於較大的分區。使用 NTFS。FAT32 的文件大小限制為 4GB,因此您無法將大文件複製到其中。它也沒有日誌,因此 chkdsk 可能需要更長的時間或無法修復它。

您不能更改 Windows 格式化分區的權限或所有權。您如何安裝它是預設設置。root 通常是普通的所有者,但會開放權限以使其可用。但是您可以在安裝時將所有者使用者設置為 1000。

您是手動掛載還是使用 fstab。

https://askubuntu.com/questions/46588/how-to-automount-ntfs-partitions

https://askubuntu.com/questions/22215/why-have-both-mnt-and-media

NTFS 參數範例。

 nodev,permissions,windows_names,nosuid,noatime,async,big_writes,timeout=2,uid=1000,gid=1000 windows_names,big_writes

big-writes 有助於提高速度,而 windows_names 可防止使用在 Linux 中有效的無效字元。如果 SSD 使用 noatime,如果 HDD 使用 relatime。

我的 ESP - efi 系統分區以這種方式掛載,但它是一個較小的分區。

/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)

您可能還會遇到休眠問題。快速啟動使用休眠標誌,Linux 工具通常不會掛載休眠分區以防止損壞。

http://askubuntu.com/questions/843153/ubuntu-16-showing-windows-10-partitions &

https://askubuntu.com/questions/145902/unable-to-mount-windows-ntfs-filesystem-due-to-hibernation

引用自:https://unix.stackexchange.com/questions/598813