2010-09-24

USB 부팅 디스크 만들기

현재 시중에는 수많은 넷북과 슬림형 노트북 즉, CD/DVD 드라이브가 없는 제품들이 많이 나와 있습니다.  이것들은 가볍고, 작은 장점이 있으나, 하드디스크 전체를 날려먹었을때, 제공된 OS가 아닌 새로운 OS를 깔고 싶을때는 문제가 됩니다. 왜냐하면, 대부분의 OS는 DVD혹은 CD로 제공되니까. 그러면 어떻게 이 문제를 해결할까요?   그 해결책으로 많이 알려져 있는 방법인 USB 메모리와 CF/SD/Micro SD등을 이용한 방법을 살펴 보기로 하겠습니다.

이미 인터넷에는 수많은 USB메모리를 이용한 OS설치방법이 소개 되어져 있습니다.

1. CD영역 지정
'오토런 영역 지정' 이라고 하는 가장 확실하면서 간단한 방법으로 USB메모리의 일부 영역을 지정해서 ODD처럼 인식시키는 방법이며 바이오스의 부팅 순서 설정에서도 ODD로 인식된다고 합니다.(많이도 하는 방법이라 별 관심이 없어 해보지는 않았다.)  이 영역에 별도의 소프트웨어 툴을 이용하여 메모리가 가지고 있는 '펌웨어'를 약간 수정하고, OS설치 데이터를 집어넣어서 사용하는 것입니다. 몇몇 USB메모리의 컨트롤러(USBEST, SMI, OTI, Skymedi)는 이 기능을 위한 장치 에뮬레이션 기능과 디스크 공간의 분할 기능을 지원하며, 이를 수정함으로써 ODD를 USB메모리로 에뮬레이션 할 수 있는것입니다.

2. 그 외의 방법
그러면, 왜 우리들이 이미 많이 가지고 있는 CF/SD/Micro SD등은 안될까?
그 이유는 이들이 USB메모리와 달리 CD드라이브로 인식하게끔 할수 없기 때문입니다.
그러면 다른 방법은 없을까? 이번에 자세히 살펴 볼것이 이 바로 '다른 방법'입니다.


WinSetupFromUSB를 이용한 부팅 USB 만들기

정품 윈도우7에서 Boot USB 만들기

Grub4dos를 이용한 USB에서 XP설치

USB에 grub4dos를 사용해서 여러가지 긴급복구용 usb를 사용할때가 많은데 OS설치를 추가할때 vista는 문제가없는데 xp는 설치세팅을 하는게 살짝 곤란합니다.


일단 명령 프롬포트(cmd)를 열고 xp설치 CD의 I386폴더로 이동합니다. (VISTA 이상의 OS에선 안됨..-_-; vmware등에서 작업하세요)

USB의 드라이브 문자가 M이라고 가정합니다.

다음을 실행합니다.
winnt32.exe /noreboot /makelocalsource /tempdrive:M: /syspart:M: /unattend:winnt.sif
※무인설치가 아닐경우엔 뒤의 /unattend:winnt.sif를 뺌.


xp설치 프로그램이 뜨고 파일복사 작업후 프로그램이 자동 종료됩니다.

USB를 확인해보면 루트에 $WIN_NT$.~BT폴더랑 $WIN_NT$.~LS 폴더가 생성되어있고, BOOTFONT.BIN, textsetup.sif, NTLDR파일이 생성되어있습니다.


NTLDR을 xpinst_NTLDR 정도로 이름을 임의로 바꿔주고 grub의 menu.lst에 다음 메뉴를 추가
title XP Install
find --set-root /xpinst_NTLDR
chainloader /xpinst_NTLDR
boot
------------------------------------------------------

Windows 98 설치 , Hiren's BootingCD 추가


설치 시디에서 부팅 섹터만 빼내서, 외장하드에 복사 한 후,
title 표시명
find --set-root /부트 이미지 경로
map --mem /부트 이미지 경로 (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
를 Menu.lst에 추가하면 완료.


Windows XP 설치 추가
XP 설치 시디의 I386폴더에서
winnt32.exe /norebot /makelocalsource /tempdrive:Driveletter /syspart:DriveLetter
를 실행. DriveLetter는 외장하드 드라이브 명.


$WIN_NT$.~BT,$WIN_NT$.~LS,bootfont.bin, ntdlr이 외장하드에 생성되면 완료. 여기에
title 표시명
find --set-root /NTLDR
chainloader /NTLDR
을 menu.lst에 추가.

Windows7 or Vista 추가
설치 DVD에서 Boot, Source, bootmgr을 복사 한 뒤,
title 표시명
find --set-root /bootmgr
chainloader /bootmgr
을 menu.lst에 추가

98의 경우는 시디부팅과 같은 형태고, XP와 7은 바로 설치 모드로 들어간다. Vmware6.5서 외장하드로 설치 할 때 블루스크린을 뿜긴 하지만, 실제 머신에 설치할땐 이상없이 설치 가능.

추가 :
USB로 부팅시, usb, 혹은 외장하드가 C:\ 로 잡히는 것에 관하여,
map (hd1) (hd0)
map (hd0) (hd1)
rootnoverify (hd1,0)
makeactive
chainloader +1

Hiren's BootCDHiren's BootCD의 내용물을 전부 USB내의 HB폴더내로 복사한 후, Menu.lst를 열어 아래내용을 추가.

title Hiren's Boot CD 11.0
find --set-root /HB/HBCD/boot.gz
kernel /HB/HBCD/memdisk
initrd /HB/HBCD/boot.gz







VMWare를 이용한 USB 부트 테스트
USB부트 테스트를 하기 위하여 수 없이 재부팅을 하셨을 것입니다.
이제는 다른방법을 도입해야 할 때입니다.
이미 많은 분들이 이방법을 사용하고 있고, 저만 이번에 처음 알게 되는 것입니다.(ㅠ ㅠ)
일단 참고 사이트 부터
http://www.plop.at/en/home.html

VMWare는 사실 USB부팅을 지원하지 않습니다. Virtual 머신의 CMOS셋업에 들어가 봐도, USB부팅에 대한 옵션이 전혀 없습니다.
그럼 어떻게 할 수 있을까?
BIOS가 안되면, 일단 BIOS에서 부트로더를 실행하게 하고, 이 부트로더가 USB로 부팅하게 만들면 되는것입니다.
  • 가능한 부트로더
그럼 어떤 부트로더가 USB로 부팅하게 해줄 수 있을까요. 
첫째는 GRUB입니다. 사실은 자세히 살펴보지는 않았지만, 될것이라고 믿습니다.(무책임한가요?)
둘째는 바로 위에서 소개드렸던 Plop Boot Manager입니다. 설치는 CD이미지나, FDD이미지로 VMWare의 Virtual HDD에 설치하면 됩니다.

이러한 내용을 제가 스스로 밝혀냈을까요? 당연히 미스터 구글이 알려주었습니다.
참고 사이트 나갑니다.  http://www.ivobeerens.nl/?p=359


------------------------------------
참조 사이트
http://usboffice.kr/zbxe/
http://moviekidult.kr/325

No comments:

Post a Comment