Tags

,

Lion发布以后,我被其强大的功能所吸引,一直都想升级到Lion感受一下。正逢周末,在网上google了一个Mac_OS_X_Lion_(Mac_App_Store).app,然后开始升级工作。

我家里有两个苹果笔记本:一款07版的MacBook,一款10版的MacBook Pro。MacBook上运行的是10.5.x,MacBook Pro上运行的是10.6.7,按照Lion的升级要求,必须要先将操作系统升级到10.6.8,然后才能运行这个.app安装程序。下面是两个本本升级的过程,以及碰到的问题解决情况:

一、需要提前准备的主要事物清单

1、2根2G内存(升级老版MacBook用)

2、Snow Leopard 10.6.3 原装系统安装光盘 (老版MacBook需要先升级到Snow Leopard)

3、Snow Leopard升级包(10.6.5 Combo + 10.6.6 + 10.6.7 + 10.6.8)

4、Lion 10.7安装包 - Mac_OS_X_Lion_(Mac_App_Store).app

5、Lion升级包(10.7.1)

二、升级07版MacBook

1、老版MacBook只有1G内存,买了两根2G的667,将机器内存升级到了4G,足够可以跑起Lion了

2、用Time Machine做个全盘备份,以防万一(事实证明这样做的明智的选择,我中途就因为网上的一个错误指引,导致原盘数据全部丢失,幸亏通过了备份进行恢复)。

3、接下来,需要将操作系统先升级到10.6.x,这一步比较麻烦,我就是在这一步出现错误,导致硬盘数据丢失的。不过也不要担心,只要有了正确的指导,就不会出现问题。步骤如下:

  (1)安装源的准备:如果有安装光盘,可以直接使用光盘安装;如果没有,则需要使用外部存储设备(大约8G),或者使用Disk Utility划分单独分区(我划了10G左右)来存储安装程序(网上下的多为DMG格式的镜像)。

  (2)使用Disk Utility的Restore功能,选择“源”为DMG安装镜像,“目标”为外部存储设备或者刚才划分的单独分区;点击“Restore”按钮,将安装程序复制到目标区域。

  (3)苹果电脑有个限制,就是机器配套的安装光盘只能本级专用,在其他机器内插入安装光盘,安装程序会提示不能在这台机器上安装。解决的方式有两种:

    a)从网上下载一个Snow Leopard的零售版(零售版解除了安装限制,按照第(2)步将安装程序复制到目标区域)

    b)继续使用原盘安装,但是需要Hack一下:还是先按照第(2)步操作,将光盘内容复制到目标区域(假设分区为InstallDVD),打开Terminal,执行以下操作:

cd /tmp
mkdir installdvd
cd installdvd
cp /Volumes/InstallDVD/System/Installation/Packages/OSInstall.mpkg
xar -xvf OSInstall.mpkg
vi Distribution

    找到下面这两行代码,

 
<installation-check script="installCheckScript()"/>
<volume-check script="volCheckScript()"/>

    将其删除并保存文件,然后再执行以下操作

rm -rf OSInstall.mpkg
xar -cvf OSInstall.mpkg *
sudo cp -f OSInstall.mpkg /Volumes/InstallDVD/System/Installation/Packages/

  (4)重启机器,按住option按钮,选择从InstallDVD分区启动,即可开始正常安装,具体过程就不再獒述了。

4、安装好Snow Leopard后,需要挨个打补丁,将操作系统逐步升级至10.6.8

5、接下来,激动人心的时候到了,开始安装Mac OS X Lion。只需将下载的.app文件拷贝到机器本地,双击安装即可。安装程序会自动配置并重启,进入安装界面;安装过程中可能提示因为BootCamp或者机器硬件的原因,Lion的部分功能不可用,例如Recovery, AirDrop等。不过没有关系,毕竟是老本本,体验最重要,忽略继续。整个安装过程大概需要半小时左右。

6、安装完毕后,再耐心的打上10.7.1升级包,然后就可以开始Lion的完美体验了。

三、升级10版MacBook Pro

1、新版MacBook Pro的升级过程相比老版MacBook,要省很多事。内存4G足够,操作系统本身就是10.6.x,只需要将补丁打到10.6.8即可。当然,很重要的一点,一定要记得使用Time Machine做个全盘备份!!!

2、将下载的.app文件拷贝到机器本地,双击安装;硬件完全兼容,不会出现部分功能不可用的提示,完成后打上10.7.1的补丁,轻松搞定!

