최근까지 쓰다쓰다 너무 좁아져서 xSlimmer로 바이너리를 다이어트 해 보기도 했으나 결국 좁은 맥의 굥간을 넗게 만드는 삽질을 하고 말았다.

사실 삽질의 시작은 서핑을 하다가 노트북의 복구씨디에 적용된 라이센스를 백업 받아서 깨끗하게 설치 할 수 있다는 글들이 눈에 보였기 때문이다.
제품출하시 비스타 인증정보 백업/복원 - 디엔에이님
Clean Vista install WITH NO ACTIVATION - orev

거기에다가 Thinkpad의 RnR에 사용되는 bmgr32.exe를 이용해서 고스트 이미지를 놋북에 내장했다가 부팅시 특정 펑션키를 누르면 작동되게 하는 것을 보고 꼭 복구영역을 잘 작동하게 하면서 기존에 멀티 부팅이 번거로웠던 것을 해결하리라 마음 먹었다.

원버튼 복구 솔루션 - kmk0838님

일단 작업은 기존 비스타를 제거하고 맥공간을 늘린 후 비스타를 새로 설치할 생각이었으므로 위 링클를 참고해서 라이센스를 백업 받았다. 그런데 사실 설치하면서 알게 된 사실이지만 RnR안에 저장하는 라이센스 정보가 암호화 되어 있어서 이를 해독하여 파일을 뽁기는 힘이 들기에 oembios.net이란 곳이 있다. 저작권에 큰 문제를 일으키지 않는 이유는 이 라이센스 파일을 가지고 있어도 비스타를 인증하기 위해서는 해당 라이센스의 하드웨어를 가지고 있어야만 작동이 되기 때문이다. 즉 아무 컴퓨터에나 인증을 받을 수 없다.

맥은 iPartition으로 좁은 공간을 두배나 넓게 늘렸다. 시간은 생각보다 그리 많이 걸리지 않았다. 그리고 비스타 클린 설치 시작. 설치부터 고난의 연속이었다. 설치를 잘 하고도 위의 글대로 인증이 되지 않는것이었다. 그래서 3번은 설치한 듯 하다. ㅠ_ㅠ; 그래도 결국 인증을 받았다.

비스타 설치중에 한가지 안 사실인데 비스타는 설치시 자신이 들여다 볼 수 없는 파일 시스템 파티션이 액티브 되어 있으면 설치를 거부한다. ㅡ_ㅡ; 왜 그런지 이유는 모른다. 나 이외에 아무도 섬기지 말란 것인가???
그래서 결국 파티션의 액티브롤 없애고 했더니 넘어가더라.

이제 비스타 설치가 끝나고 비스타에 TP드라이버만 설치한 후 이미지 백업을 위해 BCWipe로 빈 공간을 모두 0으로 채웠다. 그리고 비스타 설치디스크로도 삭제하지 못하던 스왑파일과 하이버네이션 파일을 유닉스용 BCWipe로 역시나 0으로 채워 지운 후 Mac의 DiskUtility로 이미지를 뜨니 6기가 이미지가??? 왜 겨우 1.7기가밖에 하지 않지??? 놀라울 따름이다 이미지 잘 떠진건지도 모르겠다.

그리고 한가지 어려웠던 것이 복구영역 접근을 하게 해 주는 BMGR32.exe 설정이었다. 사실 알고보면 아주 어려운 것은 아니나 실제 많은 자료가 있지 않아서 여기저기 돌아다니면서 정보를 구했다. 비스타를 새로 설치하면 기존의 RnR복구영역 접근 MBR이 지워지는데 이게 완전히 다 지워지는게 아니라 큰데 작은게 덮어쓰는 식이라 여러번 하면 RnR복구 MBR저장공간이 모자라 나중에 RnR을 설치 할 수 없게 된다. 물론 나중에는 파티션을 로우이미지로 바로 건드리는 것으로 지우면 되지만 귀찮으니 주의해야 한다. 그리고 난감한게 과연 저 RnR에 있는 BMGR32.exe를 어떻게 나의 놋북에 맞게 설정을 해서 써야하는가가 걱정이었는데 대략 아래처럼 수행했다.

