无法安装MAX OS X到MD101光驱位SSD,重启后显示带问号的文件夹

一、前记:

MD101,光驱位SSD+HD组成Fusion Drive(FD),成功安装OS X 10.10,并开启SSD的Trim功能。但使用过程中并未发现速度有明显提升,磁盘测速发现读写速度都在60MB/s左右,明显没有提升。

怀疑组建FD失败,遂解除FD,并准备直接在SSD上安装OS X 10.10。


二、遇到问题:

使用USB安装盘启动系统,按照网上的教程解除了FD,并使用磁盘工具分别格式化SSD与HD。选择安装OS X到SSD,安装过程一切顺利,重启。

问题出现了,系统并没有如预期的那样进入新系统的设置界面,而是重新进入了USB安装盘中的系统安装界面。


三、尝试解决

本以为是系统启动磁盘设置错误的问题,但在设置启动磁盘重启后问题依旧。此时我意识到出现问题了,拔下USB安装盘,重新启动电脑。

出现在眼前的一个快速闪烁的带着问号的文件夹图标。心里不禁在想,问题有些严重呀。在网上搜索了一下,出现类似的问题的原因一般是磁盘损坏或者磁盘数据线损坏。难道是光驱位硬盘支架的质量问题?

1. 此时在一个网页上看到有网友利用重置PRAM的方式成功解决了问题,于是赶紧先试试看。

重置PRAM的方式如下

重启电脑的同时按下Command-Option-P-R(需在灰色屏幕出现之前按下)

直到电脑重新启动,再次听到启动声音(共两次),放开按键

此时PRAM和NVRAM已被重置

重置后重新格式化、安装系统,结果问题仍然没有解决。

2. 无意间注意到安装OS X的SSD为一个逻辑卷组,尝试一下去除cs属性,回复普通分区是否有效。

首先使用diskutil cs list命令查看当前的逻辑卷组信息

找到最后一个lvUUID

使用命令diskutil cs revert lvUUID来将该分区转换为普通分区

转换为普通分区后,虽然重启时按住Option键可以显示RecoveryHD分区了,但依然无法由SSD启动系统。


四、新的可能:是否根本不支持由光驱位SSD启动?

看到这几位网友的经历后,感觉这种可能性极大。

Macbook Pro15,升级8G内存+SSD折腾全记录:http://zhan.renren.com/macbookp?gid=3602888498000106229&checked=true

macbook pro企图升级光驱位ssd的惨痛经历:http://www.changblog.com/1201/comment-page-1

看来只能把SSD放到硬盘位,HD放到光驱位来解决这个问题了吧。有时间试试看吧。


 后记:

经多方确认,MD101的确不支持光驱位硬盘启动,只好将SSD移到硬盘位,HHD置于光驱位完成了系统的安装,并使用TM恢复系统。

CGAL使用注意事项:添加编译需要的宏定义

CGAL函数库的源代码中存在很多根据宏定义判断函数实现方式的编译分治,在项目中使用CGAL函数库时,为了防止出现不可预知的编译错误,应该在编译代码前为项目添加预编译宏定义。

以MSVC为例:在项目工程属性(Properties)->Configuration->C/C++->Preprecessor->Preprocessor Definitions中添加如下的宏定义即可。

CGAL_USE_MPFR
CGAL_USE_GMP
CGAL_EIGEN3_ENABLED

 

在windows下编译boost开源库

一、从项目网站下载boost源代码

http://www.boost.org/users/download/

二、编译boost库

1. 生成编译工具集(b2.exe等)

解压源文件代码到指定的boost根目录,并执行该目录下的批处理文件:bootstrap.bat,编译生成b2.exe等文件

2. 编译生成函数库

// vc2009-32位
b2.exe --build-dir="boost_root_dir" --toolset=msvc-9.0 --built-type=complete stage

// vc2009-64位
b2.exe --build-dir="boost_root_dir" --toolset=msvc-9.0 --build-type=complete architecture=x86 address-model=64 stage

// vc2010-32位
b2.exe --build-dir="boost_root_dir" --toolset=msvc-10.0 --built-type=complete stage

// vc2010-64位
b2.exe --build-dir="boost_root_dir" --toolset=msvc-10.0 --build-type=complete architecture=x86 address-model=64 stage

// vc2013-32位
b2.exe --build-dir="boost_root_dir" --toolset=msvc-12.0 --built-type=complete stage

// vc2013-64位
b2.exe --build-dir="boost_root_dir" --toolset=msvc-13.0 --build-type=complete architecture=x86 address-model=64 stage

// 其中--build-dir="boost_root_dir"用于指定boost解压后的目录,可视情况决定是否省略。

 注意事项:编译结果保存在stage\lib目录内,不同配置的编译结果会相互覆盖,在编译完成后最好及时将结果保存到其他位置