설치 / 사용기

소프트웨어 grub으로 UEFI legacy에서 사용할 수 있는 멀티 부트 USB 만들기

2017.02.17 14:35

뽜이론 조회:1967 추천:9

오늘은 USB에 grub을 설치하는 것을  말하려합니다.

grub4dos도 좋은 부트로더이지만 아시다시피 UEFI 시스템에서는

사용 할 수가 없습니다.

 

UEFI 시스템에서 USB 혹은 하드디스크로 멀티부트를 하기 위해서는

grub을 설치하면 됩니다.

 

리눅스가 설치된 머신에서 작업을 하면 좀 더 수월하겠지만

grub을 usb에 설치하기 위해 리눅스를 설치하실 필요는 없습니다.

vm에서 리눅스를 라이브로 부팅하여 USB에  설치하는식으로

말씀드리겠습니다.

 

키보드만 잡으면이라는 말이 어울리는 컴을 겨우 키고 끄는

저의 친구녀석도 이방법으로 만들었으니 윈포에 계시는 분들이라면

어려운건 없으리라 생각합니다.

 

준비물은 vm과 리눅스 배포판 이미지 중 64비트로 빌드된 이미지가 필요합니다.

어떤 배포판이든 상관이 없지만 사용자 친화적이라는 우분투 민트 같은

데비안 후손들을 기준으로 설명하겠습니다.

 

기존에 vm에 윈도우가 설치 되어 있든 상관이 없으나 하드디스크와 파티션 구성이

어떨지 모르니 새로운 머신을 하나 만드십시오.

굳이 UEFI 모드로 만들지 않아도 됩니다.

 

준비된 USB를 윈도우에서 포맷을 하셔도 되고 기존의 사용하는 USB 파일시스템이 fat32라면

그냥 그것을 쓰셔도 되겠습니다, 혹 모르니 백업을 해 놓으시길 바랍니다.

 

USB는 파티션을 나눠서 사용 할 수도 있지만, 일부 iso이미지들은 ntfs에서 부팅시 멈춰버리는

경우가 있습니다. fedora가 그렇습니다. 권장은 fat32입니다.

여기서도 심플하게 설명하기 위해 단일파티션으로 사용하는걸 기준으로 말씀드립니다.

 

1. vm으로 리눅스 라이브 모드로 부팅합니다.

 

2. USB를 꽂고 vm에서 오른쪽 하단에 마우스를 가져가서 USB의 모델이름이 팝업 되는 곳에서

   오른클릭하여 vm에 연결해 줍니다.

 

3.터미널을 실행합니다.

 

4.루트권한을 얻습니다.

 

   sudo -i

 

5. vm의 연결된 물리적 장치를 확인해 보겠습니다.

lsblk

 

6. 새머신이라면 하드디스크가 sda

  USB가 sdb로 잡혀 있는 것을 확인합니다.

 

7. UEFI 시스템에서 grub이 사용할 모듈을 설치할  grub-efi를 설치합니다.

 

apt-get install grub-efi

 

y/n 이 나오면 y를 선택하여 진행합니다.

 

8. 이제 USB를 마운트 합니다.

 

mount /dev/sdb1 /mnt

 

9. 윈도우에서 fat32로 포맷을 했거나 이미 사용중인 USB가 fat32인 것을 기준으로

설명하는것이니 여기서 포맷은 생략 합니다만

usb루트에 이미 boot폴더가 있으면 소문자로 boot인지 확인합니다.

BOOT 이거나 Boot로 되어 있으면 boot로 변경 하여 주십시오.

 

10. usb 루트에 boot 폴더가 있는 분들은 이과정은 생략합니다

 

없는 분들은 boot 폴더를 만들어 줍니다.

 

mkdir /mnt/boot

 

11.이제 grub을 설치합니다.

 

grub-install --target x86_64-efi --efi-directory=/mnt --boot-directory=/mnt/boot /dev/sdb --recheck

 

(실제 머신에서 작업 하시면 --recheck 뒤에 --removable 옵션을 사용하셔도 됩니다.)

 

