FreeBSD: MBR 부팅 코드 수정

FreeBSD: MBR 부팅 코드 수정

어떤 이유로 시스템에서 11.4 부팅 코드 실행이 실패합니다. 이는 조사 중입니다[1]. 그동안 시스템을 11.3으로 복원하려고 합니다.

이전 부팅 코드를 복원하는 올바른 방법을 찾으려고 노력 중입니다. 나는 이것이 일부에 대한 올바른 호출이 될 것이라고 생각 gpart bootcode -b xxx ...하지만 올바른 호출이 무엇인지 잘 모르겠습니다. 아니면 그게 bsdlabel -b ...필요한 것일까요?

간략한 이벤트 타임라인은 다음과 같습니다.

  1. 11.3 시스템을 실행 중입니다.
  2. 11.4 소스 코드 컴파일( make buildworld, make kernel)
  3. 11.4 커널로 성공적으로 재부팅되었습니다.
  4. 새로운 사용자 영역 설치 준비 ( adjkerntz -i, mergemaster -p)
  5. 신규 사용자 영역 설치( make installworld)
    • 내 이해는 이것이 새로운 부팅 코드에도 적용된다는 것입니다.정말?이 작업을 수행하는 makefile에서 정확한 호출을 찾지 못했습니다.
  6. 새 시스템으로 재부팅
    • 실패하다- "BTX가 중지되었습니다" 오류가 발생합니다.

그래서 실제 문제를 파악하려고 할 때 가장 먼저 걱정한 것은 시스템 부팅 가능 버프를 얻는 것이었습니다.

나는 "백업에서 재설치" 핵 옵션을 피하려고 노력하고 있습니다. 나는 무엇을 해야할지 이미 알고 있습니다 (:

대신 시작 코드가 다시 작동하도록 노력하고 있습니다.

  • 11.3 부팅 코드를 수동으로 설치하고 11.4 시스템을 계속 실행할 수 있을까요?
  • 아직 11.3의 소스 코드가 있는데 다시 설치할 수 있을까요?

어떤 조언이라도 대단히 감사하겠습니다.

[1]https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257722

답변1

오류 링크에는 몇 가지 잔혹한 세부 정보가 있지만 기본적으로 필요한 것은 다음과 같습니다.

  • LiveCD USB 스틱에서 부팅
  • 저기, 달려cp /boot/loader MOUNTPOINT/boot/loader
    • 그 중 MOUNTPOINT는 LiveCD에 설치되는 실제 시스템의 루트 파티션입니다. 따라서 MBR 업데이트나 기타 사항은 없습니다. 업데이트가 필요한 /boot/loader의 일반 파일일 뿐입니다.

이런 식으로(BIOS가 잘못된 드라이브를 선택했음을 파악한 후) 11.4 시스템에서 올바르게 부팅되도록 돌아갔습니다.

하지만 회귀가 언제 도입되었는지 알아내야 합니다. 해당 진행 상황은 버그 보고서를 참조하세요.

관련 정보