메뉴 건너뛰기

× ◈ 공지 ◈ 후원내용 하나 추가 합니다   [후원 공지]참여 바랍니다

오에스매니아

06

2018-May

정보 grldr(grub4dos)로 여러개의 bcd로 부팅

작성자: 랑새 조회 수: 626 PC모드

bootmgr은 efi가 아닌이상은 무조건 /boot/bcd파일을 불러와서
실행을 해줍니다.
다른 설정을 할수가 없어요.

그래서 많은 사람들이 울며겨자먹기로 이 /boot/bcd파일을 편집에서
여러메뉴를 추가하죠.
(여러종류의 PE나 설치용으로)

그런데 grldr을 이용해야 하는 경우에는
grldr로 뜨고 난 다음에 다시 bootmgr로 가서 또 메뉴를 선택해야 하는
불편이 있었죠.

그래서 아예 grldr에서 바로 원하는 wim(bcd)으로 부팅할수 있는 방법입니다.


bcd파일을 여러개를 가지고 있고 bootmgr이 이 여러개의 bcd중에 선택할수 있도록 해주면 되겠죠.

1. bootmgr이 디폴트인 bcd가 아닌 다른 파일을 불러오도록 패치를 단행해야 하는데
   bootmgr은 자체 hash를 가지고 있어서 변형이 되면 에러가 나도록 되어 있습니다.
   일단 이부분을 무력화시켜야 합니다.
   저 같은 경우 Windows7 SP1 의 bootmgr로 적용시켰습니다.
   checkrange 0x5db2a read 0x82d8 > nul && write --offset=0x105E (rd)+1 \xEB
   menu.lst에 이렇게 넣어도 되고 아예 HxD같은 편집기로 열어서 수정하고 저장해 놓으셔도 됩니다.
   (위에 구문은 rd에 로딩한 파일 사이즈가 383,786Byte짜리 bootmgr이라면 0x105E에 0xEB를 기록해라 합니다.)
   요즘 WIndows 10 의 bootmgr은 못찾았습니다. 7버젼용이라고 전 별 불편함이 없네요.

2. bcd자체에도 체크하는 부분이 있습니다.
   bootice에서는 무결성 검사하지 않음 을 체크하시면 됩니다.
   (또는 bcdedit -store bcd -set {bootmgr} nointegritychecks 1)
    무결성.png


3. 그리고 이제 menu.lst에 적용시켜 볼까요.

  iftitle [if exist /BOOT/WIM/Win7PE.wim] Win7PE\n * Win7PE.wim을 로딩해 부팅합니다.\n\n * 512M일때도 사용할 수 있습니다.\n
  map --mem /boot/bootmgr7 (rd)
  write --offset=0x54735 (rd)+1 7
  chainloader (rd)+1
  
  이렇게 하면 해당위치에 Wim파일이 없다면 아예 이 메뉴 항목이 안 보입니다.
  Wim이 있다면 /boot/bc7 이라는 파일을 bootmgr이 불러와서 부팅해 줄겁니다.
  
  또 Win10 을 해봅시다.
  iftitle [if exist /BOOT/WIM/Win10PE.wim && if exist /BOOT/b10] Win10PE\n * Win10PE.wim을 로딩해 부팅합니다.\n\n
  map --mem /boot/bootmgr7 (rd)
  write --offset=0x54733 (rd)+1 1
  write --offset=0x54735 (rd)+1 0
  chainloader (rd)+1
  
  이거역시 wim파일이 없다면 아예 메뉴항목이 보이지 않고
  wim이 있다면 /boot/b10 이라는 파일을 bootmgr이 불러와서 부팅해줍니다.
  (물론 사전에 b10파일은 Win10PE.wim을 불러오도록 편집은 해 놓아야겠죠. 무결성도 함께)

  이런씩으로 해당 wim에 그 wim만 설정된 bcd파일을 따로따로 관리한다면 훨씬 편해지겠죠.

