본문 바로가기

맥북 Tip & Q&A

부트캠프 진행중 "해당 디스크에는 이동할 수 업는 파일이 있기 때문에 파티션 할수 없습니다." 메세지의 정체

부트캠프 진행중 "해당 디스크에는 이동할 수 업는 파일이 있기 때문에 파티션 할수 없습니다." 메세지의 정체

 

 

맥에 윈도우를 깔기 위해서 부트캠프를 실행하고 파티션 작얼을 수행하면서 "해당 디스크에는 이동할 수 업는 파일이 있기 때문에 파티션 할수 없습니다." 라는 메세지를 접할때가 있다

 

Mac OSX는 기본적으로 하드디스크의 4번째 파티션에 부트캠프를 설치하도록 내부에서 지정되어 있습니다.

그래서 부트캠프 지원으로 파티션 작업을 하는 도중에 디스크단편화(조각모음 상태)가 잘못 되어 있어 하드디스크의 네번째 파티션으로 지정된 공간에 (정확히 말하면 부트캠프로 나누려고 하는 위치 주위의 공간)에 OSX에서 사용하는 시스템 파일이 잘못 들어가서 생기는 문제 입니다. (시스템 파일은 단순 카피로 이동할수 없기 때문에)

*** 시스템 관련 파일이 이곳에 위치하게 되는 정확한 경위는 애플에서도 명확한 답변을 하지않아 어떤 경우인지는 정확히 알수는 없습니다.

 

이 문제를 해결하기 위해서는 이동할수 없는 시스템 파일을 다른곳으로 옮겨야 하는데 이것은 디스크조각모음 프로그램으로 가능합니다.

대표적인 프로그램이 iDefrag 라는것이 있습니다.

iDefrag 홈페이지 : http://www.coriolis-systems.com/iDefrag.php

 

또는 OSX를 재설치 해서 시스템 파일을 앞쪽부터 위치하도록 하는 방법 외에는 다른 방법은 없습니다.

 

 


 

주로 이 메세지는 주로 시스템을 설치한지 오래된 시스템에서 흔히 나오는 문제 입니다.

 

물론 다른 오류로 인해서 그런 경우도 발생할수 있지만 여기서는 하드디스크의 빈 공간에 대해서 자세한 설명과 함께 다루기로 하겠습니다.

 

일단 이 문제는 하드디스크의 내부의 쓰기 구조를 정확히 알아야 하므로 예제로 설명을 하도록 하겠습니다.

 

 

 

HardDisk 구조 그림을 다음과 같이 임의로 정의해 보자

 

세로 1 ~ 0 까지 10개의 구간을 한줄에 20G 라고 가정한다 (그림에 있는 예제는 총 200G 하드인 것이다 : 네모 하나에 1G용량)

빨간색 네모 : 자료가 저장되어 있는 공간

파란색 네모 : 자료가 없는 비어있는 공간

 

다음 QnA를 통해 그림에 대한 이해를 돕기로 하겠다

 

예제에 사용된 위치를 가르키는 4:8,9는 세로로 4번째, 가로로 8번째, 9번째를 가르킴

 

Q. 만약 그림에서 6번째 줄 ~ 10번째줄 (파란색 공간)이 전부 자료로 꽉~차 있다면 그다음에 4:8,9   4:16,17,18 공간에 기록을 하나요 ?

A. 예~~ 질문하신 대로 아랫 부분이 다 차게 되면 4:8,9   4:16,17,18 공간에 차례로 기록이 되는데....

 

이때 중요한 문제인 디스크 단편화 문제가 발생됩니다.

예를 들어 파일의 사이즈가 2기가 라고 한다면 4:8,9 공간에 들어가게 됩니다 (네모 하나에 1G 용량이므로) => 단편화 발생하지 않음

그러나 파일의 사이즈가 5기가 정도 되면 문제가 다릅니다

5기가의 용량중 2기가는 4:8,9 공간에 기록되고, 나머지 3기가의 자료는 4:16,17,18 공간에 기록되게 됩니다.

그래서 OS에서 이 파일을 읽으려고 할때 4:8,9 에서 2기가를 읽어 들이고, 다음에 나머지 자료를 4:16,17,18에서 읽어오게 됩니다

*** 그림에서는 단순히 2군데의 블럭이지만 실제 여러분의 하드디스크에서는 이러한 구멍(빈 구역)이 수만 ~수십만개의 영역이 이러한 형태로 존재하게 됩니다 (컴퓨터를 오래 쓰면 쓸수로 이러한 공간은 많이 생깁니다)

 

 

[실제 맥북의 하드디스크의 자료 저장상태]

 

 

*** 백색으로 된 부분이 자료가 삭제되어 비어있는 공간임

 