3、然而,有些情况下并不是想象中的那么顺利,我就又碰到了两个新问题,让我破费周折。不过最终都完美解决了,写出来,给大家一个参考,碰到同类情况时,可以参照解决。

  问题一:安装Lion时提示不能创建recovery system,然后安装程序退出。

    (1)回到原操作系统,进入Disk Utility,尝试着跟MacBook升级一样,手动划分一个10G的分区(我的剩余空间还有80多G),结果发现分区失败,系统提示“Try reducing the amount of change in the size of the partition”。看来是因为硬盘不能分区,所以Lion安装程序无法创建Recovery System。

    (2)到网上继续google,有关这个问题解决方法的网页很少。Apple建议来个全盘备份后,删除所有包括BootCamp在内的分区,将全盘格式化后,全部交给Lion安装程序。My God!!!不到万不得已,我可不想这么草率处理,我需要保留BootCamp现有的全部内容和状态,还有大量没有通过Time Machine而自己单独备份的文件。于是只能继续想其他办法。

    (3)网上有很多建议,按照这些方法,我又接着尝试了“Erase Free Space”,“Verify Disk”,“Verify Disk Permissions”;甚至重启按Command+S进入Single User Mode下使用fschk检查,以及手工使用命令行进行分区。可结果还是不行!(@#@#)(*#$(#@$

    (4)我差点崩溃了,就在彻底绝望之余,没忘了最后试了一把,将10G改为5G,再分一次区。TNND,没想到这下竟然成了!不过这分出来的5G不能调整大小。试着故伎重演,想再划个5G出来,可MAC再也不肯给面子了。

    (5)不管了,不再折腾分区了,5G就5G,再一次双击安装Lion。这回安装过程出乎意料的平静,没有出现任何阻碍。安装完成后,检查一下5G分区,里面什么都没有;猜想Lion也不会这么变态往我手工划分的不知道会做什么用的分区里存放东西。于是干脆把这个分区删了,后续也没有出现什么错误。

    一直没搞懂这个问题的原因。还有80G的剩余空间,为什么划不了了呢?后来想一想,不知道是不是与现有存储量和空闲空间的比例有关,是不是空闲空间比例少于某个范围,就不允许自动调节分区大小了呢?可是既然又这个限制,划分5G出来后应该空间更少,为什么安装就不报错了呢?—— 不懂,也没时间再细去捉摸了,赶紧探索Lion的新功能… … :)

  问题二:Lion的Java虚拟机问题。

    Lion默认配置不包含虚拟机,虽然升级前的Snow Leopard系统里默认安装了全套Java,这些文件在硬盘里也确实存在,但是行不通;运行Java程序,例如Photoshop CS4会一直提示Java没有安装。只能按照系统的提示,Lion自动从网站上搜寻虚拟机并下载安装,可是悲剧发生了,安装到一半,提示出现未知的安装错误(系统自己的安装程序竟然出现这个问题,这在MAC上真是太少见了)。

    没办法,只好又自己寻找答案。Google上找到一个叫Pacifist的开源程序,据说可以灵活处理安装包内容。于是,手动从Apple网站下载JavaForMacOSX10.7.dmg,用Pacifist试着安装。安装过程报了很多错,一路点击确定,虚拟机居然装好了。运行Java程序一切正常。

    我喜欢追根问底,用Pacifist打开Java安装包,挨个分析,最终发现了问题所在。原来,要安装的虚拟机程序文件与Mac系统里的文件不匹配,安装版本里的某些目录是用的文件link,而Mac系统原有对应的文件却是目录;所以安装程序拷贝这些文件时,就会和目录有冲突,所以报错。按照这个思路,我写了个脚本,直接把Mac系统里原有的Java全部清空,然后再用Pacifist安装(提示是否需要replace时,所有的都选择“是”),然后就再也不会报安装错误了。

    清除原有系统Java文件的脚本如下:

#!/bin/sh
sudo rm -rf /Applications/Utilities/Java\ Preferences.app
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/Internet\ Plug-Ins/JavaPlugin2_NPAPI.plugin
sudo rm -rf /Library/Internet\ Plug-Ins/JavaPluginCocoa.bundle
sudo rm -rf /Library/Java
sudo rm -rf /System/Library/CoreService/Jar Launcher.app
sudo rm -rf /System/Library/CoreService/Java Web Start.app
sudo rm -rf /System/Library/CoreService/JavaVersion.plist
sudo rm -rf /System/Library/Frameworks/JavaFrameEmbedding.framework
sudo rm -rf /System/Library/Frameworks/JavaVM.framework
sudo rm -rf /System/Library/Java
sudo rm -rf /System/Library/LaunchAgents/com.apple.java.InstallOnDemand.plist
sudo rm -rf /System/Library/LaunchAgents/com.apple.java.updateSharing.plist
sudo rm -rf /System/Library/PrivateFrameworks/JavaApplicationLauncher.framework
sudo rm -rf /System/Library/PrivateFrameworks/JavaLaunching.framework