使用命令行操作,非常easy,可是操作不当非常危急!

免责声明:假设操作不当造成的数据丢失,本人概不负责。

为什么?

不是有OSX恢复磁盘助理嘛?是的。假设仅仅想使用GUI的软件。能够去苹果官方站点:http://support.apple.com/kb/DL1433?viewlocale=zh_CN

唯一的原因就是:生命不息,折腾不止;只是还有另外一个诱因,就是看看究竟官方的恢复磁盘助理的原理,换句话说,用自己的办法达到相同的效果。

前提:你有一个工作的Recovery HD,你的Mac支持U盘启动。

1. 准备一个空白的不小于1GB的U盘。事实上650MB的就能够。

2. 执行命令,并记住各个參数:

diskutil list

我的机器是:

$ diskutil list

/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *160.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 159.7 GB disk0s2
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 GB disk1
1: Apple_HFS A 346.9 MB disk1s1
2: Apple_Boot Recovery HD 693.8 MB disk1s2
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *120.0 GB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS OSX94 29.5 GB disk2s2
3: Apple_Boot Recovery HD 650.0 MB disk2s3
4: Apple_HFS Data 58.0 GB disk2s4
5: Apple_HFS OSX10DP 23.5 GB disk2s5
6: Apple_Boot Recovery HD 650.0 MB disk2s6
7: Apple_HFS _OSX10DPInstaller_ 7.3 GB disk2s7

我要操作的是disk1这个盘。源Recovery HD是disk2s6。它是OS X 10.10 DP3的恢复盘。

3. 创建U盘恢复分区

执行命令和显示:

$ sudo -s
$ diskutil partitionDisk disk1 1 GPT jhfs+ Recovery\ HD 100% Started partitioning on disk1
Unmounting disk
Creating the partition map
Waiting for the disks to reappear
Formatting disk1s1 as Mac OS Extended (Journaled) with name Recovery HD
Initialized /dev/rdisk1s1 as a 992 MB case-insensitive HFS Plus volume with a 8192k journal
Mounting disk
Finished partitioning on disk1
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 GB disk1
1: Apple_HFS Recovery HD 1.0 GB disk1s1

4. 制作:

$ diskutil unmountDisk disk1

Unmount of all volumes on disk1 was successful

$ gpt remove -b 40 disk1
disk1s1 removed $ gpt add -b 40 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk1
disk1s1 added $ gpt -r show disk1
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 2032634 1 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
2032674 32 Sec GPT table
2032706 1 Sec GPT header $ dd if=/dev/dsik1s6 of=/dev/disk1s1 $ diskutil mount disk1s1
$ bless --folder /Volumes/Recovery HD/com.apple.recovery.boot

5. 验证:

$ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *160.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 159.7 GB disk0s2
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 GB disk1
1: Apple_Boot Recovery HD 1.0 GB disk1s1
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *120.0 GB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS OSX94 29.5 GB disk2s2
3: Apple_Boot Recovery HD 650.0 MB disk2s3
4: Apple_HFS Data 58.0 GB disk2s4
5: Apple_HFS OSX10DP 23.5 GB disk2s5
6: Apple_Boot Recovery HD 650.0 MB disk2s6
7: Apple_HFS _OSX10DPInstaller_ 7.3 GB disk2s7

6. 測试:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY25lZHVjYXRpb24=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

