Virtualbox는 리눅스 데스크탑을 사용한다면 싫어도 써야하는 물건입니다. 그 이유야 당연히 Windows환경을 요구하는 경우가 은근히 있기 때문이지요. Wine으로 해결이 가능한 부분도 많지만 Windows 시스템 그 자체를 원한다면 어쩔 수 없습니다. 보통 궁극의 해결책이라고 표현하지요.

 

특히 유용한 기능중 하나가 USB Passthrough 기능입니다. 리눅스를 통하지 않고 바로 USB장치를 가상머신에 연결하게 해서 Windows드라이버만 지원하는 장치를 돌아가게 하거나 직접 Windows에서 작업 가능하도록 짜인 장비를 연결하는데에 이용가능합니다.

 

2015년에는 VirtualBox에 주로 WindowsXP를 사용했다면 이후 2019년까지는 Windows7이 그리고 2020년 현재에는 주로 Windows10이 가상머신에 이용되고 있습니다. 그런데 USB3.0을 지원하지 않는 WindowsXP는 그렇다 치는데 Windows7에서 USB장치가 인식이 안 되는 경우가 왕왕 있습니다.

 

보통 VirtualBox에 USB장치를 연결하는건 이런식으로 연결할 것이다. 실수로 USB키보드나 마우스를 연결하지 않도록 하자. 지옥을 맛 볼 수 있다.

우선 확인해주셔야 할 것은 버전에 맞는 Extension Pack을 설치했는가 입니다.

https://www.virtualbox.org/wiki/Downloads

이곳에 가셔서 VirtualBox Extension Pack을 찾아 다운로드 받아주셔야 합니다.

 

영어를 몰라도 대충 알아서 찾아 가도록 하자

이것을 설치해 주시면 USB장치를 지원이 할 수 있게 됩니다.

 

그 다음은 리눅스에서의 권한 문제입니다.

리눅스에서 사용자가 VirtualBox사용 권한을 얻어야 하는데 이를 설정하지 않으면 작동하지 않습니다.

그건 다음 링크에서 확인이 가능합니다.

https://moordev.tistory.com/205

 

VirtualBox사용시 USB 인식이 안 될 때

VirtualBox는 리눅스에서 다들 이용하고 계실 겁니다. 윈도 프로그램을 실행할 때 가장 마지막으로 시도하는 방법으로 다들 이용하고 계시지요. 그런데 VirtualBox를 쓸 때 USB가 인식이 안 되는 경우��

moordev.tistory.com

그런데도!!! 아직도!!! 인식이 안 된다면!!!!

 

그렇다면 한번 USB설정을 살펴봅시다.

우선 Windows장치의 설정으로 들어갑니다.

그리고 USB를 보시면 USB 2.0(EHCI) 컨트롤러 혹은 USB 3.0(xHCI)컨트롤러 둘 중 하나가 체크되어 있을 것입니다. 만약 1.1이라면 당장 바꾸세요. 지옥의 속도를 경험하게 됩니다.

 

여기서 한가지 알 수 있는 것은 USB 1.1에서는 인식이 되는데 2.0이상일 때 인식이 안 되거나 혹은 2.0은 되는데 3.0이 안 되는 경우가 있다는 것입니다.

 

이 것은 Windows 문제입니다. Chipset Driver나 USB드라이버가 설치되어 있지 않아서 벌어진 일입니다. 

Windows를 설치한 다음 우리는 보통 업데이트를 바로 돌려버리거나 알아서 업데이트를 하는데 이때 장치 드라이버가 자동으로 설치됩니다. 그런데 VirtualBox에서는 장치인식문제로 드라이버가 자동으로 설치되지 않는것입니다.

 

그렇다면 수동으로 설치하면 된다는 의미겠지요.

https://downloadcenter.intel.com/download/22824/Intel-USB-3-0-eXtensible-Host-Controller-Driver-for-Intel-8-9-100-Series-and-Intel-C220-C610-Chipset-Family

 

Download Intel® USB 3.0 eXtensible Host Controller Driver for Intel® 8/9/100 Series and Intel® C220/C610 Chipset Family

Intel® USB 3.0 eXtensible Host Controller Driver for Intel® 8/9/100 Series and Intel® C220/C610 Chipset Family

downloadcenter.intel.com

여기 있는 이 드라이버를 설치하거나

 

https://downloadcenter.intel.com/download/22904/Intel-USB-3-0-eXtensible-Host-Controller-driver-for-S1200V3RP?wapkw=USB

 

Download Intel® USB 3.0 eXtensible Host Controller driver for S1200V3RP

Intel® USB 3.0 eXtensible Host Controller driver for S1200V3RP

downloadcenter.intel.com

이 드라이버를 설치하면 됩니다.

 

만약 Windows10환경에서 안 된다면 그냥 Windows Update에서 한번 싸아악 돌리면 해결됩니다!

,

