[2012/11 업데이트] 디스크 이미지(.DMG) 마운트 시 커널 패닉 해결 (Sandbox.kext / Seatbelt.kext 버전 매칭 가이드)
비순정(Non-vanilla / AMD 패치) 커널이나 구버전 커널을 사용할 때 디스크 이미지(.DMG)를 마운트하는 순간 발생하는 커널 패닉(Kernel Panic)을 해결하기 위해 Darwin XNU 커널 버전(9.5.0~12.2.0)에 정확히 대응하는 순정 Seatbelt.kext(10.5) 및 Sandbox.kext(10.6~10.8) 빌드를 매칭하여 설치하는 종합 레퍼런스입니다.
- 주 저자
-
@lanceomni
게시일: 2009-01-22
- 소속 컬렉션
- Leopard 10.5
- 아카이브 기록 규모
- 누적 조회 334,965회 · 선별된 필드 노트 15건 (원본 게시물 20건에서 추출) · 2009-01-22 – 2012-11-26
- 참여 및 검증 멤버 (11)
- @lanceomni (7)@eMatoS (3)@oneshot (2)@pαuℓzurrr.@nfoav8or@CamEdwardo@Sokairyk@Taisto@ptesone@Thomasasz@gils
- 관련 하드웨어 참조
- SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗ AMD Radeon GPUs (QE/CI) ↗
DMG 디스크 이미지 마운트 오류 및 Sandbox.kext / Seatbelt.kext 버전 매칭 가이드
* 최종 업데이트: 2012년 11월 25일
문제 증상 (The Problem)
디스크 이미지(.DMG)를 마운트하는 도중 갑자기 발생하는 커널 패닉(Kernel Panic)은 현재 구동 중인 커널 버전과 시스템의 Sandbox.kext 또는 Seatbelt.kext 빌드 버전이 서로 일치하지 않을 때 발생합니다. 이 디스크 마운트 패닉 문제는 현재 사용 중인 커널 버전에 정확히 대응하는 순정 Seatbelt.kext / Sandbox.kext 빌드로 교체해 주는 것으로 완벽히 해결할 수 있습니다. 주로 비순정(Non-vanilla) 패치 커널을 사용하는 환경에서 가장 빈번하게 발생하는 고질적인 문제입니다.
Sandbox.kext와 Seatbelt.kext는 어떤 역할을 하나요?
두 Kext 모두 컴퓨터 보안의 샌드박스(Sandbox) 메커니즘을 커널 레벨에서 구현한 확장 기능입니다 (자세한 개념은 위키백과 Sandbox 문서 ↗ 참고). Seatbelt는 Apple이 과거 내부적으로 사용하던 코드명으로 Mac OS X 10.5 Leopard 시절까지 Seatbelt.kext라는 이름으로 쓰였으며, 10.6 Snow Leopard부터 현재까지는 Sandbox.kext라는 이름으로 변경되었습니다.
12.2.0 커널 -> 10.8.0 버전의 Sandbox.kext 필요 (drop box.com/s/xp8p79m4rwe4vod/Sandbox.kext1080.zip)
Version N/A Build N/A Source N/A
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
12.1.0 커널 -> 10.8.0 버전의 Sandbox.kext 필요 (drop box.com/s/xp8p79m4rwe4vod/Sandbox.kext1080.zip)
Version N/A Build N/A Source N/A
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
12.0.0 커널 -> 10.8.0 버전의 Sandbox.kext 필요 (drop box.com/s/xp8p79m4rwe4vod/Sandbox.kext1080.zip)
Version N/A Build N/A Source N/A
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
11.4.2 커널 -> 10.7.5 버전의 Sandbox.kext 필요 (drop box.com/s/a87rle8xf2uitvu/Sandbox.kext1075.zip)
Version 177.8 Build 3 Source 177008000000000
SHA1=67097f28b296f3cf6f452dd2de4f86f0353411cf
11.4.0 커널 -> 10.7.4 버전의 Sandbox.kext 필요 (drop box.com/s/9jcfrljqexzm96y/Sandbox.kext1074.zip)
Version 177.5 Build 11 Source 177005000000000
SHA1=639c01e5dbf243225612412b97af91d14dd085ed)
11.3.0 커널 -> 10.7.3 버전의 Sandbox.kext 필요 (drop box.com/s/rrusjrh9dtfut4k/Sandbox.kext1073.zip)
Version 177.3 Build 6 Source 177003000000000
SHA1=1cdb7b14492a7448f7e7dfe117bf86661a072196
11.2.0 커널 -> 10.7.2 버전의 Sandbox.kext 필요 (drop box.com/s/2ao8g03gf2haxdv/Sandbox.kext1072.zip)
Version 165.3 Build 2 Source 165003000000000
SHA1=2892f56c6f0e963bbdb9dd05a840e02cedb3e5e1
11.1.0 커널 -> 10.7.0 버전의 Sandbox.kext 필요 (drop box.com/s/pnmfbrcoyfwe4mo/Sandbox.kext1070.zip)
Version N/A Build N/A Source N/A
SHA1=67097f28b296f3cf6f452dd2de4f86f0353411cf
10.8.0 커널 -> 10.6.8 버전의 Sandbox.kext 필요 (drop box.com/s/rw1s1zco5aqmm0l/Sandbox.kext1068.zip)
Version 1 Build 86 Source 340100
SHA1=a4f5c98d747777781b92d12c517cdf18bc8b0692
10.7.0 커널 -> 10.6.7 버전의 Sandbox.kext 필요 (drop box.com/s/ebaa3scr9ay5ir5/Sandbox.kext1067.zip)
Version 1 Build 54 Source 340100
SHA1=f406659a15d084749b9d9274466a096bc9cf4b89
10.6.0 커널 -> 10.6.6 버전의 Sandbox.kext 필요 (drop box.com/s/lwbw3vbl32ei7jc/Sandbox.kext1066.zip)
Version 1 Build 13 Source 340100
SHA1=83e7e2f0882c0b0126ba8ddce8630b0a4375565f
10.5.0 커널 -> 10.6.5 버전의 Sandbox.kext 필요 (drop box.com/s/bd9e91x9923hdxf/Sandbox.kext1065.zip)
Version 1 Build 9 Source 340100
SHA1=ea657bd1b40d16e14d43aa11979b6efa5d3df0dc
10.4.0 커널 -> 10.6.4 버전의 Sandbox.kext 필요 (drop box.com/s/j5f4bbc0is95ktj/Sandbox.kext1064.zip)
Version 0 Build 300 Source 340000
SHA1=8ab3f051cf49387010e273f3b1eccd6f00935f8e
10.3.0 커널 -> 10.6.0 버전의 Sandbox.kext 필요
Version INSERT Build INSERT Source INSERT
SHA1=INSERT
10.2.0 커널 -> 10.6.0 버전의 Sandbox.kext 필요
Version INSERT Build INSERT Source INSERT
SHA1=INSERT
10.1.0? 커널 -> 10.6.0 버전의 Sandbox.kext 필요
Version INSERT Build INSERT Source INSERT
SHA1=INSERT
9.8.0 커널 -> 10.5.8 버전의 Seatbelt.kext 필요 (drop box.com/s/5ee21mbhdws4wsf/seatbelt.kext1058.zip)
Version 107.12 Build 78 Source 1071200
SHA1=02283813a609583a6de7c7895fce22a59a09a789
9.7.0 커널 -> 10.5.7 버전의 Seatbelt.kext 필요 (drop box.com/s/qf3w9v9xbbn4asr/Seatbelt.kext1057.zip)
Version 107.12 Build 63 Source 1071200
SHA1=fa50ed67f12d72c24ee28f61f1b971b0d13a407b
9.6.0 커널 -> 10.5.6 버전의 Seatbelt.kext 필요 (drop box.com/s/7s9xucltiu2e3hx/seatbelt.kext1056.zip)
Version 107.10 Build 45 Source 1071100
SHA1=2e9774fd74575f438a7d18b8805fff37a189ebaa
9.5.0 커널 -> 10.5.5 버전의 Seatbelt.kext 필요 (drop box.com/s/toezdlvdb78t2uf/seatbelt.kext1055.zip)
Version 107.10 Build 14 Source 1071100
SHA1=0e07c564d78b78327ee3f4c99fb96147986a04c8
현재 시스템에 설치된 커널 및 Kext 버전 확인 방법
터미널(Terminal)을 열고 다음 명령어를 입력하여 현재 구동 중인 Darwin 커널 버전을 확인합니다:
uname -a
OS X 10.8 Mountain Lion 환경:
Mountain Lion용 Sandbox.kext는 단일 버전 하나뿐입니다.
OS X 10.6 Snow Leopard ~ 10.7 Lion 환경:
현재 설치된 Sandbox.kext 바이너리의 SHA1 해시를 확인합니다:
openssl sha1 /System/Library/Extensions/Sandbox.kext/Contents/MacOS/Sandbox
OS X 10.5 Leopard 환경:
현재 설치된 Seatbelt.kext 바이너리의 SHA1 해시를 확인합니다:
openssl sha1 /System/Library/Extensions/Seatbelt.kext/Contents/MacOS/Seatbelt
출력된 SHA1 체크섬 값을 위 목록의 해시값과 대조해 보십시오. 소스 버전 및 SHA1 체크섬 정보는 각 항목 하단에 함께 기재되어 있습니다.
SHA1 체크섬은 특수 해시 알고리즘을 통해 생성되는 파일 고유의 지문입니다. 파일이 단 1바이트라도 변경되면 해시값도 완전히 달라집니다. Kext는 실제로는 디렉터리(폴더) 구조이므로 해시를 계산하려면 내부의 특정 단일 파일을 지정해야 하며, 여기서는 Kext 내부의 실제 실행 바이너리 파일을 대상으로 지정했습니다.
이 파일들의 출처는 어디인가요?
위에 제공된 모든 Kext 파일들은 Apple 공식 지원 사이트에서 받은 정식 업데이트 패키지로부터 Pacifist(다운로드: charles soft.com/)를 이용해 직접 추출한 순정 파일들입니다.
터미널을 이용한 수동 설치 방법 (Manual Installation)
저는 시스템 관련 핵심 파일들은 가급적 터미널에서 수동으로 직접 설치하는 것을 선호합니다. 각 파일이 어떤 역할을 하고 어느 경로에 들어가야 하며 어떤 소유권과 권한을 가져야 하는지 명확히 이해하는 데 큰 도움이 되기 때문입니다. 물론 이 과정을 대신해 주는 서드파티 유틸리티들도 많이 있습니다. (네, 아래 명령어들 중 일부가 중복 작업이라는 것을 아시는 분들도 계실 겁니다. 하지만 이렇게 확실하게 짚어주면 초보자분들의 질문이 확연히 줄어듭니다.)
요약 명령어:
다운로드한 Kext를 바탕화면(Desktop)에 올려둡니다.
(Leopard 사용자는 아래 명령어에서 "Sandbox"를 "Seatbelt"로 바꿔서 입력하세요.)
sudo -s
mkdir /backup/Sandbox
cd /System/Library
cp -R Extensions/Sandbox.kext /backup/Sandbox/Sandbox.kext
cp -R ~/Desktop/Sandbox.kext Extensions/Sandbox.kext
chmod -R 755 Extensions/
chown -R root:wheel Extensions/
touch Extensions/
rm -Rf Extensions.mkext
diskutil repairpermissions /
작업 후 부트 플래그로 -v -f 를 주어 재부팅합니다.
단계별 상세 설명:
1. 시스템 파일을 수정할 수 있도록 루트(root) 관리자 권한을 획득합니다.
sudo -s
2. 기존에 설치되어 있던 Kext의 백업본을 만듭니다. 먼저 루트 디렉터리에 "backup" 폴더와 그 하위 폴더인 "sandbox"를 생성합니다. 터미널에 다음과 같이 입력합니다:
mkdir /backup/sandbox
3. 작업 디렉터리를 /System/Library 로 이동합니다. 이후 입력할 명령어 길이를 줄여줍니다.
cd /System/Library
4. 기존의 Sandbox.kext를 새로 만든 "backup" 폴더 안으로 복사해 둡니다.
cp -R Extensions/Sandbox.kext /backup/Sandbox/Sandbox.kext
5. 바탕화면에 준비해 둔 새 Kext를 Extensions 폴더 안으로 복사해 덮어씁니다.
cp -R ~/Desktop/seatbelt.kext Extensions/seatbelt.kext
6. Extensions 폴더의 소유권을 root:wheel로 올바르게 설정합니다.
chown -R root:wheel Extensions
7. Extensions 폴더의 접근 권한을 755로 올바르게 설정합니다.
chmod -R 755 Extensions
8. Extensions 폴더의 수정 타임스탬프를 갱신(touch)합니다.
touch Extensions/
9. OS X가 부팅 시 새 Kext를 포함하여 확장 캐시를 강제로 다시 빌드하도록 기존의 확장 캐시 파일을 삭제합니다.
rm -Rf Extensions.mkext
10. 시동 드라이브의 전체 디스크 권한을 복구합니다.
diskutil repairpermissions /
11. 부트 플래그로 -v -f 를 입력하여 재부팅합니다.
-v (Verbose Mode): 부팅 과정의 상세 로그 정보를 화면에 표시합니다.
-f (Force Cache Rebuild): 캐시 파일을 무시하고 Extensions 폴더에서 직접 Kext들을 새로 읽어 들이도록 강제합니다. 앞서 캐시 파일을 수동 삭제했으므로 만일을 대비한 안전장치입니다.
더 짧은 명령어로 끝내는 방법도 있지만, 위 절차대로 따라 하시면 Kext 설치에 어려움을 겪는 분들이나 기타 권한 문제까지 한 번에 깔끔하게 해결될 것입니다.
서드파티 Kext 설치 유틸리티 (3rd Party Applications)
편의를 위해 서드파티 Kext 설치 도구들의 링크를 함께 남겨두니 본인의 판단하에 활용하시기 바랍니다.
KextHelper: mac update.com/app/mac/26865/kext-helper
KextWizard: http://www.insanelymac.com/forum/topic/253395-kext-wiza… ↗
KextBeast: http://tonymacx86.blogspot.com/2010/08/kextbeast-simple… ↗
Kext Drop: cin dori.se
당부 말씀: 본 게시물 내용과 관련된 질문을 개인 쪽지(PM)로 보내지 마십시오. 이 스레드에 직접 댓글로 질문을 남겨주시면 가능한 한 빠르게 답변해 드리겠습니다. 쪽지함이 수시로 꽉 차서 정작 원래 용도인 개인적인 연락을 주고받을 수가 없습니다.
커뮤니티 실측 및 기술 필드 노트
총 20개의 원본 스레드 응답 중 기술적 가치가 높은 15개의 필드 노트 수록
This was really necessary. It seems people don't know how to use the search function.
Thanks leanceomni.
This should probably be placed with the rest of the [How-To] guides. I'll leave that up to you (since you are also a moderator :)).
I agree... very well written.
I might place it there. I just posted it here and over on insanely as it seems, at least of there, that people post about this 12 times a day.
[EDIT] I wanted it to be visible in this part of the forum as you know people have the habit of getting tunnel vision and a fear of the search function if you catch my drift.
They made my post a sticky on insanely. If I see one more DMG mounting post over there Ill jump off a cliff
So doo I need to change my kernel first and then apply the seatbelt.kext?
I have 10.5.5 and installed voodoo 9.6.0
( I have the mounting issue)
So should I install voodoo 9.5.0 and then install the 10.5.5 seatbelt.kext?
If the 10.5.6 kernel works fine for you, you should update the kexts.
@oneshot
Did you mean you have Voodoo 9.5.0 or do you have a 9.6.0 derivative based on the Voodoo project. I know there are a few kernels out there based on Voodoo.
Basically if you are happy with your system and the only issue is DMG mounting then you will want to make sure your versions are meshing. Other than system.kext and seatbelt.kext, I do not know what other issues you may run into running a kernel that is ahead of the rest of your system. Ive only had experience running kernels older than the OS.
Just make sure that if you are running a 9.6.0 kernel you also have system.kext 9.6.0 & Seatbelt.kext from 10.5.6.
@lanceomini
I have OSX version 10.5.5
I installed the kernal based on voodoo that is version 9.6.0
I looked online for voodoo 9.5.0 but it comes in a .DMG so I cant install it…
Sure you can, once you mount the dmg you'll see a folder with the files. If you're on windows try opening the dmg with ultraiso.
Here is a link to the 10.5.6 Seatbelt.kext please follow the procedures in the first post on backing up your existing files & installing this kext.
rapid share.com/files/214657998/seatbelt_1056.zip.html
MD5: 9E0F7C03B9586AAD8B6A3162D71B8786
I try to use this when i type ''mkdir /backup/Seatbelt'' it says me this:
mkdir: /backup: No such file or directory
What am i doing wrong?
Sorry for my english
You`re actually trying to make a folder named "Seatbelt" inside the folder "Backup" which doesnt exist. Type :
mkdir backup && mkdir backup/seatbelt
this will do
The rapidshare link is still active.
Thomasasz,
[EDIT]removed private link[EDIT]
I am not sure if anyone is still having the kernel/sandbox DMG mounting issues but I noticed that my links were dead and needed updating.
Feedback is welcome. See first post in this thread.
@lanceomniI am not sure if anyone is still having the kernel/sandbox DMG mounting issues but I noticed that my links were dead and needed updating. Feedback is welcome. See first post in this thread.
hello,
for me the links seem to work well?
출처 및 기여자 이력 (등록된 기여자 11명 · 원본 스레드 #1992)
| 사용자명 | 기여 역할 | 게시물 수 | 활동 기간 |
|---|---|---|---|
| @lanceomni | 주 저자 | 7 | 2009-01-22 → 2012-11-26 |
| @eMatoS | 핵심 기여자 | 3 | 2009-01-22 → 2009-03-28 |
| @oneshot | 기여 멤버 | 2 | 2009-03-27 → 2009-03-28 |
| @pαuℓzurrr. | 기여 멤버 | 1 | 2009-01-22 |
| @nfoav8or | 기여 멤버 | 1 | 2009-01-22 |
| @CamEdwardo | 기여 멤버 | 1 | 2009-04-03 |
| @Sokairyk | 기여 멤버 | 1 | 2009-04-26 |
| @Taisto | 기여 멤버 | 1 | 2009-04-26 |
| @ptesone | 기여 멤버 | 1 | 2009-09-19 |
| @Thomasasz | 기여 멤버 | 1 | 2009-11-10 |
| @gils | 기여 멤버 | 1 | 2012-11-26 |