외장 하드 드라이브가 종료되지 않습니다

외장 하드 드라이브가 종료되지 않습니다

Ubuntu를 종료해도 외부 USB 하드 드라이브는 전혀 종료되지 않지만 다른 USB 장치(예: 헤드폰 및 키보드)의 전원은 계속 꺼집니다.

차이가 있다면 B365M DS3H WIFI 마더보드를 가지고 있습니다.

Windows에서 하드 드라이브가 정상적으로 종료됩니다.

정상적으로 종료되게 하려면 어떻게 해야 하나요?

편집: 하드 드라이브를 끄고 정상적으로 전원을 끈 후에도 종료 후에도 전원이 공급되지 않아야 할 때 여전히 전원이 공급됩니다.

답변1

이것이 '특징'인 것 같습니다.기가바이트 마더보드~라고 불리는"ON/OFF 충전". 기능 설명에서:

GIGABYTE의 최신 마더보드에는 ON/OFF 충전 기술이 탑재되어 있어 iPhone, iPad 또는 iPod Touch를 충전할 수 있을 뿐만 아니라 급속 충전도 가능합니다. 추가 보너스로 PC가 꺼진 상태에서도 충전이 가능하므로 음악을 동기화한 후 충전기에 연결하는 것을 잊어버리더라도 필요할 때 완전히 충전됩니다.

[...]

* 동시에 최대 3개의 기기를 충전할 수 있습니다. 충전 전류는 PSU 5V 대기 사양에 따라 달라질 수 있습니다.

마더보드가 보이지 않을 가능성이 높기 때문에구체적으로USB 장치 제조업체 ID를 기반으로 하는 Apple 장치의 경우 마더보드는 컴퓨터가 켜져 있는지 여부에 관계없이 최대 3개의 USB 포트에 5V의 무정전 전원을 공급한다고 생각합니다. 이 경우 외부 드라이브는 특별히 명령을 내리지 않는 한 자체 종료를 알 수 없습니다.

Windows가 종료되면 드라이브가 제대로 종료될 것이라고 말씀하셨기 때문에 드라이브가 어떤 이유로든 Ubuntu가 보내지 않을 수 있는 호스트 OS의 명령을 기다리고 있다고 생각하게 되었습니다(일부 드라이브는 기다리고 power-off다른 드라이브는 기다림). 을 위한 eject).

한 가지 가능한 해결책은 시스템이 종료 주기에 들어갈 때마다 실행되어 먼저 USB 파티션을 마운트 해제한 다음 특정 장치에 대해 "전원 끄기" 명령을 보내는 스크립트를 작성하는 것입니다.

한번 시도해 보고 싶다면 방법은 다음과 같습니다.

  1. 터미널 열기(아직 열려 있지 않은 경우)
  2. UUID다음을 사용하여 USB 디스크를 얻으십시오 blkid.
    sudo blkid
    
    이렇게 하면 모든 장치 목록이 제공되며 종료하려는 USB 디스크를 나타내는 장치를 찾을 수 있습니다. 다음과 비슷한 내용을 볼 수 있습니다.
    /dev/sdc1: UUID="AzJSHp-stpU-1ArB-YOMD-G7OD-l1Uz-xJhQIh" TYPE="ext4" PARTUUID="04592289-01"
    
     
  3. 홈 디렉토리(또는 실제로는 어느 곳에서나)에 쉘 스크립트를 작성하십시오.
    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. 새로운 시스템 서비스 레코드를 생성합니다:
    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= 쉘 스크립트의 실제 위치를 가리켜야 합니다.
  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" 기능을 비활성화할 수도 있습니다.

관련 정보