추가1. grldr을 이용한다면 iso로 바로 부팅할수도 있습니다.
  난 폴더 신경쓰지 싫고 그냥 iso로 부팅하고 싶다면
  
  iftitle [if exist %ISOS%/WIN7PE.ISO] WIN7PE ISO\n * WIN7PE - ISO를 메모리에 로딩해 부팅합니다.\n\n * 512M 이하일때는 사용할 수 없습니다.\n
  set ISO=%ISOS%/WIN7PE.ISO
  ls %ISO% || find --set-root %ISO%
  map %ISO% (0xff) || map --mem %ISO% (0xff)
  map --hook
  chainloader (0xff)/BOOTMGR || chainloader (0xff)
  
  리눅스는 부팅시에 다시 체크하기 때문 partnew방법으로 해야 합니다.
  iftitle [set ISOS=/BOOT/ISOS && if exist ISOS] \t iso boot ----------
  root
  iftitle [if exist %ISOS%/CentOS-7-x86_64-LiveGNOME-1708.iso] CentOS-7-x86_64-LiveGNOME-1708(1.2G)\n * RHEL을 완벽에 가깝게 반영하는 것을 목적으로 만들어진 배포판. \n   Yum을 통해 소프트웨어를 업데이트할 수 있으며 사용하는 꾸러미 형식은 RPM이다.\n * GNOME은 편하고 빠릿빠릿하며 직관적인 반면\n   GUI 상에서 세팅 가능한 부분이 거의 없다.
  set ISO=%ISOS%/CentOS-7-x86_64-LiveGNOME-1708.iso
  ls (hd0,3)/ && echo WARNING: PTN TABLE 4 IS ALREADY IN USE! && pause && configfile /boot/grub/menu.lst
  ls (hd0,3)/ || partnew (hd0,3) 0 0 0
  ls (hd0,0)%ISO% && partnew (hd0,3) 0x00 %ISO%
  map %ISO% (0xff)
  echo -e \r\n
  map --hook
  root (0xff)
  chainloader (0xff)
  
  리눅스도 partnew를 이용하지 않고 바로 커널로 부팅할수도 있습니다.
  iftitle [if exist %ISOS%/tails-amd64-3.6.2.iso] tails 64 3.6.2\n * 테일스(The Amnesic Incognito Live System, TAILS)\n\n * 익명성과 프라이버시를 위한 데비안 기반의 운영 체제
  set ISO=%ISOS%/tails-amd64-3.6.2.iso
  ls %ISO% > nul || find --set-root --devices=hf %ISO%
  map %ISO% (0xff) || map --mem %ISO% (0xff) || map --mem --heads=0 --sectors-per-track=0 %ISO% (0xff)
  map --hook
  root (0xff)
  kernel /live/vmlinuz findiso=%ISO% boot=live config live-media=removable noprompt timezone=ROK block.events_dfl_poll_msecs=1000 splash nox11autologin module=Tails quiet splash
  initrd /live/initrd.img
  root (bd)

추가2. grldr이 강력하기 때문에 실사용 컴퓨터에서는 별로 사용할일이 없지만 USB에서는 거의 사용하게 되는데요.

  USB로 부팅을 했는데 다시 PC의 하드로 부팅하고 싶다면 이렇게 할 수도 있죠.
  title Boot from HardDisk\n * 컴퓨터에 장착된 하드디스크로 부팅합니다.
  map (hd0) ()
  map (hd1) (hd0)
  map --rehook
  chainloader (hd0)+1
  rootnoverify (hd0)

  디스크 이미지에 도스용 고스트를 넣어놓고 도스로 부팅해도 되죠.
  title Ghost 11\n * Ghost 11.5 - DOS Mode 에서 Ghost를 실행합니다.\n * Mouse를 지원합니다.\n * 도스 부팅시에 USB를 인식하지 못할 수도 있습니다.\n * DATA.IMG파일에 파일을 넣어두면 B:로 인식합니다.
  map --mem /BOOT/IMAGES/GHOST11.IMG (fd0)
  ls /BOOT/IMAGES/DATA.IMG && map --mem /BOOT/IMAGES/DATA.IMG (fd1)
  map --hook
  chainloader (fd0)+1
  rootnoverify (fd0)

자료만 받아갈줄 아는 회원님들께, 개발자님들에게 최소한의 경우는 우리가 피드백으로 보답하는 겁니다

문제가 있던 없던 그동안 고생하신 것을 생각하여 피드백 작성을 부탁 드립니다
profile

나비꿈을꾸다

2018.05.07 08:13
아주 유용하네요. 덕분에 잘 배웠습니다.
profile

감사해요

2018.05.07 10:21
강좌 감사 드립니다
profile

성아르미르

