실수로 삭제된 장치 노드 /dev/sda1

실수로 삭제된 장치 노드 /dev/sda1

나는 시스템을 청소하고 있었는데 분명히 약간 흥분했습니다. 나는 결국 다음을 실행했습니다 sudo rm -rf /dev/sda1. 에서 계속 실행 lsblk되고 df -h설치되어 있는 것을 볼 수 있지만 에서 특수 장치로 존재하지는 않습니다 . 서버를 다시 시작할 수 없습니다./dev/sda1//dev/

# lsblk
sda       8:0    0    50G  0 disk
├─sda1    8:1    0  49.9G  0 part /

이 문제를 어떻게 해결하나요?

답변1

첫 번째,당황하지 말 것.

실제로 전체 드라이브를 지우는 것은 아닙니다. 모든 데이터는 그대로 유지되며 시스템이 계속 실행되고 있다는 사실이 이를 증명합니다.

사용자가 해야 할 일은 대부분의 Unices와 마찬가지로 Linux가 파티션을 직접 식별하고 주소를 지정하는 데 사용하는 장치 파일을 제거하는 것뿐입니다. 일반적으로 이 작업을 수행해야 하는 유일한 시간은 파티션이 마운트되거나 수정될 때입니다.

udev시스템이 원격으로 현대적이라면 시작 시 자동 완성 기능을 사용 하거나 유사한 자동 완성 기능을 사용할 가능성이 높으며 /dev/모든 것이 계속해서 잘 작동할 것입니다. 그러나 자신의 확신을 위해 Jaromanda의 조언을 받아들이고 노드 재생성을 실행하는 것이 좋습니다.sudo mknod /dev/sda1 b 8 1

그런 다음 다음 명령을 사용하여 권한이 올바르게 설정되었는지 확인하십시오.

sudo chown root.disk /dev/sda1
sudo chmod 660 /dev/sda1

편집하다요청에 따라 몇 가지 추가 설명이 있습니다.

mknod명령은 주석에 표시된 것과 정확히 일치합니다.케이장비목례e. 이 특별한 경우에는두번째메이저 번호가 8이고 마이너 번호가 1인 블록 장치는 문자 그대로 "디스크로 표시되는 첫 번째 SCSI 장치의 첫 번째 파티션"으로 해석됩니다.

(장치 노드에 대한 자세한 지침은이 튜토리얼유익하지만 이 질문의 범위를 약간 벗어납니다)

관련 정보