'grub'에 해당되는 글 1건

  1. 2009.03.08 외장 하드를 윈도우 설치용으로 만들기

외장 하드를 윈도우 설치용으로 만들기

|

필수로 필요한 것은 2가지 입니다.
Grub와 Grubinst입니다.

우선 외장 하드가 Grub를 실행할 수 있는 상태로 만들기 위하여
grubinst_gui.exe를 실행합니다.
  
해당 Disk를 선택합니다. 저같은 경우에는 3번째(0이 첫번째) 하드이네요.
그 후 Part List 우측의 Refresh를 클릭합니다.
 
저는 이미 구성을 해놨기 때문에 여러개의 파티션이 보이고 있습니다.
가장 첫번째의 Whole disk (MBR) 을 선택합니다.
MBR이 부팅 시작 시 맨 처음 읽히는 부분입니다.
 
그리고 Don’t search floppy 만 선택한 뒤에 Install을 클릭하면
Grub로 부팅이 이루어 지게 되도록 설정한 것입니다.
Grub는 부팅 유틸이라고 보시면 됩니다.

이제 Grub를 가장 첫번째 파티션에 풀어 놓도록 하겠습니다.
grldr  grub.exe   menu.lst
이 세 파일이 존재하는데 실제 웹사이트에서 받으면
더 많은 파일이 존재합니다. 하지만 이 파일만 가지고 처리가 가능하기 때문에
이 세가지 파일만 이용하도록 하겠습니다.
실제론 menu.lst 파일만 변경합니다.

우선 필요한 윈도우 갯수 만큼의 파티션을 만듭니다.
저 같은 경우에는 논리 파티션으로 만들어 놨습니다.
이제 UltraISO 같은 ISO 편집 툴을 이용하여
윈도우 이미지를 해당 파티션으로 복사합니다.
그냥 윈도우의 복사 기능을 선택하여 설치할 경우에
제대로 설치 되지 않을 수 있습니다.

복사를 한 이후엔 menu.lst파일을 편집하여 맞추어 주셔야 합니다.
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 cyan/blue white/blue
timeout 10
default 0

title Microsoft Vista Enterprise K with Service Pack 1 x86
find (hd0,4)/bootmgr
chainloader (hd0,4)/bootmgr

title Microsoft Vista Enterprise K with Service Pack 1 x64
find (hd0,5)/bootmgr
chainloader (hd0,5)/bootmgr

title Microsoft Server 2008 x86
find (hd0,6)/bootmgr
chainloader (hd0,6)/bootmgr

title Microsoft Server 2008 x64
find (hd0,7)/bootmgr
chainloader (hd0,7)/bootmgr

title Microsoft Windows 7 beta x86
find (hd0,8)/bootmgr
chainloader (hd0,8)/bootmgr

title Microsoft Windows 7 beta x64
find (hd0,9)/bootmgr
chainloader (hd0,9)/bootmgr

복잡해 보이지만 실제로는 쉽습니다.
처음에 #으로 시작하는 것들은 주석입니다.
color cyan/blue white/blue
timeout 10
default 0

그 뒤에 5번째 줄의 내용은 보여지는 색상을 지정하는 것입니다.
timeout은 변경하지 않으면 기본 설정으로 실행 됩니다.
default는 처음에 지정될 것입니다.
저는 10초 동안 입력이 없으면 맨 처음인 Vista Enterprise x86이 설치되게 해놨습니다.
title Microsoft Vista Enterprise K with Service Pack 1 x86
find (hd0,4)/bootmgr
chainloader (hd0,4)/bootmgr

이제 그 뒤의 내용이 중요합니다.
title은 보여지게 될 내용입니다. 부팅과 관련된 의미로 적어 넣는 것이 좋습니다.
find 는 다음파일이 있는지 검사를 합니다.
만약 없다면 다시 메뉴로 돌아오게 됩니다.
chainloader는 해당 파일을 실행(?) 한다고 보시면 됩니다.
find와  chainloader의 (hd0,4) 의 의미는 첫 번째(0이 첫번째입니다.) 하드의
다섯번째(역시 0이 첫번째이므로 4가 다섯번째를 의미합니다.) 파티션을 의미하는 것입니다.
위의 grubinst 설치에서는 hd2였지만 여기서 hd0으로 작성한 이유는
부팅시 F12(저의 경우입니다.)를 누르면 원하는 부팅 매체를 선택할 수 있습니다.
이 때 Usb 스토리지 를 선택하면 USB 외장 메모리 or 하드 가 첫번째로 선택 됩니다.
그렇게 때문에 여기서는 hd2가 아닌 hd0으로 작성합니다.
파티션 값은
주 파티션은 순서대로 0, 1, 2, 3 이 되며 
논리 파티션을 4 부터 순서대로 부여됩니다.
만약 주 파티션이 0만 있다 해도 논리 파티션은 4부터 시작됩니다.
저는 논리 파티션에 모두 몰아 놨습니다.
왜 이렇게 했는지는 다음 글을 보면 알 수 있습니다.
bootmgr는 vista, server 2008, windows7은 모두 동일한 파일로 부터 시작 됩니다.
만약 xp, server 2003 등의 하위 버전 윈도우의 경우에는
제가 아직 테스트 하지 않아서 잘 모르겠습니다.
아마 Dos 부팅 하도록 유도한 뒤에 setup.exe를 직접 실행하면 가능하지 않을까 합니다.

