Virtual box 사용 중 오류 해결 관련 문의드립니다

Host : Ubuntu 12.04 LTS(회사컴)
Guest : Windows 7 => Virtual box로 구동

1달 정도 문제 없이 사용 했는데 어제 error 메시지가 몇 번 뜨며 Windows 다운되었지만 재 접속(Windows 재부팅) 가능했는데
오늘 아침부터 Virtual box로 Windows 구동이 안되네요~ 새로고침 눌러도 아무것도 바뀌지 않아요~
중요자료가 많은데 난감합니다.

  1. Virtual box 정상화 가능한지요?
  2. Windows 자료만이라도 복구할 수 있는 지요?

저는 리눅스는 거의 모릅니다(일반 회사원인데 회사가 강제적으로 리눅스 쓰라고 해서 고육지책으로 여기서 공부해서 Virtual box로 windows 사용했는데 …T.T 조언 부탁드려요~

답을 이미 가르쳐 주고 있습니다.

위의 내용을 보시면 태그 에러라고 지적하고 있습니다.
해당 파일을 열어서 수정하십시오.

어떻게 수정 해야 하나요? 터미널에서 하는 건가요? 제가 리눅스를 잘 몰라서…

Start tag expected, ‘<’ not found.
Location: ‘/home/bukwang/VirtualBox VMs/windows 7/windows 7.vbox’, line 1 (0), column 1.
/home/vbox/vbox-4.3.12/src/VBox/Main/src-server/MachineImpl.cpp[731] (nsresult Machine::registeredInit()).

검색창에서 gedit을 찾아서 실행하세요. 혹은, 터미널을 열고 gedit을 입력하고 enter key를 치세요.
윈도의 메모장과 같은 기능을 하는 gedit이라는 프로그램이 시작됩니다.

이 프로그램에서 에러 메세지에 나온 파일 (windows7.vbox)을 열어 보세요.
이 file은 xml file로서 text file이니 텍스트 에디터로 열 수 있습니다.
에러 메세지에 line 1, col 1 이라고 하는 것으로 보아 첫 줄이 망가진 듯합니다.

제가 사용하는 Windows 7 VM의 첫 줄을 보니 다음과 같습니다.

<?xml version="1.0"?>

에러 메세지에는 위의 첫 번째 <가 깨진 것으로 보입니다.

첫번째 줄을 위와 같이 고쳤는데도 또다시 다른 에러 메세지가 나온다면 전반적으로 깨졌을 가능성도 있겠죠. 그런 경우에는 VM의 vdi file이 망가지지 않았다면 복구 가능할 것입니다. 첫 줄을 고쳐도 안되면, windows7.vbox를 텍스트 에디터로 열어서 복사하기/붙여넣기를 이용하여 전체를 여기에 올려보세요. 수리 가능성이 있나 봐야 할 것 같군요.

쪽지를 보았습니다. 쪽지를 보내서 답을 얻기 전에 직접 확인해 보십시오.

해당 파일은 텍스트 파일이므로 편집기로 열어보시면
구문 에러시 해당 편집기에서 힌트를 줍니다. (gedit 라면)

windows7.vbox 파일을 여니…

[attachment=1:2y3q7inh]sdf.jpg[/attachment:2y3q7inh]
[b:2y3q7inh]window7.vdi 파일을 virtual box로 열기 => 동일한 error 메시지 [/b:2y3q7inh]

Start tag expected, ‘<’ not found.
Location: ‘/home/bukwang/VirtualBox VMs/windows 7/windows 7.vbox’, line 1 (0), column 1.
/home/vbox/vbox-4.3.12/src/VBox/Main/src-server/MachineImpl.cpp[731] (nsresult Machine::registeredInit()).
결과 코드: NS_ERROR_FAILURE (0x80004005)
구성 요소: Machine
인터페이스: IMachine {480cf695-2d8d-4256-9c7c-cce4184fa048}

[attachment=0:2y3q7inh]제목 없음as.jpg[/attachment:2y3q7inh]
[b:2y3q7inh]snapshots => vdi 파일을 virtual box로 열기 => 또 동일한 error 메시지[/b:2y3q7inh]

어떻게 된걸까요? ㅜ.ㅜ.

해당 파일이 깨어졌습니다. 아마도 파일을 보관 중에 바이너리로 변형하신 것 같습니다.

windows 7.vbox-prev 파일을 열어 보신 뒤 정상적인 텍스트 파일 이라면
windows 7.vbox 파일을 백업 또는 삭제 하신 후 windows 7.vbox-prev 파일의 이름을 windows 7.vbox로 변경해서 해 보십시오.

만약 정상적인 텍스트 파일이 아니라면 관련 파일을 삭제 후 다시 windows 7을 설치 하시기 바랍니다.

생각보다 심각하네요.

.vbox file은 설정을 저장하고, .vdi file은 디스크 이미지입니다. 따라서 .vdi file을 그렇게 읽을 수는 없습니다.

위 첨부한 그림을 보니 .vbox file은 완전히 으깨졌네요. .vdi는 온전하길 빌면서 마지막으로 복구를 시도해 보기로 하지요. 이번에도 복구가 안되면, 제 실력을 넘어갑니다. 다른 방법이 있는지 없는지는 저도 모릅니다.

일단 VirtualBox 프로그램에서 Windows 7 system을 새로 만드세요. 이번에는 이름을 "windows7"이 아닌 다른 이름으로 주세요. 새로운 VM을 만드는데, 기존의 디스크 이미지를 사용하려는 것입니다. 즉, .vdi file을 새로 만들지 않고, 기존에 가지고 있는 "windows7" folder 안에 있는 windows7.vdi를 이용할 것입니다. 원래 Windows 7 VM을 만들었을 때와 같이 만드시되, "하드 드라이브"라는 제목이 붙은 화면에서, "지금 가상 하드 드라이브 만들기"를 선택하지 말고, "기존 가상 하드 드라이브 사용"을 선택합니다. "만들려기" 버튼을 클릭하면, 파일 선택 화면이 나올 것이며, 여기서 기존에 가지고 있는 windows7.vdi를 선택합니다. 그러면, VM을 새로 만들기는 했는데, 기존의 하드 드라이브를 사용한 것입니다.

이제 만들어 졌죠? 부팅해 보세요. 운이 좋으시기 바랍니다.
이 방법으로도 안되면 windows7.vdi도 손상된 것이며, 이 경우에는 어떻게 복구하는지 저는 모릅니다.

windows 7.vbox-prev=> 파일명 변경해서 하니 정상적으로 구동됩니다~
감사할 따름 이네요~~~!
V box의 우분투와 윈도우 공유폴더를 백업 차원에서 적극 활용해야 겠네여…

한가지만 더 문의드리려고 하는데…

이번처럼 V-box error로 windows OS 재설치까지 가야할때 복구나 백업파일로 하려면 어떻게 하는것이 좋은가요?

  1. vdi file을 따로 백업해야 하는것인가요? 어떻게 해야 하나요?
  2. V-box에서 "가상시스템 내보내기"나 "스냅삿"으로도 가능한것인가요?

다시 한번 감사드려요^.^

스냅샷은 백업 기능은 아닙니다만
가상 시스템 내보내기는 일종의 백업 기능이라 할 수 있습니다.

저의 경우는 VirtualBox VMs 디렉토리 자체를 복사, 백업해 두었다가
필요할 때 백업 본을 홈 계정에 복사해서 사용 합니다.

그렇군요. 더 좋은 방법을 찾으셨네요. 아무튼, 복구되어서 다행입니다.

백업을 하셔야겠네요. 근데, 스냅샷은 백업 기능이 아닙니다. 말 그대로 현재의 VM 하드 이미지를 저장해 두는 기능이지요. 그런데, 이 기능이 incremental backup과 비슷한 개념이라서 백업으로 사용하기엔 조금 복잡합니다. 자세한 것은 VBox 매뉴얼을 읽어보세요.

내보내기는 백업에 사용하실 수 있습니다. 또한 VM 폴더 전체를 zip, 7-zip 등을 이용해서 압축한 archive를 만드시는 것도 하나의 방법입니다. 그런데, 이런 방법들은 모두가 시간이 오래 걸리는 것이 단점이죠? 백업 크기도 크고요. 제가 사용하는 방법은 다음과 같습니다. 도움이 되실 만한 것을 참고하시면 될 것 같습니다.

(1) VM 폴더를 7z 으로 압축해서 구글 드라이브에 올려놓았습니다. 이것은 OS 설치 직후이기 때문에 개인 데이터는 전혀 없습니다. 또한 이 일은 한번만 합니다. 나중에 복원이 안되면 OS 새로 심는 과정의 노력만 아끼려는 것이죠.

(2) 이제 VM의 개인 데이터 부분만 VM의 공유 폴더에 압축하여, 이 파일을 정기적으로 백업합니다.

위 (2)는 사실 구체적으로는 다음과 같이 하고 있습니다.

[A] Truecrypt container를 마운트 합니다.
[B] VM에는 공유 폴더로 이 container의 마운트 지점이 잡혀있습니다.
[C] VM에서 공유 폴더 (실제로는 Trycrypt container)에 VM의 데이터만 복사 (혹은 압축)합니다.
[D] 그 Truecrypt container를 구글 드라이브에 올려서 백업합니다.

저는 사실 구글을 믿지 못해서 Truecrypt로 암호화해서 올립니다.
[url:1pxr6ckw]https://truecrypt.ch/[/url:1pxr6ckw]