Fusion Drive 的分离、格式和系统重装问题解决

个人 MacMini 买来好几年了,期间本身拆开加装了一个 SSD,并按照网上的说明,和原先的硬盘组合为一个 Fusion Drive 。
最近脑子发热,想重装一下系统,结果在格式化阶段死在那里不会动了。
各类谷歌百度,各类尝试无效。linux

首先是分离 Fusion Drive 混合分区。

diskutil cs list # 列出全部 Fusion Drive

clipboard.png

苹果客服支持要我直接删除 Logical Volume Group,也就是下面的命令。安全

diskutil cs delete 11111111-2222-3333-4444-555555555555

后面的 111……555 自行替换为你本身的Logical Volume Group 的 UUID,就是图上第一行漂白部分。dom

反正我测试了是无效,因此,只好一步一步删除。
找到最下面漂白部分的 logic volume 的 UUID,执行工具

diskutil cs deleteVolume 11111111-2222-3333-4444-555555555555

后面的 111……555 自行替换为你本身的 UUID。
而后再执行上面的删除 Logical Volume Group 的命令。测试

最后仍是无效,大概停留在 20% 左右的进度就下不去了。大概是分区表被我破坏掉了。spa

无奈之下,尝试安全删除磁盘

diskutil list
# 个人 ssd 盘显示为 disk3

diskutil unmount force /dev/disk3
# 此步出现找不到磁盘,因而换个命令

diskutil unmountDisk /dev/disk3

#而后下一步安全删除并清零磁盘
diskutil zeroDisk /dev/disk0

#最终仍是失败,出现以下错误:

~ Started erase on disk2 
~ Error: -69759: Securely erasing data to prevent recovery failed Underlying 
~ error: 5: Input/output error

#尝试下面的命令,也是失败
diskutil eraseDisk HFS+ NAME /dev/disk3

此处没有测试一个命令:code

fdisk -a hfs /dev/disk3

diskutil 实际上是 fdisk 的老版本命令。只是被苹果使用后,有过拓展。但 fdisk 能实现更灵活的操做。没必要为苹果的一些安全机制所限制。只是,由于我采用了更测地的抹除模式,因此,没有测试该命令。ip

大杀器,类 Unix 系统磁盘的深度格式方法

苹果是类 Unix 系统,因此,他的磁盘管理模式底层也是和其余 Unix 系统相似。好比存在一些特殊的设备驱动,如 dev/nulldev/random 等。前者接受任何输入,就像一个实时垃圾清理站。后者若是可以被访问,则实时输出一堆随机数据。咱们能够经过 cat /dev/random 进行访问,须要经过 Ctrl+c 进行停止。it

此处咱们就用到 dev/random 来解决咱们的磁盘问题。io

当咱们的磁盘驱动故障或者出现低格问题时,咱们能够经过 dev/random 来强制覆盖磁盘,它会毁坏分区表和当前格式,将驱动显示为一个空白盘。

# 进入 root 模式,输入 root 口令
sudo su

# 列出你的磁盘,找到你想要重格的磁盘名称
diskutil list

##### 千万注意不要找错磁盘,下列操做不可恢复。我要低格的是 disk3,命令以下 ####
cat /dev/random > /dev/disk3

运行1分钟左右,按 ctrl+c 中断它。而后执行

diskutil list

若是显示以下,说明磁盘已变为一个空盘。

clipboard.png

而后,你就在磁盘工具中分区、格式,再重装系统便可。

超大杀器,用 dd 命令低格

在 linux 下,低格工具就是 dd

dd if=/dev/zero of=/dev/disk2 conv=noerror bs=128k
  • bs=bytes:同时设置读写块的大小为 bytes ,可代替 ibs 和 obs

  • conv=noerror:出错时不中止处理。

盘符视实际状况, diskutil list 能够查看盘符

低格就使用0/1覆盖整个硬盘,时间几个小时,视硬盘大小。

好了,让它格吧,我睡去咯。^_^

对了,还有屠龙刀 ddrescue

我还没测试,不过已经用 brew 安装了。
你能够执行下面的命令先安装着

brew install ddrescue

基本操做:

Usage: ddrescue [options] infile outfile [mapfile]

详细请执行命令 ddrescue --help 查看。

相关文章
相关标签/搜索