위 그림을 보시면 내부가 아주 엉망으로 되어 있는것을 볼수 있습니다.

 

이때 처음 2기가를 읽어 들이고 다음 3기가를 읽기 위해서 디스크가 물리적인 위치가 이동되는데 이런것이 많으면 하드디스크에서 끄륵~~끄륵 하는 소음이 발생하는 것입니다.

 

예를 들어 우리가 집에 백과사전이 한권 있는데 이걸 분야별로 수십 페이지씩 쪼개서 보관하고 있다가 자료를 하나로 합치려면 앞 뒤의 순서를 맞춰야 하므로 시간이 걸리는것과 같은 이치라고 보시면 됩니다.

 

 

Q. 그림의 내용대로라면 4:8,9 에는 왜 빈 공간인가 ?

A. 하드의 용량이 4:7까지만 사용되다가 어느날 "PinBall"이라는 2기가 용량의 게임을 깔았고, 그 이후로 계속 하드에 내용이 저장되다가 게임이 하기 귀찮아 오늘 게임을 삭제하였다 (하드 중간에 빈 공간이 생김)

이런 경우에 중간에 빈 공간이 생기는 것입니다.

물론 이공간은 영원히 존재 하는것이 아니라 자료가 꽉~차서 더이상 기록할 공간이 없으면 이런 공간도 하나씩 하나씩 다른 자료로 채워지게 되는 것입니다.

 

 

Q. 그렇다면 4:8~9의 빈공간은 지워졌는데 왜 그곳에 자료를 저장하지 않고 그 다음에 저장해서 이렇게 지저분하게 하는가요 ?

A. 하드를 관리하는 파일시스템(맥은 HFS : 맥 저널링)이 지워진 공간에 바로 데이타를 써 버린다면 그 공간은 영원히 복구가 불가능하게 됩니다.

하드에서 뭔가를 지운다는것은 그 위치를 가르키고 있는 프로그램의 위치 정보만 (인덱스 부분) 삭제하고 실제로 그 공간을 전부 지우지는 않습니다.

** 간혹 매스컴에서 경찰/검찰에서 지워진 하드를 살린다...검색기록을 본다는 얘기가 있는데... 이것이 인덱스 부분만 복구하면 실제로 파일이나 내용이 복구 되기 때문인 것입니다

 

이렇게 보시면 됩니다.

하드디스크에 영화를 카피 하는데는 3~5분 걸리는데 왜 지울때는 1초도 안걸리는 걸까요 ?

이게 바로 내용을 지우는 것이 아니라 내용을 가르키고 있는 인덱스만 지우기 때문에 그러한 것입니다.

 

 

Q. 하드디스크에 저장하는데 소요되는 시간과 지우는데 소요되는 시간이 틀리다는 얘긴가요 ?

A. 예~ 맞습니다. 컴퓨터에서 바로 테스트 해보시면 됩니다.

10기가 용량의 파일을 하드디스크에 복사하는데는 10분이 걸린다고 하면.... 그 파일을 지우는데는 약 1~2초면 삭제가 다 됐다고 나옵니다.

뭔가 이상하지 않은가요 ?

그건 지울때는 쓸때처럼 모든 정보를 0으로 초기화 하는것이 아니고 위에서 얘기한 그 파일의 인덱스 정보만 지우는 작업을 하는것입니다.

그래서 아주 작은 시간으로 가능한 것입니다.

 

 

Q. 그럼 그 빈 공간은 언제 채워지나요 ?

A. 이미 사용했던 빈공간 말고도 하드디스크의 공간이 있다면 계속 새로운 곳에 채워지다가 더이상 쓸곳이 없게되면 그 빈 공간을 사용하게 프로그램되어 있습니다 (거의 모든 파일 시스템에서 사용하는 방법입니다)

단, 이렇게 된다면 과거에 지웠던 정보는 영원히 복구 불능 상태가 되겠죠 ?

 

 

 Q. Mac OS X는 알아서 디스크 단편화를 자동으로 한다는게 사실인가요 ? 

A. 이것의 대답은 정확히 예, 아니오로 말씀 드릴수는 없습니다.

왜냐하면 윈도우처럼 아주 않하는 것은 아니고 아주 약~~간의 단편화는 실행 합니다.

 

맥의 HFS+에서 파일을 열었을때 문제가 아주 심각하거나 아래 조건이 충족하면 기본적인 단편화는 해 줍니다.

- 다른 응용프로그램에서 사용하지 않는 경우

파일 크기가 20MB 보다 작은 파일인 경우

- 파일이 읽기 전용 파일이 아닌 경우

- OSX 시스템이 3분 이상 실행 되고 있는가 ?

 
이 동작이 실행 될때 바람개비가 돌면서 시스템이 늦게 구동 되는 것입니다.
 
