对Mac OSX超大分区进行备份的两种可行方法
所有对Mac OSX安装有过痛苦折磨的人,都有一个特别强烈的愿望,要能随时对安装好的系统进行映像备份。不然新安装个软件,或者驱动,造成系统PANIC,一切都要从头再来一次,那可真是要命的事情。
在前面的文章里曾经提过,如何对Mac OSX分区进行备份。方法是通过磁盘工具对备份分区新建映像,这样可以把分区存放为一个压缩格式的dmg文件。但是这个方法有两个例外:
1, 磁盘工具并不能对当前根分区做映像,因为无法实现unmount命令。
2, 对大分区,比如超过4.5G以上,很可能在执行了半个小时以后,报告了一条Corrupted Images,或者invalid argument之类的信息,反正就是失败了。
还有另一个问题,在使用Mac OSX安装映像进行备份时,不能写ntfs分区,将超过10G的内容往哪里写都是个问题。
经过研究,发现了几种方法可以实现对Mac OSX分区进行备份的目的。适用于对Linux或者Mac OSX熟悉的同学。
方法一: 采用hdiutil对当前根分区进行备份,目标为一个格式为UDRW的dmg文件。
hdiutil create -srcfolder / -type UDRW /Volumes/Data/MacOSX.dmg
这个命令将对根分区创建一个UDRW的映像,存放在Data分区去。标记为UDRW格式有个好处,就是避免对dmg文件进行压缩,不然在超级大分区时可能会出错。
方法二: 采用磁盘工具,对当前分区做镜像。
a,在磁盘工具的“文件” 下, 选择 “新建映像”,创建一个空映像文件,格式为读写格式,空间比要备份内容大2-3G。
b,挂起这个空映像文件。
c,选择“恢复”, 源分区为安装好的Mac OSX区,目标分区为新建的映像区。这样可以将对源分区做一个镜像分区。如果后面要恢复,都可用的到了。
这些过程也可以通过命令行来实现
bash-3.2# hdiutil create -size 15G -fs HFS+ -type UDIF /Volumes/Data/MacOSX-office.dmg
created: /Volumes/Data/MacOSX-office.dmg
bash-3.2# hdiutil attach /Volumes/Data/MacOSX-office.dmg
/dev/disk3 GUID_partition_scheme
/dev/disk3s1 EFI
/dev/disk3s2 Apple_HFS /Volumes/untitled
bash-3.2#asr restore --source /Volumes/Classic --target /Volumes/install --erase
映像文件是个好东西,Mac OSX是基于BSD的系统,对他来说,设备就是文件。只要我们创建出一个大的映像文件,并把它当做设备挂起来,然后Timemachine, CCC, CopyX之类的备份软件就想怎么玩就怎么玩了。
到目前为止, 可以看到,我们做的DMG都是读写格式的,没有任何一个使用压缩格式的。这是苹果系统在处理超大分区时,涉及到压缩操作,总是频繁出错。不是提示损坏映像就是无效参数。无论采用命令行,图形界面,还是第三方工具,结果都是一样的。可以怀疑这个错误来自系统本身。
方法三,采用PartClone来对苹果分区进行备份。
PartClone可以识别并备份HFS+分区,在处理备份出的映像时,可以采用Bzip2或其他方式进行压缩。这和苹果处理DMG的方式是一样的,先做映像,再压缩。PartClone可以在Gparted的Live CD里找到,也可以自行编译。PartClone处理分区时的命令非常简单。
对于PartClone备份出的分区,恢复后可以直接启动。无须担心。从执行效率来看,10分钟可以备份完分区,相比苹果的hdiutil或者镜像功能来说,优势还是相当明显的
root@PartedMagic:/usr/sbin# partclone.hfs+ -c -s /dev/sda10 -o /mnt/MacOSX-office.pclo
Partclone v0.2.45 http://partclone.org
Starting to clone device (/dev/sda10) to image (/mnt/MacOSX-office.pclo)
Reading Super Block
Elapsed: 00:00:07, Remaining: 00:00:00, Completed: 100.00%
Total Time: 00:00:07, 100.00% completed!
done!
File system: HFS Plus
Device size: 60.3 GB
Space in use: 11.9 GB
Free Space: 48.4 GB
Block size: 4096 Byte
Used block : 2908045
Elapsed: 00:09:18, Remaining: 00:01:36, Completed: 85.27%, 1.09GB/min,
current block: 2568183, total block: 14715649, Complete: 17.45%
Elapsed: 00:00:01, Remaining: 00:00:00, Completed: 100.00%, Rate: 714.68GB/min,
current block: 14715649, total block: 14715649, Complete: 100.00%
Total Time: 00:00:01, Ave. Rate: 714.7GB/min, 100.00% completed!
Syncing... OK!
Partclone successfully cloned the device (/dev/sda10) to the image (/mnt/MacOSX-office.pclo)
Cloned successfully.
root@PartedMagic:/usr/sbin# partclone.chkimg -s /mnt/MacOSX-office.dmg
Partclone v0.2.45 http://partclone.org
Starting to check image (/mnt/MacOSX-office.dmg)
Calculating bitmap... Please wait... done!
File system: HFS Plus
Device size: 60.3 GB
Space in use: 11.9 GB
Free Space: 48.4 GB
Block size: 4096 Byte
Used block : 2908045
Elapsed: 00:01:49, Remaining: 00:00:00, Completed: 100.00%, Rate: 6.56GB/min,
current block: 14715649, total block: 14715649, Complete: 100.00%
Total Time: 00:01:49, Ave. Rate: 6.6GB/min, 100.00% completed!
Partclone successfully checked the image (/mnt/MacOSX-office.dmg)
Checked successfully.
root@PartedMagic:/usr/sbin# partclone.restore -s /mnt/MacOSX-office.partclone -o /dev/sda10
Partclone v0.2.45 http://partclone.org
Starting to restore image (/mnt/MacOSX-office.partclone) to device (/dev/sda10)
Calculating bitmap... Please wait... done!
File system: HFS Plus
Device size: 60.3 GB
Space in use: 11.9 GB
Free Space: 48.4 GB
Block size: 4096 Byte
Used block : 2908045
Elapsed: 00:05:50, Remaining: 00:00:00, Completed: 100.00%, Rate: 2.04GB/min,
current block: 14715649, total block: 14715649, Complete: 100.00%
Total Time: 00:05:50, Ave. Rate: 2.0GB/min, 100.00% completed!
Syncing... OK!
Partclone successfully restored the image (/mnt/MacOSX-office.partclone) to the device (/dev/sda10)
Cloned successfully.
root@PartedMagic:/usr/sbin# partclone.info /mnt/MacOSX-office.pclo
Partclone v0.2.45 http://partclone.org
unknow mode
File system: HFS Plus
Device size: 60.3 GB
Space in use: 11.9 GB
Free Space: 48.4 GB
Block size: 4096 Byte
Used block : 2908045
restore /dev/hda1 from hda1.img and display debug information.
partclone.restore -d -s hda1.img -o /dev/hda1
restore image from clonezilla(split, gzip,) with stdin source
cat sda1.ext3-ptcl-img.gz.a* > gunzip -c | partclone.restore -d -s - -o /dev/sda1
restore raw image from partclone.dd
partclone.dd -d -c -s /dev/sda1 -o - | partclone.restore -d -s - -o /dev/sdb1
在前面的文章里曾经提过,如何对Mac OSX分区进行备份。方法是通过磁盘工具对备份分区新建映像,这样可以把分区存放为一个压缩格式的dmg文件。但是这个方法有两个例外:
1, 磁盘工具并不能对当前根分区做映像,因为无法实现unmount命令。
2, 对大分区,比如超过4.5G以上,很可能在执行了半个小时以后,报告了一条Corrupted Images,或者invalid argument之类的信息,反正就是失败了。
还有另一个问题,在使用Mac OSX安装映像进行备份时,不能写ntfs分区,将超过10G的内容往哪里写都是个问题。
经过研究,发现了几种方法可以实现对Mac OSX分区进行备份的目的。适用于对Linux或者Mac OSX熟悉的同学。
方法一: 采用hdiutil对当前根分区进行备份,目标为一个格式为UDRW的dmg文件。
hdiutil create -srcfolder / -type UDRW /Volumes/Data/MacOSX.dmg
这个命令将对根分区创建一个UDRW的映像,存放在Data分区去。标记为UDRW格式有个好处,就是避免对dmg文件进行压缩,不然在超级大分区时可能会出错。
方法二: 采用磁盘工具,对当前分区做镜像。
a,在磁盘工具的“文件” 下, 选择 “新建映像”,创建一个空映像文件,格式为读写格式,空间比要备份内容大2-3G。
b,挂起这个空映像文件。
c,选择“恢复”, 源分区为安装好的Mac OSX区,目标分区为新建的映像区。这样可以将对源分区做一个镜像分区。如果后面要恢复,都可用的到了。
这些过程也可以通过命令行来实现
bash-3.2# hdiutil create -size 15G -fs HFS+ -type UDIF /Volumes/Data/MacOSX-office.dmg
created: /Volumes/Data/MacOSX-office.dmg
bash-3.2# hdiutil attach /Volumes/Data/MacOSX-office.dmg
/dev/disk3 GUID_partition_scheme
/dev/disk3s1 EFI
/dev/disk3s2 Apple_HFS /Volumes/untitled
bash-3.2#asr restore --source /Volumes/Classic --target /Volumes/install --erase
映像文件是个好东西,Mac OSX是基于BSD的系统,对他来说,设备就是文件。只要我们创建出一个大的映像文件,并把它当做设备挂起来,然后Timemachine, CCC, CopyX之类的备份软件就想怎么玩就怎么玩了。
到目前为止, 可以看到,我们做的DMG都是读写格式的,没有任何一个使用压缩格式的。这是苹果系统在处理超大分区时,涉及到压缩操作,总是频繁出错。不是提示损坏映像就是无效参数。无论采用命令行,图形界面,还是第三方工具,结果都是一样的。可以怀疑这个错误来自系统本身。
方法三,采用PartClone来对苹果分区进行备份。
PartClone可以识别并备份HFS+分区,在处理备份出的映像时,可以采用Bzip2或其他方式进行压缩。这和苹果处理DMG的方式是一样的,先做映像,再压缩。PartClone可以在Gparted的Live CD里找到,也可以自行编译。PartClone处理分区时的命令非常简单。
对于PartClone备份出的分区,恢复后可以直接启动。无须担心。从执行效率来看,10分钟可以备份完分区,相比苹果的hdiutil或者镜像功能来说,优势还是相当明显的
root@PartedMagic:/usr/sbin# partclone.hfs+ -c -s /dev/sda10 -o /mnt/MacOSX-office.pclo
Partclone v0.2.45 http://partclone.org
Starting to clone device (/dev/sda10) to image (/mnt/MacOSX-office.pclo)
Reading Super Block
Elapsed: 00:00:07, Remaining: 00:00:00, Completed: 100.00%
Total Time: 00:00:07, 100.00% completed!
done!
File system: HFS Plus
Device size: 60.3 GB
Space in use: 11.9 GB
Free Space: 48.4 GB
Block size: 4096 Byte
Used block : 2908045
Elapsed: 00:09:18, Remaining: 00:01:36, Completed: 85.27%, 1.09GB/min,
current block: 2568183, total block: 14715649, Complete: 17.45%
Elapsed: 00:00:01, Remaining: 00:00:00, Completed: 100.00%, Rate: 714.68GB/min,
current block: 14715649, total block: 14715649, Complete: 100.00%
Total Time: 00:00:01, Ave. Rate: 714.7GB/min, 100.00% completed!
Syncing... OK!
Partclone successfully cloned the device (/dev/sda10) to the image (/mnt/MacOSX-office.pclo)
Cloned successfully.
root@PartedMagic:/usr/sbin# partclone.chkimg -s /mnt/MacOSX-office.dmg
Partclone v0.2.45 http://partclone.org
Starting to check image (/mnt/MacOSX-office.dmg)
Calculating bitmap... Please wait... done!
File system: HFS Plus
Device size: 60.3 GB
Space in use: 11.9 GB
Free Space: 48.4 GB
Block size: 4096 Byte
Used block : 2908045
Elapsed: 00:01:49, Remaining: 00:00:00, Completed: 100.00%, Rate: 6.56GB/min,
current block: 14715649, total block: 14715649, Complete: 100.00%
Total Time: 00:01:49, Ave. Rate: 6.6GB/min, 100.00% completed!
Partclone successfully checked the image (/mnt/MacOSX-office.dmg)
Checked successfully.
root@PartedMagic:/usr/sbin# partclone.restore -s /mnt/MacOSX-office.partclone -o /dev/sda10
Partclone v0.2.45 http://partclone.org
Starting to restore image (/mnt/MacOSX-office.partclone) to device (/dev/sda10)
Calculating bitmap... Please wait... done!
File system: HFS Plus
Device size: 60.3 GB
Space in use: 11.9 GB
Free Space: 48.4 GB
Block size: 4096 Byte
Used block : 2908045
Elapsed: 00:05:50, Remaining: 00:00:00, Completed: 100.00%, Rate: 2.04GB/min,
current block: 14715649, total block: 14715649, Complete: 100.00%
Total Time: 00:05:50, Ave. Rate: 2.0GB/min, 100.00% completed!
Syncing... OK!
Partclone successfully restored the image (/mnt/MacOSX-office.partclone) to the device (/dev/sda10)
Cloned successfully.
root@PartedMagic:/usr/sbin# partclone.info /mnt/MacOSX-office.pclo
Partclone v0.2.45 http://partclone.org
unknow mode
File system: HFS Plus
Device size: 60.3 GB
Space in use: 11.9 GB
Free Space: 48.4 GB
Block size: 4096 Byte
Used block : 2908045
restore /dev/hda1 from hda1.img and display debug information.
partclone.restore -d -s hda1.img -o /dev/hda1
restore image from clonezilla(split, gzip,) with stdin source
cat sda1.ext3-ptcl-img.gz.a* > gunzip -c | partclone.restore -d -s - -o /dev/sda1
restore raw image from partclone.dd
partclone.dd -d -c -s /dev/sda1 -o - | partclone.restore -d -s - -o /dev/sdb1
-
我的爹 赞了这篇日记 2014-02-17 03:25:28