VirtualBox는 리눅스에서 다들 이용하고 계실 겁니다. 윈도 프로그램을 실행할 때 가장 마지막으로 시도하는 방법으로 다들 이용하고 계시지요.


그런데 VirtualBox를 쓸 때 USB가 인식이 안 되는 경우가 있습니다. 이럴 때 확인하는 방법을 알려드리겠습니다.


VirtualBox에서 USB장치가 인식되지 않으면 이렇게 나온다. (USB장치를 하나도 안 쓰는 경우는 없을테니...)



1. 확장을 설치했는가?


VirtualBox의 확장은 오픈소스로 풀리지 않은 부분을 활성화 하기 위한 패키지입니다.

보통 처음 VirtualBox를 설치하신 분들은 가끔 잊어버리기도 하는데 확장이 설치가 안 되면 USB를 인식을 하되 2.0까지만 인식을 합니다. 3.0장치는 2.0으로 잡히거나 안 잡히게 됩니다.


https://www.virtualbox.org/wiki/Downloads




해당 위치의 파일을 다운로드 받은 다음 열기를 눌러서 설치를 해주시면 됩니다.


파일-환경설정-확장 에서 방금 추가한 확장이 체크되어 있는지 확인해보시기 바랍니다.




2. 계정 권한 설정


정말 많은 분들이 잊어버린 항목입니다. 이상하게 자동으로 해줄 것 같은데 은근히 수동입니다.


우분투의 경우 계정 및 그룹 설정에서 VirtualBox 사용 권한을 체크해주셔야 VirtualBox의 모든 기능을 이용할 수 있습니다.




리눅스 민트 혹은 우분투에서 환경설정에 들어가봅시다.


Users and Groups 혹은 사용자 계정에 들어가면 아래와 같은 모양의 창이 뜹니다. 여기서 고급설정




그리고 VirtualBox 가상화 솔루션 사용에 체크를 해주시면 됩니다.



아 시스템을 껐다가 다시 켜주시는 것도 잊지 마시고요.


시스템을 껐다가 켜면 아무 문제없이 USB의 인식이 다시 돌아올겁니다.

,




 

 




우분투에서는 USB 메모리가 상당히 잘 읽힙니다. 2014년 현재 구동 되는 모든 OS는 당연하겠지만 USB 메모리가 안 읽히면 불편함이 이만저만 아니겠지요. 그러니 잘 읽히는 것은 당연 할 것입니다. 이는 우분투와 그 계열의 모든 OS도 마찬가지입니다.


그런데 여러분 USB메모리 쓰실 때 안전제거 꼭 하시나요? 급한 사람들은 안전제거 안 하고 그냥 쑥쑥 뽑던 것 같은데 이거 상당히 위험한 행동입니다.



이걸 굳이 하라는 이유가 있으니까 하라는 것입니다.

우분투에서도 안전제거란 이름외에도  "꺼내기","빼기","안전 제거" 등의 이름으로 이를 지원하고 있습니다. 그런데 사실 이를 찾기가 어려워서 그런지 아니면 윈도 쓸 떄의 습관이 남아서 그런것인지 까먹고 쑥쑥 뽑기 일 수입니다. 그리고 10중 9은 USB쓰기 에러창을 보게 됩니다. 그런데 우분투는 윈도와 다른 한가지 맹점이 있습니다. 윈도에서 복사는 실제 복사 작업이 끝난뒤에 창이 사라지지만 우분투는 복사 작업이 끝나기 전에 창이 사라집니다. 사실 이는 노틸러스의 문제지만, 우분투의 기본 탐색기가 노틸러스이니 우분투의 문제라고 할 수도 있습니다.(Konqeurer는 어떤지 잘 모르겠습니다. 써 본적이 없어서)



우분투도 이런식으로 꺼내기,뺴기,안전제거 등의 이름으로 이러한 기능이 들어있다. 괜히 이런 기능 있는 것 아니다. 꼭 이 기능을 이용하자.


그래서일까요? 우분투 초보자 분들께서는 저 안전제거 기능을 이용하지 않고 복사 창이 닫히자 마자 메모리를 쑥쑥 뽑아버리는 경우가 잦습니다. 애초에 윈도에서도 하면 안 되는 일이지만, 우분투는 안정성을 중요시 여기는 리눅스계열이라서 이를 더 증오합니다.


우선 안전제거를 이용하지 않으면 안 되는 이유를 말씀드리자면

1. 파일을 읽고 쓸 때 뽑으면 당연히 파일시스템에 에러가 난다.

2. 주로 FAT포맷을 이용하므로 파일이 깨질 수 있다. (NTFS나 EXT3,4에 있는 저널링 기능이 없습니다.)

3. 그냥 메모리가 사망할 수도 있다. (반도체는 전기적 충격에 약합니다.)


