我的机器上使用的是 14.04 LTS。当我收到可以升级到 16.04.1 LTS 的通知时,我下载了 iso 以便进行全新重新安装。我/
在 sda1 和/home
sda2 上有这个文件(单独的分区)。在安装 16.04.1 时,我选择格式化 sda1 并将其用作,/
并选择使用 sda2 用作/home
。我选择了与以前相同的用户名和密码。安装顺利。第一次启动后,我尝试登录,但失败了。我可以转到虚拟终端并使用我通常的凭据登录。/home/user/Downloads
例如,我可以 cd 到,主目录子文件夹中的所有文件似乎都在那里。但是,当我ls
在 中执行此操作时,~
出现以下错误:
ls: relocation error: /lib/x86_64-linux-gnu/libpthread.so.0: symbol __libc_vfork, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
当我尝试执行此操作时,nano ~/.bashrc
我只是收到分段错误。但是 bash 似乎已加载我的 bashrc,因为它看起来像我通常使用的 bash。touch test
给我同样的结果,而执行 则touch test
工作~/Downloads
正常。
当我从安装设备启动时,我可以挂载分区 sda2 并从中读取数据。只有使用 才可以进行写入sudo
。
你知道这到底是怎么回事吗?另外:我从来没有对我的主目录使用过加密。
[编辑]:dmesg
告诉我(尝试登录图形界面后)
traps: gnome-session[3282] general protection ip:[hex numbers] sp:[more hex] error:0 in libc.so.6[even more hex]
[编辑]:我无法ls
在 中执行 while操作~
,但我可以ls ~
在 中执行 while操作/
,甚至在 中也可以/home
。我现在很困惑。
答案1
可能是文件所有权设置出了问题(可以检查ls -al /home/USER
)。您可以通过以下方式修复:
sudo chown USER /home/USER/ -Rv
答案2
libc.so.6
我现在觉得自己太蠢了。这个答案可能对任何人都没有帮助,但它解决了我的问题。我的主目录中有一个名为的文件(我真的不知道为什么) 。我rm ~/libc.so.6
不在家时通过删除它~
,它解决了所有问题。