ปิดใช้งานหรือสลีปฮาร์ดไดรฟ์รองใน Macbook


11

ฉันทำ Google อย่างรวดเร็ว แต่ไม่พบคำตอบ ฉันได้ใส่ SSD ลงใน MacBook ของฉันแล้วในขณะเดียวกันก็ย้ายฮาร์ดไดรฟ์ดั้งเดิมไปยังช่องออปติคัลไดรฟ์ ฉันใช้งานระบบปฏิบัติการและแอพส่วนใหญ่ประจำวันของฉันปิด SSD ดังนั้นฮาร์ดไดรฟ์จึงเป็นเพียงการจัดเก็บสิ่งที่ฉันต้องการในตอนนี้

ตอนนี้ฉันต้องการปิดการใช้งาน (เช่นในขณะที่ปิดเครื่องหรือ "บังคับให้หลับ") ฮาร์ดไดรฟ์เมื่อฉันไม่ต้องการ พยายามเลิกเมานท์ดิสก์โดยใช้diskutil unmountDiskแต่มันหมุนต่อเนื่องประมาณ 10 นาที อาจจะเป็นไปตามที่คาดหวัง แต่ฉันคิดว่ามันจะหยุดทันทีเมื่อเลิกเมานท์ นอกจากนี้ยังเป็นการดีที่จะปิดใช้งานตามค่าเริ่มต้นและติดตั้ง (= เปิดเครื่อง) เมื่อฉันต้องการเท่านั้น

คำตอบ:


0

เนื่องจาก Apple ไม่ต้องการให้คุณทำเช่นนี้ ... ขออภัยเบย์นี้ จำกัด เฉพาะฟังก์ชัน "DVD" ดังนั้นสิ่งนี้หมายความว่ามันจะ "ทำหน้าที่" และควบคุมไดรฟ์เช่นเดียวกับไดรฟ์ดีวีดีไม่ใช่ฮาร์ดไดรฟ์ Macbook นั้นเป็นวิธีที่กำหนดเองได้ดีกว่าที่ผู้คนคิดว่า ... คุณอาจเรียนรู้ในเวลาเดียวกันว่ากำลังไฟฟ้าของช่องนี้มี จำกัด และไม่รองรับฮาร์ดไดรฟ์จำนวนมาก


อ่าฉันเห็น ... เดาสิว่าจะต้องถอดมันออกก่อน ออกไปยังสคริปต์กระบวนการ unmount ...ขอบคุณ!
cpak

ฉันมีคำถามเดียวกันสำหรับ Windows 7 เป็นไปได้หรือไม่
danny

ฉันต้องการดูข้อมูลอ้างอิงเพื่อสำรองข้อมูลนี้ ออพติคอลเบย์ใช้เป็นการเชื่อมต่อ sata ไม่เหมือนกับที่เก็บข้อมูลหลัก ฉันไม่เห็นว่าทำไมมันจะได้รับการปฏิบัติด้วยวิธีพิเศษใด ๆ OP คุณสามารถลองทดสอบสิ่งนี้ได้โดยใส่ SSD ลงในช่องใส่ออปติคัลและ HDD ในช่องใส่หลัก
Alexander - Reinstate Monica

11

ฉันไม่เห็นด้วยกับ deijmaster พอร์ต SATA คือพอร์ต SATA มันไม่ได้สร้างความแตกต่างให้กับระบบปฏิบัติการที่โดยปกติจะใช้สำหรับดีวีดี

ฉันย้าย HDD ของฉันไปยังช่องออพติคอลด้วย

สิ่งที่ดีที่สุดที่ฉันได้พบเพื่อลดเสียงรบกวนคือ:

  • ตรวจสอบให้แน่ใจว่าคุณเปิดใช้งานดิสก์สลีปในการตั้งค่าพลังงาน
  • จากนั้นรันใน Terminal:

    sudo pmset -a disksleep 1
    

เมื่อต้องการพักดิสก์หลังจากนั้นเพียง 1 นาที

นอกจากนี้หากคุณปิดการใช้งาน Spotlight ในไดรฟ์นี้ไดรฟ์จะไม่หมุนเมื่อคุณเปิด Spotlight วิธีปิดใช้งานสปอตไลต์:

sudo mdutil -i off /Volumes/TSA-Data 

(หรือวิธีการทั่วไป: ลากไดรฟ์ (พาร์ติชันทั้งหมด) จากแถบด้านข้าง Finder ไปยังรายการสถานที่ที่ Spotlight ยกเว้นในการตั้งค่า Spotlight)

มันยังคงหมุนขึ้นบางครั้งโดยไม่มีเหตุผลชัดเจน


9

ฉันสร้างสคริปต์คอมแพคต่อไปนี้ด้วยความช่วยเหลือจากคำตอบก่อนหน้า สคริปต์จะเมานต์และเปิดไดรฟ์รอง (disk1 ที่นี่ "HDD") หากยังไม่ได้เมานต์และดีดออกหากมีการติดตั้ง

ฉันยังลดเวลาว่างเป็น 1 นาที (ใน terminal:) 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!

โปรดทราบว่าดิสก์ยังคงหมุน (ยกเลิกการต่อเชื่อม) เมื่อบูตและตื่นขึ้น เรียกใช้แอปหนึ่งครั้ง / สองครั้ง (เมาท์ / ถอดแบบ) เพื่อนอนหลับ ถ้าคุณไม่ทำอะไรเลยมันจะหมุนเวลาที่ไม่ได้ใช้งาน (1 นาทีถ้าsudo pmset -a disksleep 1ใช้) แล้วหยุด