C:\Users\trip2me\Desktop>bmgr32.exe /V /Fbootmgr.bin /HS /P12 /M0 /THINK
installing MBR
finding free sectors
Sector 9 is free
Sector 10 is free
Sector 11 is free
Sector 12 is free
Sector 13 is free
Sector 14 is free
Sector 15 is free
Sector 23 is free
Searching for NTFS Service Partition...
Returning Partition number of mounted SP 0-3: 0
Here 1
Here 2
Applying hide changes
Hiding partition 0
Cannot hide the active partition 0.

C:\Users\trip2me\Desktop>bmgr32.exe /V /HS /P12
It's a Lenovo MBR
Searching for NTFS Service Partition...
Hidden Service Partition found at 0-3 : 0
Applying hide changes
Hiding partition 0

C:\Users\trip2me\Desktop>


그리고 아래는 보기 힘든 도움말이다. 커맨드창에서 도움말이 나오지 않았다.
또한 파일은 RnR설치후 로컬 드라이브의 디렉토리에서 구할 수 있다.
처음에는 몰라서 ThinkWiki를 참고해서 찾았다.

This program installs and/or modifies Xpoint Boot Manager. The boot manager file must be named boot.bin in the current directory or be specified with /F parameter.
This is the list of supported parameters:

[/S] : silent mode
[/?] [/H] : print this message
[/Fboot.bin] : use file boot.bin for boot manager
[/Mmenu.txt] : use menu.txt file for configuring boot manager
[/BS] : boot service partition on next boot
[/An] : set active partition to n immediately, n={1234}
[/V1] : unhide service partition
[/V0] : hide service partition
[/E1] : set hide flag for extended partition
[/E0] : clear hide flag for extended partition
[/D1] : set Xpoint mode - service partion alway UNhidden
[/D0] : clear Xpoint mode
[/R] : remove boot manager
[/T1] : set High Reliability (hide all on HD1)
[/T0] : remove High Reliability (unhide all on HD1)

[/U] : permanently unhide extended partition

No spaces between the /X and its parameter. For example /F boot.bin is not
correct

Do not combine /T1 or /T0 with any other options


BMGR의 신버젼 영문 도움말
===========================

The syntax for bmgr is: bmgr
Legacy switches:
/S : silent mode
/?, /H : print this help message
/Fboot.bin : install boot.bin as MBR
/Mmenu.txt : use menu.txt file for configuring boot manager
/BS : boot DOS service partition on the next boot
/An : set active partition to n immediately, n={1234}
/V1 : unhide service partition
/V0 : hide service partition
/E1 : set hide flag for extended partition - not implemented
/E0 : clear hide flag for extended partition - not implemented
/U : Never hide extended partitions - not implemented
/R : remove boot manager
New switches:
/AS : make Service Partition active
/B0, /B1, /B2, /B3, /BW: boot to partition 0, 1, 2, 3, or WinPE
/CFG: apply the config file changes for prompt, key scan code, delay
/Dn: Apply changes to drive n (n = 0 for 1st drive)
/H0, /H1, /H2, /H3, /HS: hide partition 0, 1, 2, 3, or SP
/Think, /OEM: define the computer manufacturer
/INFO: print out info
/M0, /M1, /M2: set mode, predesktop in 0=SP, 1=C:, 2=SP w/DOS
/U0, /U1, /U2, /U3, /US: unhide partition 0, 1, 2, 3, or SP
/P12: hide SP with type 12 - must be used with /Hx flag
/TOC:______ LBA location for the BIOS TOC
/Q: Quiet mode
/V: Verbose mode


--------------------------------------------------------------------------------

