← 전체로 돌아가기
공통 메모 storage

SATA 핫플러그: 재부팅이 답

SATA 핫플러그 안될 땐 재부팅이 가장 확실한 해결책임.

linuxstoragesatahardwarehot-plug

SATA 디스크 핫플러그 후 lsblk에 안 보인다고? SCSI 재스캔 해봐도 소용없을 때가 많을 거야. 대부분 BIOS에서 SATA 핫플러그 기능이 꺼져 있어서 컨트롤러가 새 디스크 연결을 감지 못하는 문제임.

  • 문제 발생 시 대처법:
    • lsblk로 디스크 목록 확인.
    • SCSI 재스캔 한 번 시도 (빠르고 안전함). bash echo "- - -" > /sys/class/scsi_host/host*/scan
    • 그래도 안 되면, 재부팅이 가장 확실한 해결책이야. BIOS에서 핫플러그를 켜는 것도 방법이지만, 재부팅이 빠르다.

여기서 배울 것

  1. SATA 핫플러그는 BIOS 설정에 따라 작동 안 할 수 있음.
  2. SCSI 재스캔은 이미 인식된 버스만 다시 확인하는 것임.
  3. 새 SATA 디스크가 안 보이면 재부팅이 가장 확실한 해결책.
  4. BIOS에서 SATA 핫플러그 기능을 활성화할 수 있음.
원본 파일 보기 (.claude/memory/sata_hotplug_needs_reboot.md)
---
name: SATA hot-plug often needs reboot on this machine
description: When new SATA disks don't appear via SCSI rescan, reboot is usually required because BIOS hot-plug is disabled by default
date: 2026-04-18
tags: [linux, storage, sata, hardware]
---

## What happened
User hot-plugged two new HDDs into the AMD FCH SATA controller. `lsblk` did not show them. Rescanning all SCSI hosts (`echo "- - -" > /sys/class/scsi_host/host*/scan`) did nothing. After a reboot the disks appeared as `sda` and `sdc`.

## Root cause
SATA hot-plug is an AHCI capability, but most consumer motherboards ship with "Hot Plug: Disabled" per port in BIOS. Without it, the controller never raises a link-change interrupt for a newly attached disk, so Linux has no event to enumerate. SCSI rescan only re-queries already-known buses — it cannot conjure a device the controller never reported.

## Next time
If a user reports "I plugged in a disk but it's not showing":
1. Check `ls /dev/sd*` and `lsblk` first.
2. Try SCSI rescan once — fast, harmless.
3. If rescan fails, check `lspci | grep -i sata` and `ls /sys/class/scsi_host/` to confirm controller capacity. On this machine only ata2/ata4 are real (ata1/ata3 are DUMMY).
4. Don't spend long on rescan debugging — recommend reboot and/or BIOS hot-plug enable. Reboot is the reliable path.