4

ทางออกสุดท้ายของฉันคือการสร้างแอปพลิเคชัน Automator ที่ฉันเรียกใช้จาก Spotlight

  • หนึ่งสำหรับ ejecting HD;

    เรียกใช้สคริปต์เชลล์: diskutil eject 'disk1'

  • อีกประการหนึ่งสำหรับการติดตั้ง HD;

    เรียกใช้สคริปต์เชลล์: diskutil mountDisk 'disk1'

ในกรณีที่disk1เป็นชื่อของดิสก์ที่คุณต้องการที่จะหมุนลง / บังคับให้นอนหลับ / ดีดออก ชื่อนี้พบใน "ข้อมูลระบบ"


ฉันมีสคริปต์เหมือนกันในระบบของฉัน แต่ไม่มีสคริปต์ใดที่ปิดไดรฟ์ที่สอง - มันหมุนอยู่เสมอแม้ว่าจะไม่ได้ต่อเชื่อม! ใช้พลังงานจากแบตเตอรี่แน่นอนว่าจะเร็วกว่าไดรฟ์ DVD ที่ไม่มีการใช้งาน ...
มิส

3

ดังนั้นฉันจึงทำ Googling และไม่พบสิ่งใดที่ช่วยได้จริงๆ หลังจากรวมบางสิ่งฉันพบว่าทำงาน

hdiutil eject disk1

ใน Terminal เพื่อทำงาน หากคุณได้รับข้อมูลใน Disk Utility คุณสามารถดูได้ว่าไดรฟ์ที่คุณต้องการนำออกคือ disk0 หรือ disk1 หรืออะไรก็ตาม ฉันพบว่าบางครั้งดิสก์จะหมุนกลับถ้าฉันทำสิ่งต่าง ๆ เช่นเปิด Disk Utility อีกครั้ง


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 ที่เจอร์นัลเหมือนกับไดรฟ์ภายนอก จากนั้นย้ายไปไว้ในส่วนส่วนตัวของสปอตไลท์ คุณสามารถยกเลิกการต่อเชื่อมกับยูทิลิตี้ของดิสก์ได้เนื่องจากระบบปฏิบัติการจะไม่ปรากฏในดิสก์นั้นซึ่งหมายความว่าไม่มีเทอร์มินัล ดิสก์จะหมุนเมื่อคุณคลิกเท่านั้น


1

ฉันได้ทำ applescripts ให้กับทั้ง mount และ unmount ไดร์ฟของฉัน

HDD ปกติในช่องแสงของฉัน Macbook Pro (ปลายปี 2549) OSX Lion

ไดรฟ์สปินลงและอยู่ในลักษณะนั้นเว้นแต่คุณจะเปิดยูทิลิตี้ดิสก์ดำเนินการต่อจากโหมดสลีปหรือเมานต์ไดรฟ์ใหม่ สปอตไลท์ไม่ทำให้ไดรฟ์หมุน ไม่พยายามเข้าถึงนามแฝงใด ๆ บนไดรฟ์


- หากมีกระบวนการทำงานที่เปิดอยู่ซึ่งป้องกันไม่ให้ไดรฟ์ออกสคริปต์จะเปิดการตรวจสอบกิจกรรมและเรียกใช้ lsof ในหน้าต่างเทอร์มินัล

- จากนั้นคุณสามารถตัดสินใจได้ว่ากระบวนการนี้ควรถูกฆ่าหรือไม่

กล่องโต้ตอบ -A ขอให้ผู้ใช้ยืนยันที่จะฆ่า

ฉันเรียกใช้สิ่งเหล่านี้จากเมนู applescript คุณสามารถเปิดใช้งานเช่นนี้:

  1. เปิด AppleScript Editor.app (Applications -> Utilities)
  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

ทำงานได้อย่างสมบูรณ์แบบสำหรับฉันหวังว่าคุณจะประสบความสำเร็จ!


สิ่งนี้จริง ๆ แล้ว "ปิด" ไดรฟ์หรือไม่ สำหรับฉันแล้วการยกเลิกการต่อเชื่อม (ในหลาย ๆ วิธี - ดิสทริล, hdutil ฯลฯ ) ยังคงทำให้ HDD หมุนอยู่
มิส

0

สำหรับโปสเตอร์อื่น ๆ มันใช้งานได้สำหรับฉัน

  • ฉันรันคำสั่งใน Terminal เมื่อฉันต้องการ
  • ฉันไม่ต้องปิดการใช้งาน Spotlight แต่อย่างใด
  • ฉันสามารถมองเห็นไดรฟ์ได้ทันทีเมื่อติดตั้ง

ฉันจะลองคำแนะนำในการทำให้เป็นแบบอัตโนมัติหรือทำให้มันง่ายขึ้น

// unmount
hdiutil eject disk1

// mount
diskutil mountDisk disk1

ตั้งค่า: MacbookPro 7,1 13 นิ้วพร้อม Mountain Lion 10.8.3 ฮาร์ดไดรฟ์รองแทนที่ไดรฟ์ดีวีดีซึ่งเป็นไดรฟ์หลักที่เป็น SSD

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.