공개: BMGR32의 영문 도움말


The syntax for bmgr32 is: bmgr32
The optional arguments are:
/AS: Make the Service Partition Active
/B0, /B1, /B2, /B3, /BS, /BW: boot to partition 0, 1, 2, 3, DOS SP, or WinPE
/BWIN: Boot to Customer OS
/CFG: apply the config file changes for prompt, key scan code, delay
/Dn: Apply changes to drive n (n = 0 for 1st drive)
/DS: returns the data sector index (0 based)
/H0, /H1, /H2, /H3, /HS: hide partition 0, 1, 2, 3, or SP
/Think, /OEM: define the computer manufacturer
/INFO: print out info
/M0, /M1, /M2: set boot manager configuration mode, predesktop in 0=SP, 1=C:, 2=SP w/DOS
/U0, /U1, /U2, /U3, /US: unhide partition 0, 1, 2, 3, or SP
/F: install Lenovo MBR
/P12: hide Lenovo SP with type 12
/U: Uninstall Lenovo MBR
/UF: Forced Function
/Q: Quiet mode
/V: Verbose mode
/R: Reboot computer
/TOC:______ LBA location for the BIOS TOC
/TOCUninstall : Uninstall the TOC completely, disabling CIRT completely
/CIRTEnable : Enable the CIRT, will boot CIRT every boot
/CIRTDisable: Disable booting to the CIRT, but leave on system
/CIRTErrorHaltOn : If CIRT error is encountered, halt the computer
/CIRTErrorHaltOff : If CIRT error is encountered, do not halt the computer
/CIRTSkip : Skip loading the CIRT for one boot cycle
/REFRESH: Adjust partition indecies

/Think and /OEM cannot be set at the same time.



설정을 하고 나면 놋북이 켜지고 몇초간 F11이 눌러지는지 검사하다가 입력이 없으면 정상 시작을 한다. 키가 눌리면 복구 영역이 설치되는 그런 식이다. 단순히 GRUB이런것을 쓰면 쉬운데 TP에 TP전용의 버튼에 설정을 하려 하니 힘이 들었다. 작동이 한시름 놓을거 같았으나 이제 제일 큰 문제가 남아 있었다. 기존의 2번 중복을 하는 멀티부팅 화면을 하나로 줄여보자는 것.

해결의 실마리는 Grub for Dos에 있었다. 위 다음 블로그에 원터치 고스트를 작성하신 분이 언급해서 힌트를 얻었다.
사이트에 가서 다운을 받고 삽질을 하다가 메뉴얼을 보고 어찌해서 실행을 하게 만들었다. 그렇게 해서 맥을 비스타 부트 매니져가 고르면 바로 Grub for Dos가 뜨고 이게 바로 맥의 파티션을 활성화 하고 체인로더로 부팅을 한다.
Grub for Dos 설정은 윈도우의 Bcdedit를 이용해 설정했다.

그리고 나서도 마지막 한가지 문제가 남았었는데 활성화된 파티션이 맥이 되면 다시 재시작시 부팅이 에러가 나면서 멈춘다는 것이다. 소위 유명한 'HFS+ error'문제. 나자신도 어떻게 부트로더를 바꾸어서 정공법으로 바꾸어볼까 했지만 잘 되지 않았다. 결국 해결한 것은 처음 부팅시 싱글모드에서 시작되는 스크립트인 rc에 fdisk로 활성화 파티션을 바꾸는 명령을 집어넣어두는 것이었다.

그렇게 하고 나니 이제는 그런저럭 잘 부팅이 부드럽다. 예전에는 맥을 들어가는것을 보기 전엔 다른곳에 가지 못했는데 이젠 잘 된다.

쓸 내용이 많은데 하루종일 잠도 자지 않고 해서 정신이 없다. ㅠ_ㅠ/ 생일에 이게 무슨 난리굿이람.
Posted by trip2me
,