重启后文件夹链接断开

重启后文件夹链接断开

我刚刚将 Ubuntu 14.04.1 安装在一个有现有分区的驱动器上。我想为安装在其中一个分区 (/media/emily/ Gaming) 上的游戏创建一个链接/快捷方式。创建 .jar 文件 (FTB.jar) 的链接并将该链接移动到桌面后,它就可以正常工作了。但重新启动后,它说链接已损坏并要求我将其删除。

驱动器当前显示已安装。有没有什么办法可以解释为什么会发生这种情况?

我对 Linux 还很陌生,因此,如果能详细描述一下可能发生的情况并提出修复建议,我将非常感激。

重启后:

$ lsblk
NAME    MAJ:MIN  RM  SIZE    RO  TYPE  MOUNTPOINT
sda     8:0      0   298.1G  0   disk
├─sda1  8:1      0   28G     0   part  /
├─sda2  8:2      0   1K      0   part
├─sda3  8:3      0   6.5G    0   part  [SWAP]
├─sda4  8:4      0   65.6G   0   part  /home
├─sda5  8:5      0   100G    0   part
└─sda6  8:6      0   98G     0   part  
sr0     11:0     1   1024M   0   rom

$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=2fee48ec-8d63-4125-9eca-5b2e1061602d /               ext4    errors=remount-ro 0       1
# /home was on /dev/sda4 during installation
UUID=b3804a77-7d80-40a6-8f92-212bed16a151 /home           ext4    defaults        0       2
# swap was on /dev/sda3 during installation
UUID=8fff87b8-2128-48ae-bfd4-bc959458f99d none            swap    sw              0       0

从游戏分区建立链接后:

$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda4 on /home type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup         (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=emily)
/dev/sda5 on /media/emily/ Gaming type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)

答案1

在 Ubuntu 中,当您第一次在 Nautilus 中单击分区时,分区可能会自动挂载,而通过右键单击并选择“卸载”可以卸载分区。挂载分区后,您可以创建一个工作链接,但重新启动后,它不会挂载,直到您再次单击它;然后,链接才会工作。

解决方案是明确挂载分区。这会将其连接到您选择的某个目录中的文件系统。因此,需要几个步骤,但都不是很复杂,尽管由于权限问题会稍微有点问题,尤其是当分区格式化为 NTFS 时,您的分区似乎就是这种情况。

为了学习,您可以mount在终端中使用命令,然后使用umount命令卸载。但最终,您将希望在中进行永久输入/etc/fstab,尽管也有一种方法可以在那里进行实验,使用 mount 命令的形式告诉它安装文件中的所有内容,并查看是否会出现错误。如果事情不符合您的喜好,您可以发出命令umount卸载新分区,编辑文件,然后重试。

这可能不清楚,但我稍后会解释。

一个问题是我没有任何 NTFS 分区,所以我无法真正告诉您确切使用什么选项来获取正确的权限,这就是为什么我尝试不发布答案,而是发表评论。

现在,请注意 mount 命令给出了如下一行:

/dev/sda5 on /media/emily/ Gaming type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)

不过,我不知道为什么“Gaming”前面有一个空格。这看起来像是一个错误,但没关系,因为我们将创建一个要使用的目录。

答...首先,您需要创建一个空目录用于挂载,因为它需要存在。因此,为了避免与自动挂载点混淆,请在目录下创建它/mnt,如下所示:

sudo mkdir /mnt/gaming
sudo chown emily:emily /mnt/gaming

我假设 emily 是您的用户名;如果不是,请用其他名称代替。

B... 下一步是找到一个更好的分区标识符。您可以使用“/dev/sda5”,但这不是最可靠的标签,因为它可能会发生变化。为了清楚起见,我个人使用磁盘标签,但大多数人似乎都想使用 UUID,它是在格式化时分配的,并且始终是唯一的。要找到此 ID,您需要输入sudo blkid并查找以“/dev/sda5”开头的行。应该有一个部分,其中包含类似于 的内容UUID="nnnnnnnnnnnnnnnn",是数字和数字的某种组合。您将把它复制到 fstab 文件中(突出显示大数字,使用 shift-ctrl-C 复制,然后将其粘贴到文件中(不过稍后再进行)。

C... 接下来,打开/etc/fstab进行编辑;我假设您将使用 gedit,但任何基本编辑器都可以。输入gksu gedit /etc/fstab(因为该文件归 root 所有)。在文件末尾添加一行:

UUID=nnnnnnnnnnnnnn /mnt/gaming ntfs-3g defaults,user_xattr 0 0

D... 保存,但不要关闭文件。转到终端,然后输入mount -a。这将挂载 中的所有内容/etc/fstab,并且希望不会出现任何错误。如果您在添加的行中遇到任何错误,并且不明白原因,请在行首添加井号 (#) 以禁用它,保存、关闭并发回寻求帮助。

如果一切正常,请尝试查找目录/mnt/gaming,并查看分区是否可以访问。尝试创建指向该目录的链接,并查看它是否按您想要的方式工作。

我希望这会有所帮助。如果没有帮助,也许其他人可以做得更好,因为我现在需要离开了。

编辑

我尝试添加项目符号,结果弄乱了一些格式,由于我当时要匆忙离开,所以没有注意到。因此,两行没有分开,变成了一行,结果是:

 sudo mkdir /mnt/gaming sudo chown emily:emily /mnt/gaming

我对此感到很抱歉;它所做的就是创建了多个目录 - 它创建了、、和/mnt/gamingsudo然后再次尝试创建 /mnt/gaming,导致出现错误消息。除了一些奇怪的目录(由于 sudo 由 root 拥有)之外,没有造成任何实际损害。除了您发出命令时所在的目录(可能是您的主目录,)之外,其他所有目录都位于您准备好时所在的目录中。我会在您准备好时帮助您删除它们。我对此真的很抱歉;我最初不想回答,因为我没有足够的时间,也许尝试是一个错误。chownemily:emily/mnt/gaming/home/emily

编辑2

当您输入 时/mnt/gaming,系统会尝试在“/mnt”目录中运行名为“gaming”的文件。您需要执行cd /mnt/gaming然后ls才能查看文件,或者使用 Nautilus 在文件系统根目录下找到该目录。

我不知道 gedit 的错误是什么,但它可能与任何事情都无关。当您输入 时sudo mount -a,如果它有效,它应该什么也不做;这是 Linux 的方式。如果有错误,它会告诉你;否则它只是默默地做你期望的事情。所以,假设分区出现了,它就起作用了。

笔记

我会继续检查直到解决

相关内容