title , find , chainloader 를 필요한 만큼 작성하시면 됩니다.

이렇게 menu.lst 파일은 수정한 뒤에 재부팅 시 USB로 부팅 매체를 선택하여 부팅하면
윈도우 설치로 넘어가게 됩니다.

이제 위에서 설명하지 않은 제가 논리 파티션을 이용한 이유입니다.
외장 하드의 특성상 뺐다 꼽았다를 여러번 수행하게 됩니다.
이때마다 자동실행이 시작되어 윈도우 설치를 할지 여부를 물어보게 됩니다.
저같은 경우는 6개의 이미지가 있기 때문에 6번 물어보게 됩니다.
이렇게 물어보는 것을 없애기 위하여 자동실행을 막아야 하는데
내 PC의 자동실행은 막을 수 있어도 다른 사람 PC 까지 막을 수는 없습니다.
( 외장 하드로 데이터를 넘겨줄 경우 )
그렇기 때문에 원천적으로 실행을 막기 위해서는 파티션을 숨겨야 합니다.
숨기는 방법으로는 MBRWiz를 이용하면 숨길 수 있습니다.
우선 다운받은 MBRWiz를 풀고 cmd(혹은 command)를 실행합니다.
그런 뒤에 MBRWiz 경로로 이동합니다.
MBRWiz.exe /list
 
명령을 입력하면 현재 디스크 별 파티션의 내용이 보입니다.
저는 논리 파티션로 만들어 놨기 때문에 Disk: 2에 파티션 0과 파티션 1에 Extend로 보이지만
만약 주 파티션으로 만들었다면 Disk: 0 처럼 여러개로 보이게 됩니다.
파티션 1이 확장 파티션으로 논리 파티션의 정보를 가지고 있는 파티션이 되며
이 확장 파티션을 숨기게 되면 논리 파티션 전체가 숨겨지게 됩니다.
이제 숨기도록 하겠습니다.
우선 숨기기 전에 원래 파티션 Type값을 기억해야 합니다.
저의 경우엔 0Fh입니다. ( h는 16진수를 의미합니다. )
그래야 나중에 복원한 뒤 설치가 가능하게 됩니다. ( 숨겨진 상태에선 설치가 되지 않습니다. )
MBRWiz.exe /disk=2 /part=1 /type=12h
 
명령을 수행하면 파티션 타임을 변경할지 물어봅니다. Y를 눌러 변경하도록 합니다.
변경 후에 다시 MBRWiz.exe /list 명령을 수행하면
 
해당 파티션 타입이 변경된 것을 볼 수 있습니다.
이 파티션은 접근 할 수 없는 파티션으로 삭제 및 수정등의 모든 행동이 불가능해 집니다.
위에서도 언급 했듯이 이 상태로 윈도우 설치를 진행하게 되면
설치 중 윈도우 하드 디스크 선택에서 디스크 드라이버를 넣어달라고 합니다.
이는 파티션 정보가 윈도우가 인식할 수 없는 타입이기 때문에 나오는 것으로
우리는 이런 드라이버가 없기 때문에 설치에 돌입하기 전에 원복을 해야 합니다.
복구는 같은 방법으로
MBRWiz.exe /disk=2 /part=1 /type=0Fh
이렇게 하면 됩니다. ( 저는 확장 파티션이어서 0Fh입니다. )
참고로 NTFS는 07h이며 FAT32는 0Ch, FAT는 0Eh 입니다.
( 이 값이 운영체제 혹은 다른 여건에 의하여 상이할 수 있습니다.
철저한 현제 저의 운영체제에서의 값 입니다. )

And
prev | 1 | next