黑群晖 “抱歉,您所指定的页面不存在” 问题解决

方法不需要重装,可以完全远程操作

环境

  • 黑群晖 DSM 6.1.7-15284 Update 3
  • 开启 SSH

问题描述

黑群晖突然抽风,访问 IP+端口(http 或 https),页面显示 “抱歉,您所指定的页面不存在”

其他症状

通过 SSH 连接群晖,可以成功执行指令

synoscgi

通过指令

ps -ef | grep synoscgi
ps -ef | grep defunct

发现 synoscgi 及子进程运行正常,但 index.cgi 变成了僵尸进程(这里与其他教程的症状不同)

问题解决

出现此问题是因为依赖文件的丢失,/lib 目录下缺少 Web UI 运行所需要的 .so 系统文件(缺失文件可能每个人都不同,但解决的方法是相同的)

解决流程为:下载原 DSM 镜像 – 查看缺失文件 – 从原镜像提取文件到系统目录 – 重启

  1. 下载镜像
    • 群晖官方镜像地址
    • 选择对应版本和机型的 .pat 镜像
    • 一定要选择对应型号和版本,我一开始使用了 DS918 镜像,而实际上我的型号是 DS3617,最后导致系统信息无法正常显示
    • 选择错了也没关系,重新下载正确镜像重新操作即可
  2.  查看短缺的依赖文件
    • 进入 /var/log/upstart 目录,查看 synoscgi 运行日志
      sudo -i # root权限
      cd /var/log/upstart
      cat synoscgi.log
    • 我这里显示不能加载 libsynotls.so.6 和 libsynosso.so.6
  3. 在原镜像中提取缺失的依赖文件
    • 用 7z 等压缩软件解压 .pat 镜像
    • 再次解压 hda1.tgz 压缩包,用压缩软件打开解压出来的 hda1 文件(无后缀)
    • 进入 /usr/lib, 找到缺失的文件,解压出来
    • 使用 scp 等指令(Windows 可以使用软件 WinSCP)将解压出来的缺失文件上传到群晖
      scp -r [解压出来的文件路径] [email protected][群晖IP]:/tmp

    • SSH 连接到群晖,执行以下指令将文件移动到 /lib 目录下,并将文件所属用户改为 root
      sudo -i
      mv /tmp/[你的缺失文件.so] /lib
      cd /lib
      chown root:root [你的缺失文件.so]

      如果权限不正确(不是 -rw-r–r–),执行指令设置为 644

      chmod 644 [你的缺失文件.so]

      如果缺失的文件有软连接(可以对比原镜像),则执行指令建立链接

      ln -s [你的缺失文件.so] [缺失文件名].so
  4. 重启 DSM
    • 注意:可以进入 Web 页面后,如果仍有些组件显示不正常,则还需查看日志,可能还缺少了其他组件,图为我进入 Web 界面后缺少 libsynonvme.so.1,导致无法显示存储信息

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据