😭发生经过

当时吃着饭看着电视,远程调试着这玩意儿

687451fc1a11c.png
突然RDP远程断开了,随即朋友跟我说为什么jellyfin放不了了

687454d58168c.jpg

687454d57b7cd.jpg
我马上去检查,发现小翼管家显示路由器在线,但无法控制重启,并且我家里PC的开机卡也读不到状态。
我连忙打电话给电信客服问是不是宽带故障了,说给我远程修复一下,我寻思这玩意儿还能远程修复?估计就是给我远程重启了下吧(此时内心慌的一逼,生怕是给我公网IP搞没了)。
然后过了一阵发现开机卡能控制PC了,向日葵里家里的PC上线了。
687458cf5441c.webp
看了下家里PC的事件记录,确实是断电了,但服务器一直开不起来,我还疑惑呢,后面去iDrac里面检查,发现是压根没进去系统,直接 Boot Failed 了,至于为什么有个 Windows boot manager,我猜是之前硬盘遗留的吧。

687459ca658b6.webp

🪄修复过程

初步判定是突然断电导致硬盘分区表丢失了,这里就记录一下最终的解决方案,其他尝试过的就不过多赘述了。
由于我在外地并不在家,所以没有办法用U盘来进入LiveOS

请确认硬盘可以正常被 BIOS阵列卡 读取到,如果硬盘是物理上的损坏则不适用于本文。

  1. 准备一个 Ubuntu 镜像,我下载的是Ubuntu Desktop 24.04.5
  2. 进入 iDrac,打开虚拟控制台(Virtual Console),连接后点击上方的Connect Virtual Media,选择准备好的镜像
    68745c0ec7c38.webp
  3. iDrac操作设备冷重启,按F11进入Boot Manager,选择UEFI Menu,从刚才虚拟出来的 Virtual 设备启动(可能为Virtual Optical Device),具体可能每台设备不一样,大差不差。
  4. 启动后选择Try or install ubuntu,也就是试用 Ubuntu
  5. 进入 Ubuntu 后,安装 TestDisk,指令如下:
    sudo apt update
    sudo apt install testdisk
    
  6. 安装完后执行sudo testdisk运行,选择之前的系统盘(例如我的是 /dev/sda ),依次定位到 "Proceed" -> "EFI GPT" -> "Analyse" -> "Quick Search"
    找到原始分区后,可通过按下 "P" 键列出该分区内的文件和目录,以此验证找到的是否为正确分区。确认无误后,按回车继续,再定位到 "Write" 将新检测到的分区结构写入磁盘,并重启系统以检验恢复效果。

687466248c6ce.webp

687466248f5ad.webp

687466248ddd7.webp

✨大功告成

最后通过 iDrac 重启,终于进系统了,DDNS 也给我发通知了,把 一堆容器都重新启动后一切恢复正常。
我的 Rustdesk, Bitwarden, Jellyfin, FireFly, Koishi, Certd...... 终于回来了🫠

就是之前能直接 RDP 远程访问的 Windows 虚拟机不知为何没办法直接远程了,最后放弃了,直接在虚拟机上装了个 RustDesk

6874662492502.webp

687466248d442.webp