노후된 컴퓨터의 PSU가 불안정해서 방금 교체했습니다. 컴퓨터를 재조립한 후 부팅이 되지 않고 "루트 대기를 포기했습니다"라는 메시지가 표시됩니다. 나는 쉘에 던져졌고 내 모든 하드 드라이브의 이름이 지정되었거나 /dev/sdf
나중에 지정되었으며 해당 파티션이 모두 거기에 있다는 것을 볼 수 있었으며 물론 똑같이 특이한 장치 이름도 있었습니다.
이제 루트 디렉터리는 sda5가 아닌 /dev/sdf5입니다.
내 grub 부트로더는 루트 장치가 열려 있다고 가정합니다 /dev/sda5
.
나는 쉘에 던져졌고 cat /dev/sda
응답은 "매체를 찾을 수 없습니다"였습니다. 이 사실은 내 카드 리더의 슬롯 수(5)가 "낮은" 장치 이름(sda..sde)의 수에 해당한다는 사실과 함께 이 장치가 실제로 내 카드 리더라고 믿게 만듭니다.
그래서 카드 리더기의 플러그를 뽑았더니 시스템이 정상적으로 부팅되었습니다.
내 파티션의 대부분은 레이블이 지정되어 있으며 해당 레이블이 fstab에 나열되어 있으므로 일단 루트가 발견되면 나머지 부팅 프로세스는 문제가 되지 않습니다. 그러나 루트는 grub 구성에 나열되므로 /dev/sda5
정확한 장치 이름이 필요합니다.
더러운 수정
PSU를 교체하기 전에는 이런 문제가 발생하지 않았습니다. 이전과 다른 USB 포트를 사용하고 있을 수도 있지만 그 외에는(그리고 새 PSU) 이전 설정과 별 차이가 없습니다.
그래서 카드 리더를 다른 USB 포트에 연결했는데 이제 시스템이 대부분의 경우 부팅되지만 항상 그런 것은 아닙니다.
다양한 커널 수정
내 커널은 3.16.7-ckt25 #4 SMP PREEMPT
소스에서 컴파일된 커널입니다. 기본 커널(3.16.0-4-amd64)로 부팅하면 이 문제가 발생하지 않습니다. 이것이 PREEMPT와 관련이 있는지 의심됩니다. 타이밍의 문제인 것 같아요.
질문
- USB 카드 리더 장치에 항상 이름을 지정하도록 시스템에 지시하려면 어떻게 해야 합니까?뒤쪽에SATA 하드 드라이브?