GRUB를 MBR 영역에 심어서 F12 자동 복구모드를 만들어보자[펌글]및 주인장 설치
컨텐츠 정보
- 14,096 조회
- 2 댓글
- 1 추천
- 목록
본문
GRUB를 MBR 영역에 심어서 F12 자동 복구모드를 만들어보자
http://snoopybox.co.kr/1390
============
menu.lst 설정파일
---------------
# This is a sample menu.lst file. You should make some changes to it.
# The old install method of booting via the stage-files has been removed.
# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux.
color blue/green yellow/red white/magenta white/magenta
timeout 30
default /default
title find and load NTLDR of Windows NT/2K/XP
fallback 1
find --set-root --ignore-floppies /ntldr
chainloader /ntldr
savedefault --wait=2
title find and load BOOTMGR of Windows VISTA
fallback 2
find --set-root --ignore-floppies /bootmgr
chainloader /bootmgr
savedefault --wait=2
title find and load CMLDR, the Recovery Console of Windows NT/2K/XP
fallback 3
find --set-root --ignore-floppies /cmldr
chainloader /cmldr
#####################################################################
title #####################################################################
title /pe_iso/W8PE_v3.0.iso
fallback 4
find --set-root /pe_iso/W8PE_v3.0.iso xxxx
map /pe_iso/W8PE_v3.0.iso (0xff) || map --mem /pe_iso/W8PE_v3.0.iso (0xff)
#map (hd0) (hd1)
#map (hd1) (hd0)
map --hook
chainloader (0xff)
savedefault --wait=2
title #####################################################################
title /pe_iso/POWER-UltimateUSB.iso xx win_pe ok
fallback 5
find --set-root /pe_iso/POWER-UltimateUSB.iso
map /pe_iso/POWER-UltimateUSB.iso (0xff) || map --mem /POWER-UltimateUSB.iso (0xff)
#map (hd0) (hd1)
#map (hd1) (hd0)
map --hook
chainloader (0xff)
savedefault --wait=2
title #####################################################################
title /pe_iso/POWER-UltimatePE_7_8_20130318.iso 00000000000
fallback 6
find --set-root /pe_iso/POWER-UltimatePE_7_8_20130318.iso
map /pe_iso/POWER-UltimatePE_7_8_20130318.iso (0xff) || map --mem /pe_iso/POWER-UltimatePE_7_8_20130318.iso (0xff)
#map (hd0) (hd1)
#map (hd1) (hd0)
map --hook
chainloader (0xff)
savedefault --wait=2
title #####################################################################
title /pe_iso/ko_windows_8_1_pro_vl_x86_dvd_2972653.iso oooooooooo
fallback 7
find --set-root /pe_iso/ko_windows_8_1_pro_vl_x86_dvd_2972653.iso
map /pe_iso/ko_windows_8_1_pro_vl_x86_dvd_2972653.iso (0xff) || map --mem /pe_iso/ko_windows_8_1_pro_vl_x86_dvd_2972653.iso (0xff)
#map (hd0) (hd1)
#map (hd1) (hd0)
map --hook
chainloader (0xff)
savedefault --wait=2
title #####################################################################
title /pe_iso/ko_windows_8_1_pro_vl_x64_dvd_2972004.iso
fallback 8
find --set-root /pe_iso/ko_windows_8_1_pro_vl_x64_dvd_2972004.iso
map /pe_iso/ko_windows_8_1_pro_vl_x64_dvd_2972004.iso (0xff) || map --mem /pe_iso/ko_windows_8_1_pro_vl_x64_dvd_2972004.iso (0xff)
#map (hd0) (hd1)
#map (hd1) (hd0)
map --hook
chainloader (0xff)
savedefault --wait=2
title #####################################################################
title #####################################################################
title /pe_iso/Win7_ultimate_k_x86_office2010.iso 0000000000000000
fallback 9
find --set-root /pe_iso/Win7_ultimate_k_x86_office2010.iso
map /pe_iso/Win7_ultimate_k_x86_office2010.iso (0xff) || map --mem /pe_iso/Win7_ultimate_k_x86_office2010.iso (0xff)
#map (hd0) (hd1)
#map (hd1) (hd0)
map --hook
chainloader (0xff)
savedefault --wait=2
title #####################################################################
title /pe_iso/ko_windows_7_ultimate_k_with_sp1_IE9_x86 x64_Hotfix_2013.01.13.iso xxxxxxxxx
fallback 11
find --set-root /pe_iso/ko_windows_7_ultimate_k_with_sp1_IE9_x86 x64_Hotfix_2013.01.13.iso
map /pe_iso/ko_windows_7_ultimate_k_with_sp1_IE9_x86 x64_Hotfix_2013.01.13.iso (0xff) || map --mem /pe_iso/ko_windows_7_ultimate_k_with_sp1_IE9_x86 x64_Hotfix_2013.01.13.iso (0xff)
#map (hd0) (hd1)
#map (hd1) (hd0)
map --hook
chainloader (0xff)
savedefault --wait=2
title #####################################################################
title /pe_iso/win7_sec_x86.iso xxxxxxxxx
fallback 12
find --set-root /pe_iso/win7_sec_x86.iso
map /pe_iso/win7_sec_x86.iso (0xff) || map --mem /pe_iso/win7_sec_x86.iso (0xff)
#map (hd0) (hd1)
#map (hd1) (hd0)
map --hook
chainloader (0xff)
savedefault --wait=2
title #####################################################################
title /pe_iso/win81_sec_x64.iso xxxxxxxxx
fallback 13
find --set-root /pe_iso/win81_sec_x64.iso
map /pe_iso/win81_sec_x64.iso (0xff) || map --mem /pe_iso/win81_sec_x64.iso (0xff)
#map (hd0) (hd1)
#map (hd1) (hd0)
map --hook
chainloader (fd0)+1
savedefault --wait=2
title #####################################################################
title /win81_sec_x64.iso
fallback 14
find --set-root /win81_sec_x64.iso
map /win81_sec_x64.iso (0xff) || map --mem /win81_sec_x64.iso (0xff)
#map (hd0) (hd1)
#map (hd1) (hd0)
map --hook
chainloader (0xff)
title #####################################################################
title /pe_iso/win7_sec_x86.iso
fallback 15
find --set-root /win7_sec_x86.iso
map /pe_iso/win7_sec_x86.iso (0xff) || map --mem /pe_iso/win7_sec_x86.iso (0xff)
#map (hd0) (hd1)
#map (hd1) (hd0)
map --hook
chainloader (0xff)
title #####################################################################
title commandline
commandline
title floppy (fd0)
chainloader (fd0)+1
rootnoverify (fd0)
title back to dos
quit
title reboot
reboot
title halt
halt
==========================
1. 초보 분들은 가급적 따라하지 마시길 바랍니다. 부팅되지 않아도 제가 책임지지 않습니다.
2. 어둠의 비스타, 윈도우 7 사용자들은(가상 바이오스 방식) 이 글을 따라할 수 없습니다.
예전부터 한번 다뤄야겠다고 생각했던 내용인데 그동안 미루어 오다 오늘에야 다루게 되었습니다. 이 글은 아크로니스 트루 이미지의 시큐어존이나, 대기업 OEM 컴퓨터에 심어져 있는 시스템 복원 모드를 흉내내기 위한 가이드입니다. 예전에 한번 F11 고스트 자동복구 IBM 부트매니저 BMGR 글을 올린 적이 있는데 저 글에 사용되는 방식은 조금 까다로워서 저는 별로 추천하지 않습니다. 하지만 오늘 소개해드릴 GRUB4DOS는 범용성 면에서 추천할만하고 위험부담도 크지 않습니다. 제가 많은 경험을 해보지 못했기 때문에 다른 단점은 잘 모르겠습니다만, 굳이 단점을 꼽으라면 IDE 하드와 호환이 잘 안 된다는 것과 어둠의 비스타나 윈도우 7 유저들은 이 방식을 사용할 수 없다는 것입니다. 물론 어둠의 유저 모두를 말하는 것은 아니고 가상 바이오스 방식만 해당합니다. 둘다 GRLDR이기 때문에 양립할 수 없습니다. 따라서 이 방법을 쓰려면 어둠의 인증을 포기해야 합니다. 방법은 기존 어둠의 GRLDR 대신에 진짜 GRLDR을 덮어 씌우는 것입니다. 제가 GRLDR 파일 이름을 다른 것으로 변경해서 적용해봤는데 VMware에서는 어둠의 GRLDR을 읽지 못하고 프리징 걸리더군요. 실제 컴에서는 어떨지 모르겠습니다만 제가 확인해봐야 할 사항은 아니죠? 선택은 여러분의 몫입니다.
1. MBR 업데이트
우선 아래 준비물을 받으시고 압축을 풀어주세요.
grubinst_gui.exe 파일에 우클릭 해서 관리자 권한으로 실행합니다. 그런 다음 먼저 Disk 부분에서 부팅용 하드를 선택합니다. 일반적으로 (hd0)번 하드가 부팅 하드겠죠. 그런 다음 아래 그림처럼 설정하시면 됩니다.
Don't search floppy
부팅시 컴퓨터에서 GRLDR 파일을 찾을 때, 플로피 드라이브는 무시하라는 말입니다.
Previous MBR first
기존 MBR은 기본 부팅으로 두고, GRUB는 핫키를 눌러야 진입할 수 있도록 설정하기 위해 체크합니다.
Timeout
GRUB로 부팅하려는 경우 핫키를 누를 수 있는 시간입니다. 2~3초 정도면 적당하겠죠? 아무 키도 누르지 않거나 핫키로 지정하지 않은 다른 키를 누르는 경우 바로 기본 윈도우로 부팅이 됩니다. 이 기능이 바로 트루이미지의 시큐어존이나 대기업 PC의 복구모드와 비슷한 부분입니다. 윈도우로 부팅하기 전에 먼저 MBR 단계에서 GRUB를 읽어들이기 때문에 윈도우가 망가져도 복구하는데 별 문제가 없습니다. 다만 복구를 위한 파일은 안전한 곳에 두는게 좋겠지요? 보통 대기업 PC는 숨김 파티션을 따로 만들어서 거기에 복구 영역을 심어두는데 저는 굳이 그럴 필요가 없다고 생각합니다. 그래도 일단 C는 언제든지 날아갈 수 있으니 복구 파일은 적당히 D 드라이브에 두시면 되겠습니다.
Hot Key
핫키는 각자 마음대로 지정하세요. 저는 예를 들기 위해 F12로 지정해봤습니다.
이대로 Install 누르시면 MBR 영역이 업데이트 됩니다. 아래 그림처럼 나와야 정상이겠죠?
여기까지 했다면 이제 부팅시 F12 키를 누르게 되면 하드에서 GRLDR 파일을 찾습니다. 그런데 만약 GRLDR 파일 이름을 다르게 바꾸어서 사용하고 싶다면 (예를 들어 snoopy) MBR에 심으실 때 Boot File 부분에 파일 이름을 적어주시면 됩니다. 그러면 그 변경된 이름의 파일을 찾게 됩니다.
준비물에 있는 GRLDR 파일과 menu.lst 파일은 루트에 복사합니다. 저는 D 드라이브 루트에 두겠습니다.
일단 저렇게 MBR에 심어두면 부팅시 어떻게 되는지 스샷을 보여드리겠습니다.
바로 위 화면이 여러분들이 원하시던 그 화면입니다. F12 버튼을 3초 안에 누르면 GRUB로 진입하고 그렇지 않으면 그냥 윈도우로 부팅이 됩니다. 여기까지 하셨으면 일단 절반은 성공한 것입니다.
2. MENU.LST 파일 편집
이제 menu.lst 파일을 편집해야 합니다. 이 파일은 GRUB4DOS에 들어있던 원본 파일인데 GRLDR 파일과 함께 작동해서 멀티부팅 메뉴를 구성합니다. 이 파일을 어떻게 구성하느냐에 따라 F12 복구모드의 활용성이 결정됩니다.
GRUB4DOS에 익숙하신 분들은 메뉴 편집을 잘 하시겠지만 초보 분들은 조금 어려울 수도 있습니다. 하지만 기본 골격이 다 갖춰져 있기 때문에 유심히 살펴보면 어떻게 편집해야 할지 감이 오실 것입니다. 일단 이 파일을 편집하지 않고 그대로 사용하는 경우 멀티부팅 메뉴는 아래와 같이 됩니다.
메뉴를 보면 XP, 비스타 (세븐도 해당), 9x, ISO, 플로피 등 참 다양하게 있죠? 이게 바로 GRUB의 최대 장점입니다. 특히 ISO 파일을 로딩할 수 있다는 점이 가장 큰 매력이라 생각되는데 이를 활용하면 트루이미지 복구 CD나 하이렌 부트 CD 등으로 진입할 수 있습니다.
일단 제가 예제를 보여드리겠습니다. 저는 D 드라이브에 GRUB 라는 폴더를 만들고 그 안에 복구 관련 ISO, IMA 파일을 넣어두겠습니다. GRLDR 파일과 menu.lst 파일은 D 드라이브 루트에 두었습니다.
그런 다음 menu.lst 파일은 아래와 같이 구성하겠습니다. 쓸데 없는 메뉴들은 다 지웠습니다.
title Hiren's.BootCD.10.6
find --set-root /GRUB/HBCD.ISO
map /GRUB/HBCD.ISO (0xff) || map --mem /GRUB/HBCD.ISO (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
title Acronis True Image Home 2010
find --set-root /GRUB/ACRONIS.ISO
map /GRUB/ACRONIS.ISO (0xff) || map --mem /GRUB/ACRONIS.ISO (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
title snoopy GHOST R3
find --set-root --ignore-floppies /GRUB/GHOST.IMA
map --mem /GRUB/GHOST.IMA (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
이대로 부팅해서 F12 키를 눌러봤습니다. 메뉴는 아래와 같이 나옵니다.
아래는 각각의 메뉴로 진입한 화면입니다. 테스트 결과 3가지 전부 정상 작동하였습니다.
이제 어느 정도 감이 오셨나요? 이처럼 GRUB는 매우 강력한 로더이기 때문에 메뉴를 어떻게 편집하느냐에 따라 무한한 활용성을 가지고 있습니다. XP 유저의 경우 이걸로 윈도우 7 하드에서 설치를 할 수 있습니다. 제가 오래전에 처음으로 하드에서 설치하기 방식을 대중화 시켰던 방법이 바로 이 GRUB4DOS를 버추얼 FDD와 결합해서 만든 것이었습니다. 최근에는 버추얼 FDD를 사용하지 않고 XP 멀티부팅에 바로 등록시키는 방식을 활용하고 있지만, 버추얼 FDD가 확실히 간편하긴 합니다.
이쯤 되면 이제 ISO 파일을 GRUB에서 마운트한 다음 XP를 하드에서 설치하는 건 안 되겠냐고 호기심을 가질 분들 분명 계실 것입니다. 하지만 안타깝게도 그건 안 됩니다. 해보시면 아시겠지만 블루스크린 뜹니다. 물론 이것도 XP 원본을 약간 손대서 하는 방법이 있던데 저는 귀찮아서 테스트해보지 않았습니다. XP 설치에는 사랑스런 USB CD영역이 있는데 굳이 고생해서 실험해보고 싶지는 않더군요.
3. 고수들의 영역
menu.lst 파일을 사용하지 않고 F12 키를 눌렀을 때 바로 단일 부팅메뉴로 들어가도록 하려면 어떻게 해야 할까요? 물론 menu.lst 파일에 단일 부팅항목만 넣어주셔도 되겠지만 어쨌든 파일 하나라도 더 줄이면 루트가 덜 지저분해지니 이걸 원하시는 분들도 분명 계실 것입니다. 별로 어렵지 않습니다. GRLDR 파일을 HEX 에디터로 편집하시면 됩니다. 저는 UltraEdit을 사용합니다. GRLDR 파일 가장 끝 부분에 보시면 pxe로 시작되는 부분이 있습니다. 거기부터 바로 부팅항목을 적어주시면 됩니다. 미리 항목을 메모장에서 작성한 다음 전체를 복사해서 바로 붙여주시면 됩니다.
위 순정 GRLDR 파일을 제가 아래 그림처럼 수정해봤습니다. 이러면 GRUB 폴더에 들어있는 GHOST.IMA 파일을 찾아 바로 부팅하겠죠? 나머지 pxe로 시작해서 뒤로 밀린 영역은 그냥 잘라내기 해서 삭제했습니다.
4. 제거하는 방법
마지막으로 MBR 영역에서 GRUB를 제거하는 방법입니다. 아주 간단합니다.
Restore from PrevMBR에 체크하고 Install 누르시면 복구가 됩니다. 그러면 더이상 부팅시 복구모드 진입 메시지가 뜨지 않습니다.
이 방법 말고 윈도우 7 DVD에 들어있는 bootsect.exe 파일로도 복구할 수 있습니다. 제가 자주 사용하는 파일이죠. 별다른 것은 없고 뒤에 /MBR 옵션만 추가해주시면 됩니다. 일단 이 파일은 그냥 첨부해드리겠습니다.
위 파일을 C:\Windows 폴더에 넣어두시고 (환경변수 PATH로 지정된 경로 아무 곳에나) 명령 프롬프트를 관리자 권한으로 띄웁니다. XP는 그냥 띄우면 됩니다.
bootsect /nt52 sys /mbr - 윈도우 XP 유저
bootsect /nt60 sys /mbr - 윈도우 7, 비스타 유저
이렇게 입력하시면 아래 그림처럼 나옵니다.
저기 보이는 \Device\Harddisk0\DR0 이런 비슷한 메시지가 꼭 나와야겠죠? 그래야 디스크의 MBR 영역이 업데이트 됩니다.
오랜만에 장문의 가이드를 작성했습니다. 사실 그림이 많아서 그렇지 내용은 그리 많지 않습니다. 그래도 이거 작성하는데 시간은 엄청 걸렸습니다. 계속 테스트를 반복하면서 글을 작성하니까요. 혹시 잘못된 점 있다면 알려주세요. 저는 VHD 매니아에 외장하드를 복구용으로 따로 쓰니까 사실 GRUB를 사용할 일이 없습니다. 하지만 이거 히든파티션 걸어서 자동복구 셋팅 해두면 컴 장사하시는 분들 편해지실 듯 하네요. ^^
■ 11q.kr은 정보를 찾아 공유 합니다. https://11q.kr
관련자료
-
링크
-
첨부등록일 2014.05.01 00:02