删除一个 MBR 磁盘的拓展分区,居然把我相邻的 138GB 磁盘都给删了Σ(っ°Д°;)っ
然后问了 deepseek 打算恢复数据,操作失误,又把一个 500GB 磁盘删了Σ(°ロ°)
仔细研究了下,阅读使用说明,最后把分区都恢复了! 吓坏我了
deepseek 的回答如下:
如果不小心删错了分区,**请立即停止一切写入操作**,然后按照以下步骤尝试恢复。**操作越早,成功率越高**。
### 🚨 立即停止写入!
* **不要再向这块磁盘写入任何数据**,比如创建、删除、格式化分区,或者保存文件。
* **也不要尝试重启系统**,如果该分区包含系统文件(如 `/boot`、`/`),重启可能会导致无法正常进入系统。
* 当前最好的做法是:**制作一个 Ubuntu Live USB**,用它启动电脑并选择"试用 Ubuntu",然后在 Live 环境下进行恢复操作。
---
### 🔧 恢复方法
恢复的核心思路是:**将分区表恢复到删除前的状态**。只要原来的数据没有被新数据覆盖,恢复的可能性就很高。
#### 方法一:使用 `testdisk` 快速扫描并恢复 (推荐)
`testdisk` 是一款强大的免费开源工具,专门用于恢复丢失的分区。
1. **在 Live USB 环境中安装 testdisk**
```bash
sudo apt update
sudo apt install testdisk -y
```
2. **运行 testdisk**
```bash
sudo testdisk
```
3. **按照提示操作**:
* 选择 **`[Create]`** 日志文件(通常默认选择此项即可)。
* 选择你误删分区的那块**硬盘**(根据容量判断,注意不要选错)。
* 选择**分区表类型**:通常是 **`Intel`** (即 MBR 分区表) 或 **`EFI GPT`**。如果不确定,可以都试试,`testdisk` 会给出提示。
* 选择 **`[Analyse]`** (分析当前分区结构)。
* 选择 **`[Quick Search]`** (快速搜索)。
4. **找到并恢复分区**:
* `testdisk` 会很快列出找到的分区。仔细查看列表,**被删除的分区通常会显示为红色**,并标有 `D` (Deleted) 标志。
* 使用上下箭头键选择你误删的那个**相邻分区**。
* 按键盘上的 **`P`** 键可以**预览分区内的文件**,这是确认是否找对分区的最可靠方法!如果能正常列出你的文件夹和文件,说明找对了。
* 按 **`Q`** 退出预览,回到列表。
* 按左右箭头键将光标移动到屏幕底部的 **`[Recover]`** 按钮上,按回车确认恢复。
5. **写入分区表并退出**:
* 恢复后,会提示你选择写入方式。选择 **`[Write]`** 将新的分区表写入磁盘。
* 输入 `Y` 确认。
* 完成后,退出 `testdisk`。
6. **重启系统**:
* 移除 Live USB,重启电脑,检查分区是否已恢复。
#### 方法二:如果 `testdisk` 快速搜索没找到
如果快速搜索没有找到丢失的分区,可以尝试更深入的扫描:
* 在 `testdisk` 的分析界面,选择 **`[Deeper Search]`**。这会进行更彻底的扫描,但耗时也更长。
#### 方法三:如果数据非常重要,且 `testdisk` 无法恢复
如果 `testdisk` 无法重建分区表,或者你担心操作风险,可以尝试使用 `photorec` (通常与 `testdisk` 一起安装) 或 `ddrescue` 等工具来恢复**文件**。
* **`photorec`**: 它会**忽略文件名和目录结构**,根据文件头信息来恢复文件(如照片、文档等),恢复后的文件会是一堆按类型整理的无序文件,比较混乱。
* **`ddrescue`**: 用于从有坏道的磁盘上克隆数据,适合先做全盘镜像,再在镜像文件上进行恢复操作,避免对原始磁盘造成二次伤害。
---
### ⚠️ 重要提醒
* **不要尝试重新创建分区**:如果你只是简单地在原位置重新创建一个分区,并格式化为相同的文件系统,**这并不能恢复数据**,反而会破坏更多文件系统结构,让恢复变得更加困难。
* **不要使用 Windows 下的磁盘检查工具**:如 `chkdsk`,它可能会破坏 Linux 特有的文件系统元数据。
* **保持冷静,切勿急于求成**:分区恢复是一个需要仔细操作的过程,误操作可能导致数据永久丢失。
### 📌 经验总结
这次误删操作提醒我们,进行磁盘分区管理时:
* **一定要先备份重要数据**。
* **谨慎操作**,尤其是在删除分区时,仔细确认分区编号和大小。
* 可以在操作前先用 `sudo fdisk -l` 或 `sudo parted -l` 查看当前分区布局,拍照或截图留底。
* 在 GParted 中,删除分区前可以留意一下分区标签和挂载点,避免误删。
希望你能成功恢复分区!如果在操作 `testdisk` 过程中遇到具体问题(如看不懂提示、找不到分区等),随时发截图过来,我会帮你进一步分析。