Linux cp:手动装载时无法保留所有权错误

Linux cp:手动装载时无法保留所有权错误,linux,file-permissions,mount,Linux,File Permissions,Mount,我使用 sudo cp -Rrf --preserve=all /media/Necktwi/BOOT/* BOOT/ 我可以使用sudo cp-Rrf--preserve=all BOOT*/media/Necktwi/BOOT/ 当ubuntu挂载分区时 但是当我使用 sudo mount -w /dev/sdc1 /mnt/boot 并尝试复制回我得到的所有内容cp:failed to preserve ownership,以保留每个被复制文件的所有权 ubuntu挂载分区时分区的/e

我使用

sudo cp -Rrf --preserve=all /media/Necktwi/BOOT/* BOOT/
我可以使用
sudo cp-Rrf--preserve=all BOOT*/media/Necktwi/BOOT/
当ubuntu挂载分区时

但是当我使用

sudo mount -w /dev/sdc1 /mnt/boot
并尝试复制回我得到的所有内容
cp:failed to preserve ownership
,以保留每个被复制文件的所有权

ubuntu挂载分区时分区的
/etc/mtab

/dev/sdc1 /media/Necktwi/boot vfat rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2 0 0
使用上面的
mount
命令装载时,该分区的
/etc/mtab
条目为

/dev/sdc1 /mnt/boot vfat rw 0 0
因此,我认为应该在
mount
命令中指定一些额外的选项。我的分区是
fat16

如何避免
cp:failed to preserve ownership
错误?

FAT文件系统不支持所有权。所以Linux所做的是通过将
uid=1000,gid=1000
传递到mount来模拟文件的所有者和组字段,mount表示:“每个文件和目录都由1000和组1000拥有。”

要了解这些ID的含义,请使用
getent

getent passwd 1000
为您提供所有者(用户)和

给你一个小组

要修复错误,请使用

sudo挂载-o uid=1000,gid=1000/dev/sdc1/mnt/boot

但是其他选项可以解决FAT和Linux的其他重要问题,因此更好的解决方案是将它们全部采用并通过脚本装载

#!/bin/bash
options="rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2"
mount -o "$options" /dev/sdc1 /mnt/boot

并使用
sudo

调用脚本FAT文件系统不支持所有权。所以Linux所做的是通过将
uid=1000,gid=1000
传递到mount来模拟文件的所有者和组字段,mount表示:“每个文件和目录都由1000和组1000拥有。”

要了解这些ID的含义,请使用
getent

getent passwd 1000
为您提供所有者(用户)和

给你一个小组

要修复错误,请使用

sudo挂载-o uid=1000,gid=1000/dev/sdc1/mnt/boot

但是其他选项可以解决FAT和Linux的其他重要问题,因此更好的解决方案是将它们全部采用并通过脚本装载

#!/bin/bash
options="rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2"
mount -o "$options" /dev/sdc1 /mnt/boot

sudo

调用脚本实际上,我不确定
uhelper
是做什么用的。也许你应该/可以/必须排除这个。实际上,我不确定uhelper是做什么的。也许你应该/可以/不得不排除这个问题。为什么这个问题要结束?这是一个很好的问题,也是谷歌搜索“cp未能保留所有权”时的第一个结果。为什么这个问题被关闭了?这是一个好问题,也是谷歌搜索“cp未能保留所有权”时的第一个结果。