그런데 이 중 1,2 항목에 의해 에러가 발견되면 우분투는 시스템 안정성을 위해 파일 쓰기를 금지 해버리고 문제가 생긴 파일을 보이지 않게 처리합니다. 이 문제가 생긴 폴더, 파일을 다시 덮어쓰려고 하면 당연히 안 됩니다. 메모리에 쓰기가 안 되게끔 처리가 되어있으니까요.


그런데 윈도에서는 잘 될 것 입니다. 원래부터 윈도는 이런 문제는 사소한 것이라 생각하고 넘어가는 경향이 많습니다. 그러다 결국 지금과 같은 바이러스 천국, 좀비PC 양산이 생기게 되었다고 해도 과언은 아니지요. (그래서인지 서버용 윈도는 유닉스계열보다 더 빡센 권한 분리를 시도하더군요. 그런데 파일 시스템관리에서 또 한번 점수가 깎이네요.) 윈도는 이러한 사소해보이는 문제를 신경 안 쓰는 것 뿐입니다. 하지만 이 사소한 오류가 서서히 번지면 파일 전체로 퍼질지도 모릅니다. 하지만 우분투는 이를 막기 위해서 우선 오류를 잡거나 백업하라는 의미에서 쓰기금지를 해버립니다.


이를 해결하는 방법은 하나입니다. 오류가 난 파일과 폴더를 처리하는 것입니다.

오류를 처리하는 방법은 뭐가 있을까요?


우선 논리적 오류와 물리적 오류 두 가지에 대해 이야기 해야겠습니다. 우선 한 두 번의 실수로 인해 생긴 오류는 논리적 오류로 충분히 고칠 수 있습니다. 하지만 지속적으로 안전 제거 없이 생긴 오류는 고치기 어렵습니다. 이 경우에는 그냥 새 메모리에 백업 한 후에 포맷을 해서 대충 고쳐 써보는 방법이 있습니다. 하지만 포맷으로도 고쳐지지 않을 수준으로 반도체가 맛이 갔다면....삼가 메모리의 명복을 빕니다.

우분투는 위의 논리적 오류로도 쓰기 금지를 먹입니다. 혹시나 모를 문제에 대비 하는 것입니다. 그럼 이 논리적 오류만 해결하면 되겠네요? 네, 간단히 한 두번의 실수로 생긴 오류는 충분히 고칠 수 있습니다. 우분투에서도 가능하고 윈도에서도 가능합니다.


윈도에서는 간단하게 디스크검사 프로그램으로 검사하면 고쳐집니다.사실 도스시절부터 써오던 유서깊은 Chkdsk의 GUI버전이니 믿고 쓰시면 됩니다.

리눅스에서는 Chkdsk 따위 소리가 나오는 훌륭한 도구인 FSCK가 있습니다. 이 녀석을 이용하면 왠만한 오류는 다 고칠 수 있습니다. 리눅스나 유닉스 서버를 쓴다면 당연히 쓰게되는 물건이니 fsck라는 명령은 잘 알아두세요.


방법은 아쉽게도 GUI가 아닙니다. 혹시나 하고 찾아봤는데 fsck를 제대로 쓰는 GUI프로그램은 없더군요. Python같은 것으로 만들어진 프로그램들이 있을 줄 알았는데 의외로 없네요?

하는 수 없습니다. 그냥 터미널을 씁시다.


우선 USB메모리의 위치를 확인합시다. 메뉴-기본설정-디스크를 선택하면 디스크유틸리티가 실행되면서 USB의 장치 주소를 확인 할 수 있습니다.



여기서는 /dev/sdb1이군요. 물론 /dev/sdb는 디스크의 주소이고 /dev/sdb1은 해당 파티션의 주소입니다. 보통 USB메모리는 단일 파티션으로 쓰곤 하니까 어떻게 써도 상관은 없을 것입니다.


이제 터미널을 열고 fsck 명령을 쓰기전에 꺼내기 버튼을 눌러서 미연의 오류를 방지합시다. (꺼내기를 하지 않으면 fsck가 어차피 막을 것입니다.) 디스크 유틸리티에서도 꺼내기 버튼은 있습니다. 그리고 USB를 아직 뽑지는 마세요.


터미널을 열고 다음과 같이 명령을 칩시다.


sudo fsck -p /dev/sdb1

'

여기서 /dev/sdb1은 디스크 유틸리티에서 찾은 USB 메모리의 장치주소입니다. 여러분은 다르게 나올 수 있습니다.


그러면 오류가 난 폴더와 파일이 사라집니다.(!!!!) 복구 가능 하냐구요? 안 됩니다. 이는 복구 안 됩니다. 그러니까 백업은 필수입니다. 어쨌건 오류가 있었던 파일이 사라졌으므로 다시 USB를 뺐다가 꼽으면 쓰기 금지가 풀려있을 것입니다.


그런데 이런 복잡한 짓거리를 하기 전에 예방이 중요합니다. 그러니까 꼭 USB를 뺴기전에는 하드웨어 안전제거!!!! 꺼내기!!!! 뺴기!!!!! 이 기능을 꼭 이용하세요!!!!!!

,