노에러 메시지가 나오면 설치된 것입니다.

 

aa.PNG

 

12.legacy에서도 사용 할 수 있도록 하기위한 모듈 설치를 하겠습니다.

 

grub-install --target=i386-pc --boot-directory=/mnt/boot /dev/sdb --recheck --force

 

bb.PNG

 

13.실제 머신에서 작업 중이라면 grub.cfg를  생성해줍니다.

grub-mkconfig -o /mnt/boot/grub/grub.cfg

 

vm에서 작업 하시는 분들은 /cow 에러가 나오니 하실 필요가 없습니다.

 

14. USB의 UUID 값을 확인합니다.

 

blkid /dev/sdb1

cc.PNG

 

마우스로 블럭을 설정한 후 오른클릭으로 copy합니다.

 

15. uuid값을 텍스트 파일에 저장하겠습니다.

 

nano /mnt/uuid.txt

 

nano가 실행되면 마우스를 가져가서 입력창에 오른클릭하여 paste해 줍니다.

 

그리고 ctrl+x를 누르고 y를 입력하고 저장합니다.

 

16.이제 마운트 되었던 usb를 마운트 해제합니다.

 

umount /mnt

 

16. 루트계정에서 로그아웃 합니다.

 

exit

 

17. 터미널을 종료하고 시스템도 종료합니다.

 

나머지 작업은 윈도우에서 하겠습니다.

 

18. 작업이 정상적으로 마쳐졌다면 USB루트에

boot폴더와 EFI폴더가 생성되어 있을겁니다.

그리고 boot/grub 폴더에 가보면 아래와 같은 구조로 되어 있을겁니다.

 

├── fonts
├── i386-pc
├── locale
└── x86_64-efi

 

19. 동봉된 grub.rar를 압축해제합니다.

 

거기서 grub.cfg 파일과 memdisk파일 그리고, grub.d , themes폴더를  USB의 boot\grub폴더에 복사합니다.

 

20. grub.cfg를 메모장으로 열기합니다.

 

편집 =>바꾸기를 선택해서   찾을 내용에 5678-5678 입력하고 바꿀내용에 uuid.txt에 적혀있는 xxxx-xxxx를 입력한 후

 

모두 바꾸기를 클릭합니다.

 

 

20. b.PNG

부팅 후의 모습입니다.

 

루트에 iso폴더를 만들고 그안에 각각의 예를 들어 debian arch gentoo같은 폴더를 만들어서 거기에 iso파일을 넣으면 저런 식의 메뉴리스트가

나오게 됩니다. 혹 메뉴가 나오지 않는다면 \boot\grub\grub.d폴더 안에 있는 설정파일을 메모장으로 열어 iso파일 이름과 거기에 적혀있는

파일 이름이 같은지 그리고 대소문자를 비교하시고 수정할 부분이 있으면 수정하시면 되겠습니다.

 

아이콘이 나오지 않는 경우는 \boot\grub\themes\icons폴더에 png파일이 없기 때문에 안나옵니다.

인터넷어서 적당한 사이즈의 png파일을 구한 후 설정파일인 grub.cfg와 grub.d폴더에 있는 inc-xxxx.cfg를

열어서 menuentry 로 시작 되는 부분을 찾아서 --class 뒷부분에 파일이름만 써주면 됩니다. 역시 대소문자 구분하기 때문에

같게 써줘야 합니다.

 