*** 단편화를 하는 목적이 커다란 파일을 순차적으로 배치하는 것인데 20MB 이하의 파일만 단편화를 한다고 해서 시스템에 많은 영향을 주지는 못합니다.  특히나 요즘은 작업 파일의 사이즈가 몇십 MB ~ 몇백 MB인것을 고려할때 과거의 유물일 뿐입니다 (물론 안하는것 보다는 훨씬 좋습니다)
 
윈도우에서 디스크 조각모음을 해보신 분들은 아시겠지만 몇달만 사용해도 500기가 하드 디스크 조각모음 하는시간이 대략 8~20시간 정도 소요 된다고 보면 이걸 바람개비가 돌아 가는 짧은 시간내에 하는것은 불가능한 작업인 것입니다.
 

 

Q. 하드디스크의 이런 문제를 해결하기 위한것이 디스크 조각모음이라고 하던데, 맥에는 자동으로 관리되기 때문에 조각모음을 할 필요가 없다고 하는데 어떤게 사실인가요 ?

A. 그림에 나오는것이 디스크의 단편화 문제라고 얘기하는 것입니다.

파일시스템(FAT, NTFS, HFS 저널링등,...)이 이런 비슷한 문제를 최적화 하는것은 기능을 어느정도 가지고 있습니다.

맥을 사용하는 대다수의 사용자들이 범하는 오류가 "Mac OS는 HFS+가 알아서 자동으로 조각모음을 해주기 때문에 할 필요가 없다!!" 라는 불분명한 블로그 글이나 자료가 돌아 다니는 것을 볼수 있습니다.

그러나 맥이든 윈도우든 위 그림과 같은 구조로 하드디스크를 운영하기 때문에 조각모음은 해야 하드디스크가 정리가 되어서 자료를 빨리 찾을수 있고 파일의 입/출력 속도의 성능의 향상이 생깁니다.

 

 

Q. 그런다면 조각모음을 하는것 하고 시스템을 새로 설치 하는것 중에 어떤것이 좋은 가요 ?

A. 당연히 시스템을 새로 설치하는 것이 훨씬 좋습니다.

조각 모음을 한다고 해도 내부에 있는 사용하지 않는 파일들이 존재 하므로 새로 설치하는 것이 가장 좋습니다.

단, 시스템에 깔려 있는것들이 너무 많고 그대로 유지 하면서 사용해야 하는 경우에는 어쩔수 없이 조각모음 방법으로 할수 밖에 없습니다.

 

 

Q. 그럼 SSD하드도 디스크 조각모음이 필요한가요 ?

A. 이론적으로는 그렇지만 워낙 짧은 시간에 억세스가 이루어 지므로 별 도움이 않됩니다.

또한 SSD는 수명이라는게 있어서 특정한 메모리셀(정확히 말하면 특정비트)에 일정횟수의 쓰기 신호가 감지되면 수명을 다하게 되어있습니다.

예를 들어 100기가의 SSD 하드에 10기가의 용량만 계속 반복적으로 사용하고 있는 사람이 있다고 하면 100기가의 용량을 전부 사용하는 사람에 비해서 전자의 경우가 수명이 짧아 질수 있다는 이론이 생길수 있습니다.

그래서 고안한 것인 SSD 콘트롤러의 파일시스템(FAT, NTFS, HFS등과는 별개 문제)에서 사용자가 지정하지 않더라도 메모리의 특정위치를 반복적으로 사용하지 않고 서로 균형있게 사용하게 만들어 어느 한곳만 집중적으로 노화가 발생하지 않도록 조절하는 기능을 가지고 있습니다.

*** SSD 내부에 그 역할을 하는 컨트롤러가 내장되어 있습니다.

 

 

Q. 만약 아래와 같은 형태라면 부트캠프가 어느정도 용량까지 가능한가요 ?

 

 

A. 위 그림에서 보면 전체 디스크 용량이 200G 이고, 네모 하나의 용량이 1G라고 가정할때

6번줄과 7번줄 부분에는 파란색으로 파일이 없는데도 불구하고 8번줄 후반부에 시스템파일이 떡~하니 자리를 잡고 있기 때문에 부트캠프로 용량을 나눌때 전체 200기가 중에 대략 살펴봐도 80기가의 용량은 부트캠프로 나눌수 있어 보입니다.

그러나 위에서 언급한 시스템파일이 160기가 위치에 놓여 있기 때문에 나머지 용량이 80기가 이상이 된다고 하더라도 계속 에러가 발생하는 현상이 나타납니다.

 

이때 그림의 하단에 두줄(40기가의 용량)은 완전히 비어 있는 공간이므로 부트캠프에서 40기가로 나눈다고 하면 아무 문제 없이 부트캠프 작업이 가능합니다.