我正在从 CD 运行 12.04 live,并尝试将一些重要文件从已安装的硬盘复制到外部磁盘。(我之前安装的 10.04 崩溃了,我想安装 12.04,并在那之前备份一些数据)。
当我尝试将文件从已安装的磁盘复制到外部磁盘时,出现以下错误:
There was an error copying the file into /media/New Volume/L300_Bkp_2012_06_04/pics
Error opening file: Permission denied
这与源(安装的硬盘)或目标(外部磁盘)有关吗?
我该如何解决这个问题?
答案1
这主要与安装的硬盘有关。您可以尝试以下方法来解决问题。
使用根源力量。
按Alt+F2
调出 dash 命令提示符。在该窗口中,输入gksudo nautilus
。这将以 root 权限打开 nautilus。然后您可以安全地复制文件。请记住在工作完成后关闭 root 权限的 nautilus,并且只执行您想要复制的内容。
取得已挂载文件系统的所有权
如果以上方法不起作用,您可以使用这个。
打开终端,输入sudo chown user:user /media/New\ Volume
获取文件系统的所有权。然后复制文件并重新启动。请注意,仅当上述方法不起作用时才建议这样做。
希望这能解决问题
( 信用:此主题)
答案2
问题似乎出在目标:/media/New\ Volume,但如果权限设置为不允许读取访问,则也可能是源(默认通常允许读取但不允许其他任何操作)
如果源文件系统以任何方式损坏,我不建议您使用 gksudo nautilus - 我见过(或者更确切地说帮助人们恢复)带有命令行的系统,但无法使用 Nautilus 完成,因为它出于某种原因仍然存在权限问题。
我也不建议您在从 CD 启动时拥有任何一个文件系统的所有权。用户名将是 ubuntu,如果您使用 sudo,则用户名将是 root。我还建议您不要写入源文件系统(使用 chown、nautilus 或其他方式),如果它有可能被损坏。如果出现问题,它会使情况变得更糟。
相反,只需将数据从源(可能是第一个内部磁盘或分区)复制到安装在媒体上的外部驱动器,显然是 /media/New\ Volume
要使用命令行安装第一个内部磁盘/分区:
sudo mount /dev/sda1/ /mnt
其中 sda 是第一个物理硬盘和所讨论的分区,而 (1) 是其上的第一个分区。
您的数据将可通过 /mnt/home/username 访问,除非您为 /home 设立了单独的分区。
假设您的外部驱动器已自动安装在 /media/New\ Volume 上,并且您已经在其上创建了目录 L300_Bkp_2012_06_04,则您可以使用以下命令复制整个主目录:
sudo cp -rv /mnt/home/username/* /media/New\ Volume/L300_Bkp_2012_06_04/
如果外部备份驱动器的格式为 FAT,那么当您将数据复制回重新安装的系统时,您将不会遇到权限问题。如果外部驱动器是 ext4,那么备份文件和目录将属于 root,您可能需要先取得它们的所有权,然后才能复制它们。启动新系统并使用您的用户名登录后:
sudo chown -R username:username /media/New\ Volume/L300_Bkp_2012_06_04/*
如果您不确定要从哪个磁盘和分区恢复数据(即/dev/sda1,/dev/sda2等),然后询问,我会添加一些详细信息。
编辑:如果您想要一个备份机制,它将执行与上述复制命令相同的操作,但可以反复使用仅有的复制新的或更改的文件,这也将备份隐藏的点文件(主要是配置文件),然后替换
cp -rv
和
rsync -av