Mac OS X Lion安装盘的制作方法(Linux Live CD)教程

内容摘要
本教程假定你对Linux环境有一定程度的了解,至少应知道一些常用命令。简要步骤:1 下载SystemRescue CD (支持HFS Plus文件系统的写入以便制作 Lion安装
文章正文

本教程假定你对Linux环境有一定程度的了解,至少应知道一些常用命令。

简要步骤:

1 下载SystemRescue CD (支持HFS Plus文件系统的写入以便制作 Lion安装盘,可以刻录到光盘也可以将它写入U盘以便加速引导。

ISO映像下载地址:

写入映像到U盘可以用这个软件

2 获取Lion正式版

3准备一个5G以上的U盘(或者移动硬盘),我们要将Lion安装文件写入到该介质。

4 进入Linux LiveCD环境

5 分区并挂载:

如果你目标硬盘是MBR分区的话,建议最好是在目标硬盘上先分一个100M的小分区,在这个分区上安装变色龙、DSDT.aml、/Extra/Extensions。这样做的好处是只需安装一次变色龙,以后每一次重新安装Lion就不用再费事安装变色龙了。如果你的目标盘是采用GPT分区表的话,那么你可以把变色龙、Extra等安装到EFI分区(论坛有教程)。

在控制台键入wizard进入桌面环境。

在U盘或者移动硬盘上分一个5g以上的主分区,可以用GParted分区,并格式化为HFS Plus格式,卷标为LionInst。然后挂载LionInst。运行如下命令:

mkdir /mnt/lioninst

mount -t hfsplus  -o rw,force /dev/sdxy /mnt/lioninst

其中/dev/sdxy是你的U盘(移动硬盘)分区的设备名,不要输错(可以用fdisk –l来查询到底是那个设备名)。

在目标硬盘(安装Lion的硬盘)上分一个100M分区,格式化为HFSPlus,卷标为chameleon。挂载该分区:

mkdir   /mnt/chameleon

mount -t  hfsplus  -o rw,force /dev/sdxy /mnt/chameleon

sdxy是引导分区的设备名,注意和上文的xy不同。

在目标硬盘(安装Lion的硬盘)上再分一个分区,格式化为HFS Plus,卷标为Lion,这是Lion的安装分区。

6 确定你的Lion安装文件所在的硬盘分区,然后挂载该分区(一般都是NTFS分区,所以我们用ntfs-3g命令挂载):

mkdir  /mnt/win

ntfs-3g /dev/sdxy /mnt/win
#sdxy是Windows NTFS分区的设备名。

找到你的Lion安装文件的路径,并进入该目录。

cd /mnt/win/path_to_your_lion_installer_dir

7 假定你的生成中间文件(在下文会提到)所在的目录是NTFS分区work目录,即/mnt/win/work

mkdir /mnt/win/work

把InstallESD.dmg移到/mnt/win/work

mv InstallESD.dmg /mnt/win/work

8 然后把InstallESD.dmg转成Linux能够挂载的格式:

cd /mnt/win/work

7z x InstallESD.dmg

会解压出一个文件夹名为:InstallMacOSX.pkg

然后再解压InstallMacOSX.pkg里的InstallESD.dmg(和刚才的文件同名,但不是一个文件),

cd InstallMacOSX.pkg

7z x InstallESD.dmg

可以得到当前目录下的5.hfs这个文件,这个文件是可以挂载的:

mkdir /mnt/installesd

mount -t hfsplus -o loop  5.hfs /mnt/installesd

9 把BaseSystem.dmg转成可挂载的格式并挂载

cd  /mnt/win/work

mkdir basesys

cd basesys

7z x /mnt/installesd/BaseSystem.dmg

当前目录会有一个名为5.hfs的文件(和上文的5.hfs同名但不是一个文件),我们要挂载它。

mkdir /mnt/basesystem

mount -t hfsplus -o loop  5.hfs /mnt/basesystem

10现在开始创建Lion安装介质(U盘),直接拷贝文件即可,我们用rsync。

rsync --numeric-ids -av /mnt/basesystem/*  /mnt/lioninst/

然后复制Packages目录。

rm  -f /mnt/lioninst/System/Installation/Packages

rsync  --numeric-ids  --progress  -av /mnt/installesd/Packages  /mnt/lioninst/System/Installation/

复制内核:

cp /mnt/installesd/mach_kernel  /mnt/lioninst/

11还需要破解2个文件(OSInstall)。如果不破解的话只能在GPT分区中安装Lion,而我们通常用的分区格式是MBR。

解压附件里的Lion_OSInstall.tar.bz2到/mnt/lioninst:命令为

tar xvf Lion_OSInstall.tar.bz2  -C  /mnt/lioninst

12接下来安装变色龙(boot loader)

解压附件的chameleon_boot.tar.gz,有2个文件

boot0hfs是要写到mbr的引导程序(之所以用boot0hfs而不用boot0是因为boot0是先找活动分区,找到之后再把控制权交给活动分区的boot1h,boot0hfs是找第一个HFS分区,如果找到的话执行这个HFS分区的boot1h。这样就不用把这个100M分区设成活动分区了,但你必须保证这个100M分区是此硬盘的第一个HFS分区),boot1h是要写到Lion引导分区(100M分区)开始位置的。

命令如下:

dd if=boot0hfs  of=/dev/sdx  bs=440 count=1 #sdx是引导分区(100M分区)所在硬盘的设备名,440是boot0hfs代码的实际大小(这个文件是512字节,如果把512字节全都写入的话,分区表会被覆盖)。

dd if=boot1h  of=/dev/sdxy #sdxy是引导分区的设备名。

附件的Extra.tar.gz(boot包含在这个压缩文件里)

目录结构如下:

boot

Extra

   Themes

   org.chameleon.Boot.plist

   smbios.plist

       Extensions

          各种内核扩展.kext(不详细列出了)

解压命令:

tar  xvf  Extra.tar.gz -C /mnt/chameleon/

chown  -R 0:0 /mnt/chameleon/

chmod  -R 755 /mnt/chameleon/

特别注意:你需要根据你的情况对以上的文件进行增删。

另外需要注意的是,每次提及的/dev/sdxy 或 /dev/sdx 都是不同的设备名。你需要用fdisk -l来确定x和y到底是什么。千万小心,如果弄错的话,你硬盘的数据可能会丢失。

然后重启计算机(在bios里把目标硬盘设为第一启动设备),会进入变色龙,选择LionInst这个分区,就可以开始安装了。

安装完之后,重启,同样会进入变色龙,然后选择你的Lion分区进入即可享受你的安装成果了。

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!