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