使用TestDisk后无法重装GRUB,请求修复双系统并恢复文件
TestDisk后无法重装GRUB,请求修复双系统并恢复文件
看起来你遇到了个挺闹心的麻烦——用TestDisk尝试恢复文件后搞崩了GRUB,连chroot都失败,Boot Repair还不给推荐修复选项。先别慌,咱们一步步拆解问题来解决:
一、先搞定chroot: failed to run command '/bin/bash': No such file or directory错误
这个报错大概率是因为你只挂载了根分区和EFI分区,但chroot需要完整的系统环境,得先把proc、sys、dev这些虚拟文件系统绑过去:
- 先确认根分区和EFI分区已经挂载好:
sudo mount /dev/nvme0n1p4 /mnt sudo mount /dev/nvme0n1p2 /mnt/boot/efi - 接着挂载虚拟文件系统:
sudo mount --bind /dev /mnt/dev sudo mount --bind /dev/pts /mnt/dev/pts sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys - 现在再试chroot:
sudo chroot /mnt
要是还是失败,那可能你的根分区(nvme0n1p4)已经被TestDisk操作搞坏了,得先检查修复文件系统:
- 先卸载根分区:
sudo umount /mnt - 运行fsck修复:
sudo fsck /dev/nvme0n1p4
过程中如果弹出确认提示,直接输入y就行,修复完再重新挂载尝试chroot。
二、成功chroot后修复GRUB
要是chroot能进去了,重装GRUB就简单多了:
- 先确保相关工具都装了:
apt update apt install grub-efi efibootmgr - 把GRUB装到EFI分区:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu - 更新GRUB配置(这一步会自动识别Windows系统,生成双系统菜单):
update-grub
三、Boot Repair没“推荐修复”选项的解决办法
Boot Repair的推荐修复有时候会因为分区挂载不对或者系统损坏不显示,你可以手动指定后再试:
- 打开Boot Repair,点击「高级选项」
- 在「GRUB位置」标签里,确认EFI分区选的是
/dev/nvme0n1p2,然后勾选「修复GRUB」和「添加Windows到GRUB菜单」 - 点击「应用」执行修复就行
四、关于文件恢复的注意事项
现在先优先把系统启动修好,等能正常进Linux了再搞文件恢复:
- 绝对别往根分区(nvme0n1p4)里写新东西,不然被删的文件可能被覆盖,就找不回来了
- 可以用和TestDisk一套的
photorec来恢复文件,它比TestDisk更专注于文件恢复 - 运行photorec的时候,选根分区,然后把恢复的文件存到外部U盘/硬盘里,千万别存回原分区
备注:内容来源于stack exchange,提问作者davynci
相关产品推荐
相关产品推荐

