Linux 머신에 꽂은 USB 플래시 드라이브에 어떻게 접근할까?
sudo fdisk -l로 Disk의 위치를 확인가능하다.
Device Start End Sectors Size Type
내 경우 USB Flash memory를 꽂으면
Disk /dev/sda에 마운팅됨.
Disk model을 통해서 이름을 확인할 수 있다.
/dev/sda에 있어서 바로 cd로 접근하려고하면
Not a directory라고 뜨는 경우
sudo 권한으로
다음과 같이 체크해주자.
sudo umount {드라이브 경로}
sudo mount {드라이브 경로} {마운팅 경로}
sudo fsck {드라이브 경로}
umount를 실행했더니 아직 마운팅 되지 않았다고한다.
다음과 같이 체크해주자.
sudo umount {드라이브 경로}
sudo mount {드라이브 경로} {마운팅 경로}
sudo fsck {드라이브 경로}
umount를 실행했더니 아직 마운팅 되지 않았다고한다.
(*unmount가 아니다. umount임. 하도 틀려서)
mount 해주자.
나 같은 경우 바로 프로젝트 폴더에 만들지 않고
/media/폴더에 mkdir로 마운팅 전용 경로를 만들었다.
mount를 실행했더니 wrong fs type이라한다.
USB에서 사용하는 파일 시스템이 맞지 않아서다.
df -h를 실행하면 리눅스 파일 시스템에 뜨지 않는다.
sudo fsck /dev/sda를 통해 검사하면
ext2/ext3/ext4 파일 시스템으로 해석할 수 없다고한다.
그리고 Found a dos partition table in /dev/sda라는 메시지를 볼 수 있다.
/dev/sda는 디스크 전체를 의미하고
/dev/sda1는 디스크의 일부인 파티션을 의미한다.
나는 파티션에 접근하지 않고
디스크 자체에 접근하려고 했기 때문에 supdblock을 잘못 인식한거다.
자, 그러면 원인은 잘못된 접근 경로였다.
잘 찾아보니 /dev/sda아래에 dev/sda1정보가 있다.
경로를 /dev/sda1로 바꾸고 다시 명령어를 실행하자.
mount 해주자.
나 같은 경우 바로 프로젝트 폴더에 만들지 않고
/media/폴더에 mkdir로 마운팅 전용 경로를 만들었다.
mount를 실행했더니 wrong fs type이라한다.
USB에서 사용하는 파일 시스템이 맞지 않아서다.
df -h를 실행하면 리눅스 파일 시스템에 뜨지 않는다.
sudo fsck /dev/sda를 통해 검사하면
ext2/ext3/ext4 파일 시스템으로 해석할 수 없다고한다.
그리고 Found a dos partition table in /dev/sda라는 메시지를 볼 수 있다.
/dev/sda는 디스크 전체를 의미하고
/dev/sda1는 디스크의 일부인 파티션을 의미한다.
나는 파티션에 접근하지 않고
디스크 자체에 접근하려고 했기 때문에 supdblock을 잘못 인식한거다.
자, 그러면 원인은 잘못된 접근 경로였다.
잘 찾아보니 /dev/sda아래에 dev/sda1정보가 있다.
경로를 /dev/sda1로 바꾸고 다시 명령어를 실행하자.
df -h를 했더니 /dev/sda1/가 파일시스템에 인식된다!
USB는 USB 컨트롤러가 존재하는 기기와 그 반대 기기를 구별할 수 있다.
- 전원 공급
- 전원 공급
- 차등신호 전송
- 노이즈 상쇄
데이터 통신 시 데이터는 쪼개진 패킷 단위로 오고 간다.
1. 토큰 패킷 -> 데이터 교환 전, Host(높은 확률로 데스크탑)에서 장치에게
쓰겠다고 알림.
2. 데이터 패킷 -> 실데이터가 이동함.
3. 핸드셰이크 패킷 -> 데이터를 받았는지 확인하는 신호를 주고 받아서
신뢰성을 높힘.
- 노이즈 상쇄
데이터 통신 시 데이터는 쪼개진 패킷 단위로 오고 간다.
1. 토큰 패킷 -> 데이터 교환 전, Host(높은 확률로 데스크탑)에서 장치에게
쓰겠다고 알림.
2. 데이터 패킷 -> 실데이터가 이동함.
3. 핸드셰이크 패킷 -> 데이터를 받았는지 확인하는 신호를 주고 받아서
신뢰성을 높힘.
Host에 부착된 디바이스는 Host의 명령에만 응답하며
디바이스가 Host의 동작을 주도할 수 없다.
대신 Host가 디바이스에 Polling 방식으로
디바이스가 자신에게 보낼 데이터가 있는지 체크함.
전자전기 세계에서도 데이터를 보내는 "일"을 할 때는 힘이 필요하다.
데이터를 보낼 때는 D+선과 D-선의 전압차이를 이용하여 차동전송한다.
Device도 파일 형태로 Host와 소통한다.
Deivce가 꽂히면 컴퓨터 내부의 보드 회로에서 저항 역할을 하기 때문에
D+/D-선의 전압이 변한다.
Host는 전압 변화를 감지하여 새 디바이스가 있을 인식하고
그 장치에 고유한 주소를 부여한다.
장치는 호스트에게 자신의 "파일 디스크립터" 데이터를 보내고
컴퓨터는 그 사양에 맞는 드라이버를 찾아 실행한다.
-> 이 일련의 과정이 Plug & Play이다.
-> 꽂으면 바로 실행.
Deivce가 꽂히면 컴퓨터 내부의 보드 회로에서 저항 역할을 하기 때문에
D+/D-선의 전압이 변한다.
Host는 전압 변화를 감지하여 새 디바이스가 있을 인식하고
그 장치에 고유한 주소를 부여한다.
장치는 호스트에게 자신의 "파일 디스크립터" 데이터를 보내고
컴퓨터는 그 사양에 맞는 드라이버를 찾아 실행한다.
-> 이 일련의 과정이 Plug & Play이다.
-> 꽂으면 바로 실행.
댓글
댓글 쓰기