禁用或休眠Macbook中的辅助硬盘驱动器


11

我已经完成了一些快速谷歌搜索,但是没有找到答案。我在MacBook中放入了SSD,同时将原始硬盘驱动器移至了光驱托架。我正在从SSD上运行操作系统和大多数日常应用程序,因此硬盘驱动器实际上只是用于存储我时不时需要的东西。

现在,我想在不需要时禁用硬盘驱动器(如关闭电源或“强制睡眠”)。尝试使用卸载磁盘,diskutil unmountDisk但磁盘旋转约10分钟。也许这是意料之中的,但我以为它会在卸载后立即停止。另外,最好将其默认禁用,并且仅在需要时才挂载(=开机)。

Answers:


0

因为Apple不希望您这样做...抱歉,此托架基本上仅限于“ DVD”功能。因此,这意味着它将像DVD驱动器而不是硬盘驱动器那样“起作用”并控制该驱动器。Macbook的定制程度超出了人们的想象...您可能同时也了解到,该托架的输出功率有限,并且不支持许多硬盘驱动器。


好的,我知道了...猜猜简单地将它卸载就可以了。开始编写卸载过程脚本...谢谢!
cpak 2011年

对于Windows 7,我有同样的问题吗?
丹尼

我希望看到一些参考来支持这一点。光学托架用作sata连接,与主存储装置不同。我不明白为什么会以任何特殊方式对待它。OP,您可以尝试通过将SSD放在光学托架中,将HDD放在主托架中进行测试。
亚历山大-恢复莫妮卡2015年

11

我不同意deijmaster。SATA端口是SATA端口。它与通常用于DVD的操作系统没有任何区别。

我也将硬盘移动到了光驱托架。

到目前为止,我发现减少噪音的最佳方法是:

  • 确保在“能源”偏好设置中启用了磁盘睡眠。
  • 然后,在终端中运行:

    sudo pmset -a disksleep 1
    

仅1分钟后即可休眠磁盘。

另外,如果在此驱动器上禁用Spotlight,则在打开Spotlight时驱动器将不会旋转。禁用聚光灯:

sudo mdutil -i off /Volumes/TSA-Data 

(或传统方式:将驱动器(所有分区)从Finder侧栏中拖动到Spotlight首选项中Spotlight排除的位置列表)

它仍然会旋转一段时间而没有明显的原因。


9

在早期答案的帮助下,我制作了以下紧凑脚本。如果未安装,则脚本将挂载并打开辅助驱动器(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分钟),然后停止。


4

我的最终解决方案是创建一个从Spotlight运行的Automator应用程序。

  • 一种用于弹出高清;

    运行Shell脚本: diskutil eject 'disk1'

  • 另一个用于安装HD;

    运行Shell脚本: diskutil mountDisk 'disk1'

disk1您要调低/强制进入睡眠/弹出状态的磁盘的名称在哪里。该名称可在“系统信息”中找到。


我的系统上有相同的脚本,但是它们似乎都没有关闭第二驱动器-即使卸载,该驱动器始终在旋转!绝对比闲置的DVD驱动器更快地消耗电池电量
Demis 2015年

3

所以我也做了一些谷歌搜索,没有发现真正有用的东西。结合一些东西后,我发现跑步

hdiutil eject disk1

在码头上班。如果在“磁盘工具”中获得信息,则可以看到要弹出的驱动器是disk0还是disk1或其他。我发现有些时候如果再次执行“打开磁盘工具”之类的操作,磁盘将旋转回去。


2

这是简单的苹果脚本:

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

2

我发现我还必须设法mdutil -d /Volumes/<hard disk>使其停止搜索驱动器,因为停止索引并不会阻止它搜索,因为已经对其进行了一次索引。

现在我可以成为焦点,第二个驱动器保持旋转。


1

将光盘驱动器中的第二个磁盘格式化为标准Mac OS,类似于外部驱动器。然后将其移至Spotlight的专用部分。您也可以在磁盘工具上卸载它,因为该磁盘上将不存在OS,这意味着没有终端。磁盘只会在您单击时旋转。


1

我已经制作了applescripts来挂载和卸载驱动器。

我的光学托架中有普通硬盘。Macbook Pro(2006年末)。OSX狮子

除非您打开磁盘实用程序,从睡眠中恢复或重新安装驱动器,否则驱动器会旋转并保持这种状态。Spotlight不会导致驱动器旋转。尝试访问驱动器上的任何别名都不会。


-如果打开了正在运行的进程以防止驱动器弹出,则脚本将打开“活动”监视器,并在“终端”窗口中运行lsof。

-然后,您可以决定是否应终止该进程。

-一个对话框要求杀死用户确认。

我从applescript菜单运行它们。您可以这样启用它:

  1. 打开AppleScript Editor.app(应用程序->实用程序)。
  2. 打开偏好设置...。
  3. 选中“在菜单栏中显示脚本菜单”。

挂载驱动器

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

对我来说很完美,希望您也能成功!


这实际上是“关闭”驱动器吗?对我来说,卸载(以各种方式-diskutil,hdutil等)仍然会使HDD旋转。
Demis 2015年

0

至于其他海报,这对我有用。

  • 我可以在终端中运行命令
  • 我不必以任何方式禁用Spotlight
  • 安装驱动器后,我可以立即将其聚焦

我将尝试一些有关自动化或简化它的建议。

// unmount
hdiutil eject disk1

// mount
diskutil mountDisk disk1

设置:MacbookPro 7,1 13英寸(带Mountain Lion 10.8.3)。辅助硬盘驱动器代替DVD驱动器,主驱动器为SSD

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.