Linux/Windows双启动的权限问题

Linux/Windows双启动的权限问题

我有一个双启动 Linux/Windows 系统,这两个系统位于完全独立的物理硬盘驱动器上(是的,它那个老)。在Linux系统上,有一个子目录/media/myusername叫做windrive.我使用以下命令挂载 Windows 分区:

sudo mount -t ntfs -o nls=utf8,umask=0000 /dev/sda2 /media/myusername/windrive

这样我最终将 Linux 系统安装在 上/dev/sdb1 ,并将 Windows 分区安装在 上dev/sda2

Windows 分区上的大多数读/写操作都可以正常工作,但也有一些不能。例如(请注意,这只是一个例子),我可以使用以下命令将文件nameOfFile.txt从 Linux 桌面复制到 Windows 桌面:

cp ~/Desktop/nameOfFile.txt /media/myusername/windrive/Users/myusername/Desktop

但是,由于权限问题,移动文件仅部分成功。具体来说,

mv ~/Desktop/nameOfFile.txt /media/myusername/windrive/Users/myusername/Desktop

结果出现错误:

mv:保留“/media/myusername/windrive/Users/myusername/Desktop/nameOfFile.txt”的时间:不允许操作

作为一次性解决方案,我可以简单地使用sudo mv而不是mv...,但是有没有一种方法可以挂载 Windows 分区,以便根本不会出现此问题?

接下来,如果这是可能的并且我这样做了,是否会涉及任何重大风险?

添加:我特别感兴趣克服的一般方法关于保存时间的问题。我使用cpmv仅仅是为了说明什么有效、什么无效。每当我有一个位于 Windows 分区上并在 Linux 和 Windows 应用程序之间共享的库时,就会出现问题。

答案1

既然你不关心保存时间或者权限 并希望避免错误消息:Operation not permitted使用时mv(以及避免使用),您需要通过在选项中使用和sudo来安装指定用户(如果需要的话还可以是组)的驱动器:uidgidmount

sudo mount -t ntfs -o nls=utf8,umask=0000,uid=1000,gid=1000 /dev/sda2 /media/myusername/windrive

根据您的需求,地点uid=1000和位置可能会有所不同。gid=1000

相关内容