OSX: 命令行制作U盘Recovery HD的更多相关文章

  1. windows 基于命令行制作vhd虚拟磁盘

    什么是VHD? VHD是Virtual Hard Disk的简称,就是虚拟硬盘,就是能把VHD文件直接虚拟成一个硬盘,在其中能像真实硬盘一样操作,读取.写入.创建分区.格式化.如果你用过虚拟机,就会知 ...

  2. [2014-08-18]Mac OSX 命令行快捷键

    系统:OSX 10.9.4 将光标移动到行首:ctrl + a 将光标移动到行尾:ctrl + e 清除屏幕: ctrl + l 搜索以前使用命令:ctrl + r 清除当前行: ctrl + u 清 ...

  3. mac 命令行读取 u盘

    mac 系统命令行读取u盘

  4. java console ( mac osx ) 命令行编码

    方法 vi ~/.bash_profile #添加新行, UTF-8表示你平台的编码方式 #例如你是GBK.GB18030的 #替换成你平台console可现实字符编码即可 export JAVA_T ...

  5. sublime mac osx 命令行打开

    sudo ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/bin/subl 参考地址:htt ...

  6. Mac OSX 快捷键&命令行总览

    大家初用Mac OSX可能不习惯,特别收集总结了Mac OSX 上的快捷键,方便大家参考 ,请叫我雷锋. 一.Mac OSX 快捷键 ctrl+shift                       ...

  7. Mac OSX 快捷键&命令行

    一.Mac OSX 快捷键 ctrl+shift                                    快速放大dock的图标会暂时放大,而如果你开启了dock放大Command+Op ...

  8. Mac制作U盘系统(OS X El Capitan)教程

    前言部分 重装过Mac OS X系统的人应该都深有体会,通过自带的重新安装 Mac OS X功能恢复系统(开机时按Command+R) 要耗费10几个小时才能完成(请求苹果国外服务器),但如果通过U盘 ...

  9. 使用Java命令行方式导入第三方jar包来运行Java程序的命令

    1.首先使用命令行进入到a.java所在的文件夹:(比如我的在D:\javaeeworkspace\SharedPS_WS\src\com\dyf\main 这样一个路径下,) d: 回车, cd D ...

随机推荐

  1. 使用EventHandler传递参数

    1.MouseEventHandler和EventHandler传递参数的局限性分析 开发过程中,特别是使用自定义控件时,常常需要对一个控件的click,mouseDown,mouseUp等事件的处理 ...

  2. Linux下多进程服务端客户端模型二(粘包问题与一种解决方法)

    一.Linux发送网络消息的过程 (1) 应用程序调用write()将消息发送到内核中 ( 2)内核中的缓存达到了固定长度数据后,一般是SO_SNDBUF,将发送到TCP协议层 (3)IP层从TCP层 ...

  3. Python的扩展接口[1] -> 串口通信

    串口通信 / Serial Communication 1 串口简介 / Serial Introduction 串行接口(Serial Interface)简称串口,通常为COM接口,数据发送方式为 ...

  4. HDU 4251 The Famous ICPC Team Again(划分树)

    The Famous ICPC Team Again Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  5. POJ 2155 Matrix(树状数组+容斥原理)

    [题目链接] http://poj.org/problem?id=2155 [题目大意] 要求维护两个操作,矩阵翻转和单点查询 [题解] 树状数组可以处理前缀和问题,前缀之间进行容斥即可得到答案. [ ...

  6. protostuff序列化使用

    背景 最近在做项目的时候需要使用持久化功能,1.0版本中使用的akka自带的持久化功能,使用的是akka persist支持的redis插件,在使用的过程中踩了一些坑.因此,在而2.0版本中考虑自己往 ...

  7. iOS开发 Swift开发数独游戏(四) 游戏界面的界面与逻辑

    一.游戏界面涉及到的功能点 1)数独格子的建模 (1)绘制数独格子要考虑到标记功能 所以要在每个格子内预先塞入9个标记数字,仅数独格子算下来就有9*9*9=729个格子且存在大量嵌套(这导致我在操作S ...

  8. jqgrid postData setGridParam 调用多次时查询条件累加的问题--详情页查询导致的无法在新的页面中查询

    $("#btn_search").click(function () { url = "/AMEvents/GetGridJson?evtype=1"; var ...

  9. TDD的iOS开发初步以及Kiwi使用入门

    测试驱动开发(Test Driven Development,以下简称TDD)是保证代码质量的不二法则,也是先进程序开发的共识.Apple一直致力于在iOS开发中集成更加方便和可用的测试,在Xcode ...

  10. WCF IIS上部署服务

    一.选择应用程序池:.Net Framework 4.0集成模式 二.IIS Access is denied:程序所在文件夹给予Everyone权限 三.HTTP 错误 500.21 - Inter ...