如果仍然提示 Unable to locate package testdisk,有可能是源中不包含該工具(LiveCD 使用的是“最小環境”)。
🪛 解決方法:切換到國內完整軟件源(推薦)
編輯 sources.list
:
sudo nano /etc/apt/sources.list
用以下內容替換(適用于中國大陸):
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
然后保存并退出(Ctrl+O → 回車,Ctrl+X)
然后重新執行:
sudo apt update
sudo apt install testdisk
然后按下面的步驟繼續:
-
選擇磁盤 →
/dev/sda
-
選擇分區類型 → 一般選默認(Intel / EFI GPT)
-
選擇 Analyse → Quick Search
-
找到你的原來 Linux 分區(ext4)
-
P 預覽文件 → 如果能看到熟悉的
/home
、/etc
就是它 -
Write → 寫回分區表
-
重啟測試
設置boot標志
sudo fdisk -l
將 /dev/sda3
的啟動標志去掉,只保留 /dev/sda2
作為啟動分區
用 fdisk
操作:
sudo fdisk /dev/sda
然后在 fdisk 交互命令下:
輸入 a,提示選擇分區號,輸入 3(取消其啟動標志)
輸入 a,選擇 2(設置啟動標志)
輸入 p 查看分區表,確認只有 /dev/sda2 帶 * 標志
輸入 w 保存退出
假設根分區是 /dev/sda2:
sudo mount /dev/sda2 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
修復 GRUB 引導
grub-install /dev/sda
update-grub
exit
sudo reboot
若重新設置root標志后還是自動進入救援模式
- 重新安裝并修復 GRUB
先進入系統恢復環境(live CD 或 rescue 模式),然后掛載系統分區并 chroot
:
sudo mount /dev/sda2 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
然后重新安裝 GRUB:
grub-install /dev/sda
update-grub
退出 chroot 并卸載
exit
sudo umount /mnt/dev /mnt/proc /mnt/sys /mnt
重啟試試:
sudo reboot