您的位置:首页 > 其它

macbook 换固态硬盘 光驱位机械硬盘自动加载卸载

2016-09-22 10:04 1051 查看
我的MacBook换了固态硬盘后性能飞升,电脑装VMware同时运行win10非常流畅不点都不卡(因为还要使用.net开发)。装固态硬盘的好处我就不说了,大家都知道


可能大家和我一样,装完固态硬盘,原来的机械硬盘就装到光驱位当仓库盘使用,这样很方便,也不用愁硬盘没空间啦。

但机械硬盘放光驱位也有弊端,就是机械硬盘失去了防震保护,而且我上班都是自带笔记本,都是合上电脑背着包就走,回到家继续工作,很方便,不喜欢关机,但把机械硬盘放光驱位就危险啦,你走路的震动,挤公交,随时可能让你的机械硬盘损坏,数据无价啊。。。。

所以就想既然硬盘是放在光驱位,能不能想光驱一样弹出,加载。试了下,可以弹出硬盘,但加载硬盘找了好久才发现可以再磁盘管理中加载光驱位的硬盘。但每天都要做这种重复性的工作,太非劲,作为程序员怎么能忍受呢。

所以研究了下,写了个shell脚本,每次开机自动卸载光驱硬盘,需要使用光驱硬盘的时候点击运行脚本就自动加载,非常方便,把硬盘保护好好的,再也不用担心震动损坏磁盘


下面分享下我写的脚本

分为两个脚本

load_disk 文件加载光驱硬盘

unload_disk  文件弹出光驱位硬盘

先说下弹出光驱硬盘

<pre name="code" class="plain">#!/bin/bash
deviceDiskFlag="*500.1";  #这个是你的硬盘名称标识
diskName="";
findDisk="0";
listInfo=$(diskutil list) #列出电脑所有的硬盘

#遍历字符串,找到光驱位硬盘的名称
for loop in $listInfo
do
if [ $loop == $deviceDiskFlag ];
then
findDisk="1";
elif [[ $loop =~ "disk" && $findDisk == "1" ]]; then
diskName=$loop;	#找到硬盘的名称
break;
fi
done
if [[ ${#diskName} >1 ]]
then
diskutil eject /dev/$diskName #使用diskutil弹出硬盘
echo "弹出成功"
else
echo "硬盘查找失败"
fi



加载光驱位硬盘脚本

</pre><pre code_snippet_id="1893245" snippet_file_name="blog_20160922_5_6243998" name="code" class="python"><pre name="code" class="plain">#!/bin/bash

#需要加载的磁盘分区名称
diskNames=("Macintosh" "BOOTCAMP")
findDiskFlag=""

diskLen=${#diskNames[*]}; #需要加载的硬盘数量

listInfo=$(diskutil list) #遍历电脑所有的硬盘

#查找硬盘,如果找到硬盘,则加载
for loop in $listInfo
do
for (( i = 0; i < $diskLen; i++ )); do
#statements
if [ $loop == ${diskNames[i]} ];
then
findDiskFlag=${diskNames[i]};
elif [[ $loop =~ "disk" && $findDiskFlag == ${diskNames[i]} ]]; then
<span style="white-space:pre">			</span>#找到硬盘分区,记录分区名称
diskName=$loop;
diskNames[$i]=$loop;
findDiskFlag="";
fi
done
done
for disk in ${diskNames[@]}; do
#statements
if [[ $disk =~ "disk" ]]
then
diskutil mountDisk /dev/$disk #加载分区
fi
done




以上就是硬盘加载和弹出的脚本,shell脚本内容大家可以不用管,只需要怎么使用就行

保存文件后还需要把文件设置为脚本文件,这样才能运行,命令是

chmod +x 文件路径

如果你光驱位的硬盘不常用,那么可以把弹出脚本设为开机运行,需要用的时候再手动运行加载的脚本即可

设置弹出脚本开机运行

以上就是所有步骤。

下面是脚本文件的地址,下载完后记得把硬盘名称替换为你自己的,并设置脚本为可执行文件
http://download.csdn.net/detail/u011609521/9636603

不懂使用的欢迎留言咨询
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息