Answers:
因为Apple不希望您这样做...抱歉,此托架基本上仅限于“ DVD”功能。因此,这意味着它将像DVD驱动器而不是硬盘驱动器那样“起作用”并控制该驱动器。Macbook的定制程度超出了人们的想象...您可能同时也了解到,该托架的输出功率有限,并且不支持许多硬盘驱动器。
我不同意deijmaster。SATA端口是SATA端口。它与通常用于DVD的操作系统没有任何区别。
我也将硬盘移动到了光驱托架。
到目前为止,我发现减少噪音的最佳方法是:
然后,在终端中运行:
sudo pmset -a disksleep 1
仅1分钟后即可休眠磁盘。
另外,如果在此驱动器上禁用Spotlight,则在打开Spotlight时驱动器将不会旋转。禁用聚光灯:
sudo mdutil -i off /Volumes/TSA-Data
(或传统方式:将驱动器(所有分区)从Finder侧栏中拖动到Spotlight首选项中Spotlight排除的位置列表)
它仍然会旋转一段时间而没有明显的原因。
在早期答案的帮助下,我制作了以下紧凑脚本。如果未安装,则脚本将挂载并打开辅助驱动器(disk1,在此处为“ HDD”),如果已安装,则弹出该驱动器。
我还将空闲时间减少到1分钟(在终端:中sudo pmset -a disksleep 1
),并将“ HDD”放置在Spotlight例外列表中,每次安装时都会重新出现。
这样,磁盘就不会启动得太频繁,但是在安装时当然会很快恢复到静止状态。另请注意,在使用例如系统信息和磁盘实用程序时,卸载的磁盘可能会启动。
请使用正确的磁盘名称代替下面的“ HDD”!
脚本MountHDD.scpt
:
tell application "Finder"
if not (exists the disk "HDD") then
do shell script "diskutil mountDisk 'disk1'"
tell application "Finder"
activate
make new Finder window
set target of Finder window 1 to disk "HDD"
end tell
else
do shell script "diskutil eject 'disk1'"
end if
end tell
将脚本另存为程序(.app),然后将该程序放入Dock!
请注意,磁盘在启动时仍会旋转(卸载)并唤醒。一次/两次运行该应用程序(挂载/卸载)以使其休眠。如果您什么也不做,它将旋转空闲时间(如果sudo pmset -a disksleep 1
使用,则为1分钟),然后停止。
我的最终解决方案是创建一个从Spotlight运行的Automator应用程序。
一种用于弹出高清;
运行Shell脚本: diskutil eject 'disk1'
另一个用于安装HD;
运行Shell脚本: diskutil mountDisk 'disk1'
disk1
您要调低/强制进入睡眠/弹出状态的磁盘的名称在哪里。该名称可在“系统信息”中找到。
这是简单的苹果脚本:
set answer to the button returned of (display dialog "Your second HDD wants to?" with icon caution buttons {"Wait", "Sleep", "WakeUp"})
if answer = "Sleep" then
do shell script "hdiutil eject disk1"
else if answer = "WakeUp" then
do shell script "diskutil mountDisk disk1"
end if
我已经制作了applescripts来挂载和卸载驱动器。
我的光学托架中有普通硬盘。Macbook Pro(2006年末)。OSX狮子
除非您打开磁盘实用程序,从睡眠中恢复或重新安装驱动器,否则驱动器会旋转并保持这种状态。Spotlight不会导致驱动器旋转。尝试访问驱动器上的任何别名都不会。
-如果打开了正在运行的进程以防止驱动器弹出,则脚本将打开“活动”监视器,并在“终端”窗口中运行lsof。
-然后,您可以决定是否应终止该进程。
-一个对话框要求杀死用户确认。
我从applescript菜单运行它们。您可以这样启用它:
- 打开AppleScript Editor.app(应用程序->实用程序)。
- 打开偏好设置...。
- 选中“在菜单栏中显示脚本菜单”。
挂载驱动器
on run
try
do shell script "diskutil mountDisk disk1"
on error
end try
end run
卸载驱动器
on run
try
do shell script "hdiutil eject disk1"
on error
tell application "System Events"
set termOpen to count (processes whose name is "Terminal")
set amOpen to count (processes whose name is "Activity Monitor")
end tell
tell application "Terminal"
activate
set newTab to do script "lsof /Volumes/'HFS HD'"
end tell
tell application "Activity Monitor"
activate
end tell
delay 3
set question to display dialog "Kill running?" buttons {"Yes", "No"} default button 2
set answer to button returned of question
if answer is equal to "Yes" then
do shell script "lsof -P | grep '/Volumes/HFS HD' | awk '{print $2}' | xargs kill -9"
do shell script "hdiutil eject disk1"
end if
tell application "Activity Monitor"
if amOpen is 0 then
quit
end if
end tell
tell application "Terminal"
if termOpen is 0 then
quit
else
close (first window whose selected tab is newTab) saving no
end if
end tell
end try
end run
对我来说很完美,希望您也能成功!