使用U盘为MBP安装系统

文章更新

  1. 20160803-初次成文
  2. 20170728-采用了IPLAYSOFT的方法,比较好用

为什么会有这篇文章

电脑永久了,总会有各种各样的问题,所以学会重装系统,还是很必要的。这篇帖子的操作系统是EI CAPITAN。

下载系统

下载系统一般需要从APP STORE里下载,而且必须是你购买过的,所以,就像我之前买过EI CAPITAN和MAC OS SIERRA,更早的系统YOSIMATE我就下载不到了。

准备U盘

打开 “应用程序 → 实用工具 → 磁盘工具”,将U盘「抹掉」(格式化) 成「Mac OS X 扩展(日志式)」格式、GUID 分区图,并将U盘命名为「Capitan」。(注意:这个盘符名称将会与后面的命令一一对应,如果你改了这盘符的名字,必须保证后面的命令里的名称也要一致。)

我这个截图上没有方案这个选择,因为这个U盘已经是安装盘了,为了写帖子截图又插上了而已。

还可以使用命令行方法也抹除U盘(如果你使用的是YOSIMITE)。

diskutil partitionDisk /dev/disk2 1 GPT JHFS+ iPlaySoft 0b

我想命令没啥可说的,主要是最后一个0b,表示该分区使用全部容量。

方法1

刻录

打开 “应用程序→实用工具→终端”,将下面的一段命令复制并粘贴进去:

sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/Capitan --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction

下载系统盘并刻录

下载好说,找一个Yosimite的下载链接,我找的BT链接,比较容易,因为现在APP STORE里面已经下载不到YOSIMITE的系统镜像文件了。另外,下载的是DMG格式的文件,下载之后,双击,会自动挂载到虚拟分区,具体位置?看磁盘工具就可以了,我这里显示的挂载点是 /Volumes/OS X Base System ,网上一般是让下载到 应用 的位置,然后通过一条命令进行安装盘的制作,我参考的是 iPlaySoft 的教程,地址在这里

回车并执行该命令

这时会提示让你输入管理员密码,便会开始制作过程了:

方法2

sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/iPlaySoft --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction

上面是英文版的命令,如果是中文版的,需要把里面的 Install 修改成 安装 两个字。并且其中的U盘盘符,如果你的U盘有不同的名字,也要相应修改。

好了,我的命令是

sudo /Volumes/OS\ X\ Base\ System/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/iPlaySoft --applicationpath /Volumes/OS\ X\ Base\ System/Install\ OS\ X\ Yosemite.app --nointeraction

但是这个方法,我无论如何也不能正确的执行,一直说/Volumes/OS\ X\ Base\ System/Install\ OS\ X\ Yosemite.app appear not be a valid OSX installer application.

后来我甚至下载了 DiskMaer X5,但是问题也一样。

我发现如果使用磁盘工具,是无法验证这个安装程序的。网上有人说这是因为在高版本的系统上,无法验证低版本的安装程序,这是苹果出于让用户优先使用最新系统的考虑,也就是无法降级。

这个事情,困扰了我几个小时,终于找到了另外一个办法,成功搞定。

使用磁盘工具刻录ISO或CDR文件

在MAC系统里打开 磁盘工具, 把DMG格式转换成CDR格式

然后在 命令行(Terimal) 下使用命令

dd if=/Users/wangyi/Downloads/yosemite.cdr of=/dev/rdisk2 bs=32m

进行文件的烧录,但是遇到错误,提示 resource busy

然后我拔掉U盘再插上,问题依旧。

网上继续搜索,找到了这个办法,地址见这里

即使用命令 df -h

看一下U盘的卷标是哪个,我这里是 /dev/disk2

继续运行命令

sudo umount /dev/disk2s2

提示不行,继续使用

sudo diskutil unmount /dev/disk2s2

搞定。注意看两条命令的区别,尤其是umountunmount两个关键词的区别。

然后,这个时候,再次运行 df -h,就已经看不到这个U盘了,但是其实还在,只是他成为虚拟的一个盘了,使用cat /dev还是可以看到的。

此时,就可以使用dd命令了,

dd if=/Users/wangyi/Downloads/yosemite.cdr of=/dev/rdisk2 bs=32m

注意,这里使用的rdisk2,而不是disk2s,前面多了一个r,并且后面少了2s,一定要这样写,否则会出错。

这里的参数bs=32m是每次从CDR或者ISO文件一次性读取和写入的缓存容量,如果太小了,时间会变长。

看一下我的结果吧,8g的文件,其实使用16g的盘刻录出来的,因此CDR文件写入的时候,也是按照16G文件的大小来写入的。

451+1 records in
451+1 records out
15149785088 bytes transferred in 1599.983077 secs (9468716 bytes/sec)

16g的文件,25分钟左右,烧录的过程中,可以看到U盘的灯在闪烁,这个可以用来帮你判断是否烧录完成。

安装系统

备份好你的东西,准备重启,关机。

按住CTRL+R,再按电源键。然后就会让你选择从哪个盘启动了,GAME OVER。

参考文章

  1. Disk Management From the Command-Line, Part 2
  2. 简单制作 macOS Sierra 正式版U盘USB启动安装盘方法教程