Quantcast
Channel: 우분투 한국 커뮤니티
Viewing all articles
Browse latest Browse all 4577

GRUB ISO이미지 - LIVE CD, 범용 ISO 부팅 및 OS 자동 검출

$
0
0
Author: protochaos
Forum: 자 료 실
Date: 2014-01-20

GRUB2 ISO 부팅이미지 :
grub-live-hybrid.iso.tgz

우분투에서 배포하는 ISO 파일이 700메가를 넘어가서 CD로 구울수 없고, USB를 만들어서 해야 하는데,
이 과정에서 애로사항을 호소하는 사람들이 많은 것 같아서, 설치를 하기 위한 최소한의 GRUB 이미지를 올려봅니다.
배포판 ISO에 들어 있는 부트로더가 ISOLINUX(SYSLINUX)이나 설치 후에는 이를 사용하지 않으므로, GRUB으로 부팅할 수 있는 이미지를 올린 것 입니다.

원래, grub-rescue-pc를 설치하면, grub-rescue-cdrom.iso, grub-rescue-floppy.img, grub-rescue-usb.img 파일이 설치됩니다.
그 중, grub-resuce-cdrom.iso를 받아서, locale과 font를 추가하고, grub.cfg 설정 파일을 변경하였습니다.
이것은 단순히 rescue 이미지로, 스크립팅이나 멀티부팅을 위한 설정이 안되어 있는 것을 변경한 것입니다.
이 파일은 본 iso파일에서의 작업이 아니라, 하드디스크를 검색해서 동작 합니다.

* 변경된 파일들 *
- 변경: /boot/grub/grub.cfg
- 추가: /boot/grub/default.cfg
/boot/grub/locale
/boot/grub/fonts

* 하드디스크에서 구성해야 할 디렉토리 구성 *
- /boot-images 리눅스가 아닌 일반적인 부팅용 ISO(예를 들어 윈도우즈PE나 파티셔닝시디)를 저장할 디렉토리로 이 디렉토리는 조각모음되어 있어야 합니다.
- /ubuntu-cd 우분투 ISO 이미지들을 저장할 디렉토리
- /grub4dos Grub4DOS 압축을 푼 디렉토리
- rescue.cfg 설정 파일로, 본 ISO에서 default.cfg를 복사해서 /boot/grub, /grub, / 등의 디렉토리에 이름을 바꿔서 저장

* 메뉴 구성 *
Select Ubuntu ISO (선택된 이미지)
==> /ubuntu-cd 디렉토리에 있는 우분투 ISO 파일을 검색합니다.
==> 우분투 ISO 파일을 자동 검색하여, 배포판(ubuntu/lubuntu등)과 32/64 비트에 따라, 자동으로 선택해주며,
==> 선택시 발견된 ISO 파일 목록을 보여줘서, 선택하게 됩니다.

Ubuntu ISO 자동 검색 부팅
==> 자동으로 선택되거나, 사용자가 선택한 우분투 ISO 파일로 부팅합니다.

ISO 부팅
==> /boot-images 디렉토리에 있는 ISO 파일의 목록을 보여주며, 선택시, Grub4DOS를 이용하여 부팅합니다.

Linux 검색 부팅
==> 하드디스크에 설치된 Linux를 검색해서 부팅합니다.

Windows 검색 부팅
==> 윈도우즈를 검색해서 부팅합니다.

DOS 검색 부팅
==> MS-DOS/FreeDOS를 검색해서 부팅합니다.

Grub4DOS로 전환
==>/grub4dos 디렉토리의 grub.exe를 사용합니다.
==> 부트로더를 Grub4DOS로 전환합니다.

* 설정 변경 *
/grub /boot/grub / 디렉토리에서 rescue.cfg를 검색해서 로드하고,
없으면, iso 이미지안에 저장된 default.cfg를 로드합니다.

그러니까, iso 이미지안에 있는 default.cfg를 위에 열거한 디렉토리 중의 한 곳으로 rescue.cfg로 복사하세요.
이후, rescue.cfg 파일의 Define Variables 부분과, Boot menu configuration 아랫부분을 수정하시면 됩니다.

* 하드디스크에 우분투를 설치하시려면 *

먼저, ubuntu iso 이미지를 /ubuntu-cd에 복사하신 후,
usb 부팅이미지를 부팅 가능하게 만드세요.
윈도우즈에서는 윈도우즈용 dd.exe(http://www.chrysocome.net/dd)를 사용하여,
dd.exe if=k:\mydir\xx.iso of=\\?\Device\Harddisk1\Partition0 명령으로 만드시면 되고,
리눅스에서는 dd if=mydir/xx.iso of=/dev/sdb 명령으로 만드시면 됩니다.
이후, usb로 부팅하시고, 부트메뉴에서 Install Ubuntu를 선택하시면 됩니다.

* USB를 멀티부팅하게 만드시려면 *

USB를 NTFS로 포맷 하시고, 라이브 시디나, 리눅스로 부팅하신 후,

mkdir t
sudo mount /dev/sdb1 t
sudo grub-install --root-directory=t /dev/sdb
sudo mkdir -p t/{ubuntu-cd,boot-images,grub4dos}
# + 우분투 ISO 및 기타 ISO 파일 복사
# + grub4dos 복사
mkdir iso
sudo mount grub-live-usb.iso iso
sudo cp iso/boot/grub/*.cfg t/boot/grub/
sudo umount iso
sudo gedit t/boot/grub/rescue.cfg
# 4G 크기의 라이브 저장공간 만들기
sudo dd if=/dev/zero of=t/casper-rw bs=1M count=4096
sudo mkfs.ext4 -F t/casper-rw
# 6G 로 늘리기
dd if=/dev/zero bs=1M count=2048 | sudo tee -a t/casper-rw
sudo resize2fs -f t/casper-rw
sudo umount t


리부팅 하신 후, Ubuntu Live를 선택하시면, 우분투가 USB에 설치된 것과 마찬가지로 업데이트가 가능합니다.

* 추천할 ISO 이미지 *
Acronis 백업/파티션 도구
System Rescue CD
Hiren's Boot CD
Minitools Partition Wizard
Snoopy Ghost
윈도우즈 리커버리 시디이미지 (winre)
Win7 User PE

cfg 파일을 분석하고, GRUB에 대해서 공부를 하시면, 다이나믹한 부팅환경을 만드실 수 있을 것입니다.

=====================================================
isomaster로 iso9660 파일 시스템으로 되어 있는 grub-rescue-usb.img를 변경해서 iso파일로 만들었더니,
HDD 이미지로는 인식이 안되네요.
그래서 grub-mkrescue로 만들었는데, 이건 CD 및 HDD 이미지로 모두 인식이 되는군요.
일명 하이브리드 이미지이고, QEMU에서 테스트했습니다.
하이브리드 이미지는 dd 명령으로, usb를 만들 수 있습니다.

Viewing all articles
Browse latest Browse all 4577

Trending Articles