Linux에서는 GRUB 2 Bootloader를 사용하여 이 주제 에 대해 알아내려고 했습니다 --config=
.grub-mkimage
man 1 grub-mkimage
-c, --config=FILE
FILE을 다음으로 삽입일찍구성
내 첫 번째 추측은 /boot/grub/grub.cfg
->였지만 이 파일을 빌드하는 별도의 명령이 있어서 그 추측에서 벗어나게 되었습니다. 또 다른 추측은 /boot/config-3.16.0-4-686-pae
( file
: "Linux make config build file, ASCII text")의 출력입니다. 내가 찾은 다른 파일은 ASCII가 아니라 바이너리였는데, 그럴 가능성도 거의 없습니다.
질문:어떤 파일이나 파일 형식을 의미할까요?
고쳐 쓰다: 이걸 찾았어GRUB 2에 대한 gnu.org 문서, GRUB 프롬프트의 명령에서:
configfile file
FILE을 구성 파일로 로드합니다. FILE이 메뉴 항목을 정의하면 해당 항목이 포함된 메뉴가 즉시 표시됩니다.
아마 같은 파일이겠죠? 흥미로운 점은 온라인 매뉴얼에 이 옵션이 언급되지 않은 것 같습니다.
업데이트 2: 출력에서 다음 줄을 찾습니다.grub-mkrescue --output grub.iso --verbose
grub-mkrescue: 정보: grub-mkimage --directory '/usr/lib/grub/i386-pc' --prefix '/boot/grub' --output '/tmp/grub.ZiXwO6/boot/grub/i386- pc/eltorito.img' --format 'i386-pc-eltorito' --압축 '자동'--config '/tmp/grub.UtCj8W''바이오디스크' 'iso9660'`
그래서--config '/tmp/grub.UtCj8W'
제외..어쩐지 /boot/grub/grub.cfg
? 아니요, grub-install
자세한 출력이 활성화된 상태에서 실행할 때 구성에 대해 아무것도 찾지 못했습니다.
업데이트 3: man 1 grub2-mkstandalone
열려 man 3 grub2-mkstandalone
있지만 발행하면 man 3 grub2-mkstandalone
오류 메시지가 발생합니다. 또한: grub-mkimage --config=
매뉴얼 페이지에만 나타나는 것 같지만 출력 --help
이나 --usage
출력에는 나타나지 않습니다.
답변1
grub-mkimage
grub
필요할 때 다른 모든 것이 구축되는 중요한 핵심입니다. 예를 들어, grub-[install,mkstandalone,mkrescue]
그것은 모두 사용법을 의미하므로 grub-mkimage
일단 grub-mkimage
이해하면 모든 것이 쉬워 보입니다.
grub-mkimage
구성 파일을 이미지에 "연결"하는 방법에는 두 가지가 있습니다.
옵션
-c
,--config=File
(초기 구성으로 내장된 FILE)옵션
-m
,--memdisk=file
(파일을 다음으로 포함저장 디스크최종 구성 파일 포함)
예: 내장된 구성[$prefix]/boot/grub/[x86_64-efi/]grub.cfg
이것저장 디스크다양한 모듈이 "사용 준비"되어 있는 파일 시스템을 grub
갖춘 가상 디스크 장치입니다 . 즉, 직접 로드할 수 있습니다. 그러나 옵션에서처럼 "사전 로드된 모듈"이라고 직접 호출되지는 않습니다 (마지막 모듈은 Linux 운영 체제에 로드된 드라이버와 유사합니다).tarfs
insmod
--modules="blah blah...:"
initramfs
이 주장을 가장 잘 보여주는 것은 한 줄 명령을 사용하여 a를 livecd_only_biosPC_awared
a로 다시 마스터하는 것입니다.livecd_isohybrid_bios_and_efi_awared
xorriso -osirrox on -indev TinyCorePure64-6.0.iso -outdev new.iso \
-cpr efime.img /boot -- \
-rm /boot/isolinux/boot.cat -- \
-mkdir /.disk /boot/grub -- \
-cpr grub.cfg /boot/grub -- \
-cpr info /.disk/info -- \
-as mkisofs -graft-points -volid "tinyefi" -r -J -l -eltorito-boot boot/isolinux/isolinux.bin -eltorito-catalog boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin -eltorito-alt-boot -e boot/efime.img -no-emul-boot -isohybrid-gpt-basdat
어디
- ftp://ftp.nluug.nl/pub/os/Linux/distr/tinycorelinux/6.x/x86_64/archive/6.0/TinyCorePure64-6.0.iso
grub.cfg
isolinux.cfg
원본 라이브 ISO를 재현하기 위한 간단한 구성 입니다 .부트로더는 다음
efime.img
을 통해 얻습니다.grub-mkimage -m memdisk -O x86_64-efi -o grubx64.efi --compression=xz disk part_msdos part_gpt linux linux16 loopback normal configfile test search search_fs_uuid search_fs_file true iso9660 test search_label efi_uga efi_gop gfxterm gfxmenu gfxterm_menu fat ext2 ntfs cat echo ls memdisk tar
가장 단순한저장 디스크초기에 포함된 구성 파일이 포함되어 있습니다
(memdisk)/boot/grub/grub.cfg
.
이 모든 내용은 grub-mkBootx64.efi @sourceforge.net/projects/toysbox에서 연습을 통해 곧 제공될 예정입니다.
답변2
GRUB는 구성 파일을 코어 이미지에 직접 삽입하여 일반 모드로 들어가기 전에 로드되도록 지원합니다. 예를 들어 실제 구성 파일을 직접 찾을 수 없거나 파일 로드 문제를 디버깅해야 하는 경우에 유용합니다.
...
구성 파일을 포함하려면 .를 사용하십시오-c
.grub-mkimage
...
포함된
구성 파일에는 메뉴 항목이 직접 포함될 수 없지만config file
[the] [명령]을 사용하여 다른 곳에서만 읽을 수 있습니다.
이러한 이유로 이 --config
옵션은 일반 작업이 시작되기 전에 grub을 초기화하는 데 도움이 되는 명령이 포함된 구성 파일을 포함하기 위한 것입니다. 전체 grub.cfg
메뉴 항목 등을 포함할 의도는 없습니다 .