在 Windows 和 Linux 之间共享分区会引发权限错误

在 Windows 和 Linux 之间共享分区会引发权限错误

我在 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

目前就卡在这一步了。

答案1

对于较大的分区最好不要使用 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

相关内容