부트로더 찾기

부트로더 찾기

궁금하신 점은 특정 시스템을 부팅하는 데 어떤 부트로더가 사용되는지 알아내는 것이 가능합니까? 시스템은 다음과 같이 시작됩니다.애벌레,릴로아니면 다른 부트로더가 있나요?

동일 /sys하거나 변수가 있어야한다고 생각합니까?/proc

편집하다:

부팅 정보 요약: => Lilo는 /dev/sda의 MBR에 설치됩니다.

sda1:_________________________________________________

File system:       
Boot sector type:  Unknown
Boot sector info:
Mounting failed: mount: unknown filesystem type ''

/dev/sda부팅해야 하는 유일한 장치입니다.

사용 가능한 유일한 단일 파티션에 알려진 파일 시스템이 없으면 어떻게 부팅되는지 궁금합니다.

답변1

/sys이 정보는 아래 또는 아래에서 의미 있는 방식으로 추적되지 않는다고 생각합니다 /proc. 부팅 후 이 정보에 액세스할 수 있는 유일한 방법은 시스템에 GRUB 또는 Lilo 구성 파일이 있는지 확인하도록 요청하거나 다음과 같은 스크립트를 사용하는 것임을 이해합니다.bootinfoscript.

예 - 부팅 장치 확인

시스템이 어떤 장치에서 부팅되었는지 알고 있다면 dd부트로더의 내용을 덤프한 다음 grepGRUB 또는 LILO를 덤프할 수 있습니다.

                      SS #1

다음 명령을 사용하여 GRUB 또는 LILO를 사용하는지 확인할 수 있습니다.

$ sudo dd if=/dev/sda bs=512 count=1 2>&1 | grep GRUB
$ sudo dd if=/dev/sda bs=512 count=1 2>&1 | grep LILO

이 문자열을 반환하는 것은 사용 중인 부트로더입니다.

Binary file (standard input) matches

예 - bootinfoscript 사용

$ sudo ./bootinfoscript --stdout
                  Boot Info Script 0.61      [1 April 2012]


============================= Boot Info Summary: ===============================

 => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 of 
    the same hard drive for core.img, but core.img can not be found at this 
    location.

sda1: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  
    Boot files:        /grub2/grub.cfg
    ...

그러나 여러 부트로더가 공존할 수 있으므로 이러한 방법 중 어느 것도 "결정적"이지는 않지만 적어도 어떤 부트로더가 "사용 중일 수 있는지"에 대한 대략적인 아이디어를 제공합니다.

인용하다

답변2

바라보다이것. 그러나 스크립트는 Bash로 작성되었으므로 임베디드 플랫폼에서 실행해야 하는 경우 수정해야 합니다. 이 스크립트를 테스트한 결과 Ubuntu에서는 GRUB를, Slackware에서는 LILO를 올바르게 인식했습니다.

답변3

부트로더 ID를 얻으려면 다음을 사용하세요.부트로더 유형

echo $((`cat /proc/sys/kernel/bootloader_type`>>4)) 

당신을 찾고부트로더 ID

관련 정보