2018.05.10 09:47
감사합니다
List of Articles
번호 제목 글쓴이 날짜 조회 수
494 일반 포터블용 한글에서 수식폰트를 제대로 쓸수있습니다. + 9 Mania 05-13 437
493 정보 PE의 미디어파일 우클릭메뉴를 깔끔하게 고쳐봤습니다. + 4 Mania 05-12 467
492 PCTip 칼퇴를 부르는 윈도우 치트키?! + 41 구피 05-10 1934
491 정보 구형 NAS(XP공유폴더)같은 SMBv1 접속하는 여러가지 방법 file + 5 랑새 05-08 632
490 윈도우 파랗게 질리지 말고 자세히 보자, 블루스크린! + 18 구피 05-07 816
489 PCTip 초간단팁) LTSB(또는 rs1이하 PE들)에서도 편하게 regedit를 쓰자. file + 8 랑새 05-07 578
» 정보 grldr(grub4dos)로 여러개의 bcd로 부팅 file + 3 랑새 05-06 626
487 관리/보안 HP "스펙터" 및 "멜트다운"으로 알려져 있는 최근의 보안 결함 정보 + 2 VenusGirl 05-05 210
486 정보 Total Commander는 포터블 버젼이 필요없다. 단지 셋팅이 필요할 뿐이다. file + 17 랑새 05-05 629
485 정보 AIMP에서 인터넷 방송 녹음하기 file + 5 VenusGirl 04-22 495
484 정보 AIMP에서 YouTube 음악 듣기 file + 7 VenusGirl 04-22 593
483 관리/보안 피해자거나 공범(?)이거나, USB 악성코드 + 16 구피 04-19 850
482 윈도우 hit 윈도우10 설치 후 ‘알 수 없는 장치’가 생겼다 + 35 구피 04-14 2895
481 정보 Full HD? QHD? UHD? 이게 무슨 말인가요? + 15 구피 04-14 684
480 정보 알아두면 쓸데있는 신비한 블루투스 이야기 + 19 구피 04-14 748
479 PCTip 움직임을 결정하는 응답속도와 주사율 + 21 구피 04-09 976
478 PCTip 모니터의 컬러를 결정하는 명암비와 시야각 + 7 구피 04-09 345
477 정보 이미지 파일 확장자 바로 알고 쓰기! + 14 구피 04-09 521
476 정보 오디오 파일 확장자에 대해 알아보자! + 8 구피 04-09 312
475 PCTip 모니터 선택 가이드 #1 화면 크기와 해상도 + 4 구피 04-09 563
474 윈도우 도무지 이해가 되지 않는 파일 시스템 + 19 구피 04-07 800
473 NAS(나스) 시놀로지 장비 토렌토 다운으로 인한 HDD 부하를 외장 SSD로 적게 하기. file + 1 기쁨의노래 04-07 502
472 정보 내게 맞는 SD카드 선택, 어떤 기준으로 할까? + 5 구피 04-07 417
471 관리/보안 내 PC가 몰래 채굴에 이용당하고 있다? + 12 구피 04-07 780
470 윈도우 hit FPP/ESD/DSP/OEM이 뭐야? 윈도우10 라이센스 종류 + 7 구피 04-07 2232
469 일반 wim 파일 설치 legacy 설치 후 "reboot and select proper device ~~~~~" file + 8 Aron 04-07 336
468 일반 GPT파티션 날려먹고 멘붕이신 분들께... + 51 영원불 03-31 1645
467 정보 한컴오피스 2018 업데이트 안뜨게하기 file + 31 메이데이컴퓨터 03-30 1945
466 정보 한컴오피스 2018 업데이트가 안되는분들!! file + 25 코렐매니아 03-27 1540
465 유틸리티 Total Commander 편집기 리디텍터 file + 11 VenusGirl 03-20 618
464 유틸리티 엑셀2010 다중창 설정및 단일창 복원 레지 file + 34 musen 03-15 1499
463 드라이버 지포스 그래픽 드라이버 [다음팟 영상 끊김 해결법] file + 32 푸른바다처럼 03-06 1837
462 정보 Windows10 RS4에서 Net3.5 사전 설치하기 + 32 Mania 02-28 1355
461 관리/보안 hit uTorrent 보안 문제와 해결 file + 45 암닭=運營者㖈 02-25 2986
460 정보 2월 23일 Windows 10 누적 업데이트입니다. (1703 및 1607) + 6 Mania 02-23 663
459 정보 hit 녹스(NOX) 에뮬레이터 광고 제거 + 4 Addi 02-23 2858
458 윈도우 hit 윈 10 에서 usb 마우스 키보드 먹통 일때 + 33 기쁨의노래 02-23 3228
457 윈도우 윈도우 10(Windows 10) 누적 업데이트 필수 서비스항목 + 28 Addi 02-20 997
456 일반 Windows 10 업데이트 연기시키기 [내용추가] + 27 Mania 02-16 1034
455 일반 Adblock 사용시 판도라 TV의 광고 제거 + 12 FAKE 02-16 1741
454 윈도우 2월 14일 Windows 10 누적 업데이트입니다. + 18 Mania 02-14 731
453 정보 youTube 광고가 싫다면........ + 37 하ㅇ룽 02-13 1924
위로