外接硬碟無法關閉

外接硬碟無法關閉

當我關閉 Ubuntu 時,我的外部 USB 硬碟(根本)沒有關閉,同時仍然關閉其他 USB 裝置(例如我的耳機和鍵盤)。

我有一個 B365M DS3H WIFI 主機板,如果這有什麼區別的話。

Windows 下硬碟正常關閉。

要怎麼讓它正常關閉呢?

編輯:即使關閉硬碟並正常關閉電源後,它仍然可以在關機後正常通電。

答案1

這似乎是一個“功能”你的技嘉主機板被稱為“開/關充電”。從該功能的描述來看:

技嘉最新的主機板配備 ON/OFF Charge 技術,不僅可以為您的 iPhone、iPad 或 iPod Touch 充電,還可以快速充電。作為額外的好處,它甚至可以在電腦關閉時充電,因此即使您在同步音樂後忘記將其插入充電器,它也會在您需要時充滿電。

[...]

* 最多可同時為 3 台裝置充電。充電電流可能因 PSU 5V 待機規格而異。

因為主機板不太可能看起來具體來說對於基於 USB 設備製造商 ID 的 Apple 設備,我敢說主機板只會向最多三個 USB 連接埠提供 5V 不間斷電源,無論機器是否開啟。如果是這種情況,那麼外部驅動器將不知道要自行關閉,除非專門給出這樣做的命令。

因為你說過,當 Windows 關閉時,驅動器將正常關閉,這讓我認為驅動器正在等待來自主機作業系統的命令,而 Ubuntu 可能因某種原因而不會發送該命令(一些驅動器等待,power-off另一些驅動器等待)為了eject)。

一個可能的解決方案是編寫一個腳本,每當系統進入關閉週期時運行,首先卸載 USB 分區,然後為給定設備發送「斷電」命令。

如果您想嘗試一下,方法如下:

  1. 打開終端機(如果尚未打開)
  2. 使用以下命令取得UUIDUSB 磁碟blkid
    sudo blkid
    
    這將為您提供所有裝置的列表,您將尋找代表您要關閉的 USB 磁碟的裝置。您可能會看到與此類似的內容:
    /dev/sdc1: UUID="AzJSHp-stpU-1ArB-YOMD-G7OD-l1Uz-xJhQIh" TYPE="ext4" PARTUUID="04592289-01"
    
     
  3. 在你的主目錄(或任何地方,實際上)建立一個 shell 腳本:
    vi ~/sleep-disks.sh
    
    筆記:隨意使用任何文字編輯器。 vi 不是一個要求。
  4. 貼上以下內容:
    #!/bin/sh
    
    sudo hdparm -Y /dev/disk/by-uuid/<disk-uuid>
    exit 0
    
    如果您在使用時遇到問題,hdparm可以使用以下方法:
    #!/bin/sh
    
    disk_uuid="<disk-uuid>"
    
    udisksctl unmount -b /dev/disk/by-uuid/${disk_uuid}
    udisksctl power-off -b /dev/disk/by-uuid/${disk_uuid}
    
    exit 0
    
    筆記:一定要更換 <disk-uuid> 使用步驟 1 中確定的正確值。
  5. 儲存檔案
  6. 確保腳本可執行:
    sudo chmod +x ~/sleep-disks.sh
    
  7. 建立新的systemd服務記錄:
    sudo vi /etc/systemd/system/sleep-disks.service
    
  8. 貼上以下內容:
    [Unit]
    Description=Shut down external disks
    DefaultDependencies=no
    Before=shutdown.target reboot.target halt.target
    # This works because it is installed in the target and will be
    #   executed before the target state is entered
    # Also consider kexec.target
    
    [Service]
    Type=oneshot
    User=<YOUR_USER>
    Group=<YOUR_USER>
    ExecStart=/home/<YOUR_USER>/sleep-disks.sh
    
    [Install]
    WantedBy=halt.target reboot.target shutdown.target
    
    筆記:一定要更換 <YOUR_USER> 使用您的實際用戶名,以及 ExecStart= 應該指向 shell 腳本的實際位置。
  9. 儲存檔案
  10. 重新載入守護程式:
    sudo systemctl daemon-reload
    

這將確保sleep-disks.sh每次電腦被告知關閉、重新啟動或暫停(掛起)時都會執行該腳本。

hdparm -Y命令告訴外部磁碟降至最低功耗狀態,即「關閉」。從文件:

-Y     Force  an  IDE  drive to immediately enter the lowest power consumption
       sleep mode, causing it to shut down completely.  A hard or soft reset is
       required  before  the drive can be accessed again (the Linux IDE driver
       will automatically handle issuing a reset if/when needed).  The current
       power mode status can be checked using the -C option.

udisksctl unmount將保證磁碟將被卸載,因此udisksctl power-off將關閉磁碟電源。

或者...如果您從不使用此功能,也許您可以在 BIOS 中停用“ON/OFF Charge”功能

相關內容