拯救删除ZFS之后的分区表

本想安装在笔记本上安装FreeBSD+Linux双系统,不过总是引导不起来,遂放弃。删除分区表之后,准备调整分区大小,结果发现 gparted里,显示的只有zfs一个分区,但是lsblk却又是正常的。经过搜索发现是ZFS写入了metainfo,于是就看怎么删除。

删除是这样的:

# zpool clearlabel /dev/sda

然而,这会带来一个严重后果:分区表被破坏了。我试着用Linux的live磁盘进去,但是Linux已经认不出来了。一般Linux的live系统 不带gpart这个程序,因此我用FreeBSD live系统进去,发现还可以认出来:

# gpart disk list
...

不过输出里,会显示 GPT Corrupt,幸好gpart特别强大,可以直接修复:

# gpart recover /dev/sda

呼,搞定,有惊无险,系统数据得以保存。要是真的把分区表给完全摧毁了,数据就没了。


Refs:


更多文章
  • 权限模型(RBAC/ABAC)
  • OIDC(OpenID Connect) 简介
  • 任务队列简介
  • 使用Drone CI构建CI/CD系统
  • PostgreSQL 操作笔记
  • Golang migrate 做数据库变更管理
  • 使用PostgreSQL做搜索引擎
  • Nginx 源码阅读(三): 连接池、内存池
  • Nginx 源码阅读(二): 请求处理
  • Nginx 源码阅读(一): 启动流程
  • Go 泛型简明教程
  • KVM 显卡穿透给 Windows
  • 使用 HTTP Router 处理 Telegram Bot 按钮回调
  • 使用反射(reflect)对结构体赋值
  • GIN 是如何绑定参数的