MacPro4,1升级到MacPro5,1
收了一台老MacPro,2009年版本,准确型号是“MacPro4,1”。机器很好,美中不足的是,太老了。硬件还好说,很多部件都可以单独采购升级,特别是有了淘宝,几乎只要有的东西,都可以买到。软件就麻烦了,macOS sierra已经不支持,更别说high sierra。
而如果不能用最新的系统,对于研发人员来讲,MacPro的价值将大大降低,因为从开发系统到测试环境,都是非常严格的版本相关的。比如对于iPhone这类产品,Apple更是发布新版本后几个小时,老版本的验证服务器就会关闭从而强制用户升级。
经过仔细的研究资料,发现苹果的"MacPro4,1"版本硬件跟“MacPro5,1”版本硬件区别很小,网上也有了对应工具用于将前者升级到后者版本。不过因为这款机器太老,很多相关的工具、脚本的下载、使用都有了很多问题,这里把文件下载存储到国内服务器上,然后给个总结如下:
首先下载升级工具:http://p1avd6u2z.bkt.clouddn.com/201712/22/MacPro2009-2010FirmwareTool.zip
解压缩后是个可执行.app文件,尝试运行,按照屏幕提示操作即可,根据网上的评论,大多情况下可以顺利完成升级。也有一些会中间出现长时间锁死或者报错5570失败,很可惜啊我是后者。
一般的出现错误的原因都是因为时间太长,需要下载的固件包已经无法下载;又或者是http协议当前在苹果内部已经废弃;当然也不排除是“大防火墙”的问题了,碰到这种情况可以如下操作:
- 到苹果官方网站下载两个补丁包,地址分别为:http://support.apple.com/downloads/DL989/en_US/MacProEFIUpdate.dmg和http://support.apple.com/downloads/DL1321/en_US/MacProEFIUpdate.dmg,特别注意,两个文件名完全相同,但是不同的版本,前者是1.4,后者是1.5,下载后保存的时候不要搞混。
- 如果你已经有一台web服务器是最好的,但是如果你没有,可以考虑在本地临时设置一台web服务器,比如使用python内置的SimpleHTTPServer。下面假设我们在本地设置一台web服务器。
- 首先确定一个工作目录,在其下根据上面URL的方式设置两个文件夹:
mkdir -P downloads/DL989/en_US/
及mkdir -P downloads/DL1321/en_US/
,将刚才下载的两个文件,对应分别放入目录,再次强调,因为文件名是相同的,别放错。 - 修改本地hosts文件,把support.apple.com网址指向127.0.0.1。看到这里你会不会说“咦?刚才下载的时候命名网址可以访问啊?”,不过可惜啊,这个升级工具它下载不下来,猜测的原因一开始就说过了。
- 在当前文件夹执行:
sudo python -m SimpleHTTPServer 80
,这是在80端口启动了web服务,使用sudo的原因是80端口只能使用root权限启动。接着,再次执行升级工具试试,至少在我这里,可以顺利的将系统升级了。
(升级成功的对比)
系统升级后,再安装macos sierra及high sierra就都不会有问题了。而且在新版本系统安装的时候,检测到固件的版本会比较老,会自动为你升级MacPro5,1的新固件,新固件工作起来一切正常。
除了升级软件,硬件可能会出现的问题主要是两个:
- 原有的蓝牙模块功率非常小,而且是老版本的蓝牙协议,同当前的很多蓝牙键盘、鼠标已经不兼容,建议在淘宝买一个usb的蓝牙适配器,找的时候搜索Mac电脑免驱动可以用的。
- MacPro4,1的风扇电路设计可能同MacPro5,1有所不同,系统的自动调速似乎工作总是不正常,推荐用一个第三方软件“Macs Fan Control”,根据使用情况人工干预风扇的转速,在平常的时候,可以关小一些大幅的降低噪音。
资料参考:http://forum.netkas.org/index.php/topic,852.0.html
MacPro4,1升级到MacPro5,1的更多相关文章
- python scrapy 入门,10分钟完成一个爬虫
在TensorFlow热起来之前,很多人学习python的原因是因为想写爬虫.的确,有着丰富第三方库的python很适合干这种工作. Scrapy是一个易学易用的爬虫框架,尽管因为互联网多变的复杂性仍 ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!
看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...
- Entity Framework Core 1.1 升级通告
原文地址:https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-entity-framework-core-1-1/ 翻译:杨晓东 ...
- ASP.NET 5 RC1 升级 ASP.NET Core 1.0 RC2 记录
升级文档: Migrating from DNX to .NET Core Migrating from ASP.NET 5 RC1 to ASP.NET Core 1.0 RC2 Migrating ...
- SQL Server2016升级前几点自检
SQL Server2016已经出来一段时间了,而且最新的SP1包也于2016年11月18日正式发布,各种新的特性推出让我们跃跃欲试.那么对于我们真实的业务环境,特别是生产环境要不要"跟风& ...
- 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版
背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 3.安装Clus ...
- 升级npm
查看npm的所有版本 运行命令: npm view npm versions 命令运行后,会输出到目前为止npm的所有版本. [ '1.1.25', '1.1.70', '1.1.71', '1.2. ...
随机推荐
- C++ Json解析CJsonObject的详细使用
引用头文件: #include <string> #include <iostream> #include <fstream> #include <casse ...
- 八、OpenStack—Cinder组件安装
一.安装和配置控制器节点 1.先决条件 1)创建数据库 # mysql -u root -p 2)创建cinder数据库 MariaDB [(none)]> CREATE DATABASE ci ...
- [OC] UIcollectionView 与 UIcollectionViewCell 的使用
UICollectionView @interface ViewController ()<UICollectionViewDelegate,UICollectionViewDataSou ...
- 3. Linux系统磁盘分区介绍
1. 磁盘分区基本知识 1)磁盘在使用前一般要先分区(相当于建房子要分房间一样). 2)磁盘分区一般有主分区.扩展分区和逻辑分区之分.一块磁盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分 ...
- C++的编译预处理
C++中,在编译器对源程序进行编译之前,首先要由预处理对程序文本进行预处理.预处理器提供了一组预编译处理指令和预处理操作符.预处理指令实际上不是C++语言的一部分,它只是用来扩充C++程序设计的环境. ...
- vbs脚本实现自动打字祝福&搞笑
脚本祝福礼物 概述 听说抖音上流行一种用代码做程序表白的东西,,,, 当然我也不是要表白,,,, 但是好像蛮有意思的,,,, 于是,又学了一下vbs脚本,做了几个很不错的祝福脚本,不懂代码的可以直接戳 ...
- 限制输入字数JS
<tr> <th><b>说明内容:</b><span id="content">(500字以内)</span> ...
- Kubernetes1.7—DNS安装
虽然通过了Service解决了Pod重建后IP动态变化(服务发现).负载均衡问题,但使用Service还是要需要知道CLUSTER-IP,而通过NDS可以解决该问题:在Kubernetes集群中可通过 ...
- kettle web化
kettle web化 通过Java API调用kettle核心代码,并基于Spring Boot提供简易的Web管理界面. 背景 在工作中,通过kettle这款ETL产品进行数据处理时,是通过kit ...
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.e3mall.search.mapper.ItemMapper.getItemList
java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not ...