예를 들어 menuentry "Arch Linux Install 2016.01.01 x86_64" --class arch { 가 있다면

 boot\grub\themes\icons에 들어갈 파일 이름도 Arch가 아닌 arch여야 합니다

 

debian art, gnome-look과 같은 곳에서 테마 파일은 쉽게 구할 수 있습니다.

직접 만들어도 됩니다. themes폴더에 있는 themes.txt파일을 열어서 참조하십시오.

위의 테마 역시 gnome look에서 구한 것입니다.

 

지금과 같은 방법 이외에 usb를 gpt파티션 테이블로 구성한 후 gdisk로  legacy부트를 위한 1mb 정도의 하이브리드 파티션과 EFI파티션을

만들어 구성하는 법 sgdisk를 이용하여 typecode를 입력하여 만드는 방법등 몇가지가 있지만 간단한 방법을 소개하였습니다.

관심이 가는 분들은 sgdisk나 gdisk를 이용하는 방법도 시도해보시길 바랍니다.

 

앞서도 말씀드렸지만  리눅스 이용자라면 grub복구 시에 사용하는 것이니 당연히

리눅스가 설치되지 않은  하드디스크에서도 그대로 적용 할 수 있습니다.

응용하기 나름입니다.

 

그럼 여기까지 말씀드리고 이만 마치겠습니다.

감사합니다.

 

 

첨언:

 

windows pe 같은 경우 memdisk를 이용해서 iso로 부트 할 수도 있지만 UEFI에서는 쓸 모도 없고 메모리에 부담이 가기때문에

USB루트에 풀어서 chainloader 하는 방식으로 grub.cfg를 설정하였으니 windowsPE는 풀어서 루트에 위치 시키면 되겠습니다.

 

 

번호 제목 글쓴이 조회 추천 등록일
[공지] 사용기/설치기 이용안내 gooddew - - -
4585 윈 도 우| 무♥산 님의 열정이 담긴 윈도우와 PE 설치후 곧바로 멀티부... [19] 선우 2063 7 06-02
4584 기 타| 선우님의 감사한 PE를 수정해보았습니다 ! [11] 촌꼬마 874 3 06-02
4583 윈 도 우| 초저가 윈도우 10 정품 구입후기와 미국 마소 라이브챗 후기 [14] 사가문 2216 4 06-01
4582 윈 도 우| 배송 받은 선우님 PE 후기입니다.. [16] 은주얌 1055 4 06-01
4581 보안 / 해킹| 과태료 위반을 가장한 램섬웨어 주의 요망 [14] gooddew 2058 7 05-31
4580 윈 도 우| 윈도우10 RS2 공간음향 - DOLBY ATMOS 테스트 [6] 비설 3021 4 05-29
4579 윈 도 우| 윈10 rs2 설치시 사블카드문제로 롤백되는 문제 해결 [3] 비설 858 5 05-28
4578 윈 도 우| 윈도우 레드스톤3 빌드16199 사용기 [5] 달리기 1697 6 05-28
4577 소프트웨어| 도스 리커버리 1.8 테스트 [32] sunshine 2647 18 05-27
4576 윈 도 우| 선우님의 Win10PE Boot_Mini x86_USB 사용기 [28] John316 1836 9 05-26
4575 서버 / IT| 랜섬웨어 예방법 [11] gooddew 2514 9 05-26
4574 윈 도 우| 무♥산님 PE를 USB에 설치하기 [71] 선우 3127 18 05-22
4573 소프트웨어| 와! 144프레임으로 동영상을 보니 신세계네요! [12] bleach 2472 2 05-22
4572 소프트웨어| 한글 없이 hwp 열기(웹으로 간단히) [1] 컴맹이ⓗ 2055 3 05-21
4571 소프트웨어| Malwarebytes 설치오류 나시는분들... [3] bleach 788 4 05-21
4570 기 타| [왕초보님께] 패커(실행압축) 와 프로텍터 [7] sTarTrak 792 2 05-20
4569 윈 도 우| SUK님 Multi_Setup2.iso 사용해보자 [11] 바람타고산 1334 4 05-19
4568 소프트웨어| [추가 테스트] RSImageX 2.52 버전에 업데이트 설치 기능이... [24] suk 3786 12 05-14
4567 윈 도 우| 라이젠PC에서 윈도우7 화면 봤습니다.. [10] bleach 2755 5 05-14
4566 윈 도 우| 철이님 pe 에서 aimp 음악듣기 [4] [벗님] 710 2 05-13
XE1.11.6 Layout1.4.8