收了一台老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.dmghttp://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的更多相关文章

  1. python scrapy 入门,10分钟完成一个爬虫

    在TensorFlow热起来之前,很多人学习python的原因是因为想写爬虫.的确,有着丰富第三方库的python很适合干这种工作. Scrapy是一个易学易用的爬虫框架,尽管因为互联网多变的复杂性仍 ...

  2. 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. ...

  3. 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!

    看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...

  4. Entity Framework Core 1.1 升级通告

    原文地址:https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-entity-framework-core-1-1/ 翻译:杨晓东 ...

  5. 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 ...

  6. SQL Server2016升级前几点自检

    SQL Server2016已经出来一段时间了,而且最新的SP1包也于2016年11月18日正式发布,各种新的特性推出让我们跃跃欲试.那么对于我们真实的业务环境,特别是生产环境要不要"跟风& ...

  7. 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版

    背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...

  8. 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 ...

  9. 升级npm

    查看npm的所有版本 运行命令: npm view npm versions 命令运行后,会输出到目前为止npm的所有版本. [ '1.1.25', '1.1.70', '1.1.71', '1.2. ...

随机推荐

  1. Luogu P3381 (模板题) 最小费用最大流

    <题目链接> 题目大意: 给定一张图,给定条边的容量和单位流量费用,并且给定源点和汇点.问你从源点到汇点的最带流和在流量最大的情况下的最小费用. 解题分析: 最小费用最大流果题. 下面的是 ...

  2. [enum]enum的用法

    ENUM概况 enum枚举类型是C/C++中的一种数据类型,与struct和class一样是用户自定义的类型,其特点在于enum类型的变量取值是有限的,是可以一一列举出来的. ENUM定义 C++ e ...

  3. 【转】window.onerror跨域问题

    What the heck is "Script error"? Ben Vinegar/ May 17, 2016 If you’ve done any work with th ...

  4. 1.3 正则表达式和python语言-1.3.7 匹配任何单个字符

    1.3.7 匹配任何单个字符 (2018-05-08) 点号(.)不能匹配一个换行符\n 或者非字符,也就是说,一个空字符串 搜索一个真正的句点(小数点), 而我们通过使用一个反斜线对句点的功能进行转 ...

  5. Dancing Links 学习笔记

    Dancing Links 本周的AI引论作业布置了一道数独 加了奇怪剪枝仍然TLE的Candy?不得不去学了dlx dlxnb! Exact cover 设全集X,X的若干子集的集合为S.精确覆盖是 ...

  6. HDU-AcmKeHaoWanLe训练实录

    菜鸡队训练实录. 现场赛记录:[名称:奖项/排名] 2017: ICPC Shenyang:Gold/3 CCPC Hangzhou:Gold/3 ICPC Beijing:Gold/13 CCPC ...

  7. BZOJ 3864

    dp of dp 我就是来贴个代码 #include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=(a ...

  8. 用java从0生成一个简单的excel

    用java从0生成一个简单的excel 目标 用代码实现对一个excel的基础操作,包括创建,插入文字,(好像就这些了),生成的excel可以用wps打开,如果直接用c++的文件流会生成假的xls表格 ...

  9. NOIP-Vigenère密码

    题目描述 16 世纪法国外交家 Blaise de Vigenère 设计了一种多表密码加密算法―― Vigenère 密码. Vigenère 密码的加密解密算法简单易用,且破译难度比较高,曾在美国 ...

  10. 马昕璐 201771010118《面向对象程序设计(java)》第十六周学习总结

    第一部分:理论知识学习部分 程序:一段静态的代码,应用程序执行的蓝本. 进程:是程序的一次动态执行,它对应了从代码加载.执行至执行完毕的一个完整过程. 多线程:进程执行过程中产生的多条执行线索,比进程 ...