질문이 있습니다. 모든 Linux 배포판의 부팅 파일, grub 파일 및 커널 파일은 주로 이를 실행하는 데 사용됩니까? 배포판의 iso 이미지만 다릅니다.
내 시스템에 Fedora가 설치되어 있습니다. grub 항목을 변경하여 이를 manjaro로 교체할 수 있습니까? 얼마나 안전합니까?
답변1
물론 배포판마다 거의 모든 항목에 대해 서로 다른 패키지가 있습니다. 그러나 세 가지 구성 요소는 일반적으로 부트 로더, 커널, 사용자 공간 프로그램으로 서로 잘 격리되어 있습니다.
부트로더는 다양한 커널을 부팅할 수 있어야 합니다. 그렇지 않으면 사용성이 크게 제한됩니다.
커널은 사용자 공간이 실행될 수 있는 기본 환경을 제공하므로 실제로 사용자 공간에 의존하지 않습니다.
사용자 공간은 커널에 일부 종속성이 있지만 일반적으로 기본 작업에는 해당되지 않습니다. 일부 측면(상당히 중요한 측면이라도)의 경우 다양한 커널 기능이 필요할 수 있지만 일반적으로 "동시에" 다른 배포판의 커널을 사용하는 것이 가능합니다(사용자 공간에서 일부 절단 기능을 사용하지 않는 한 몇 달의 차이는 중요하지 않습니다. 가장자리 기능). 새 릴리스에 대해 단계적 부팅만 원하는 경우:
- dist-A 실행
- 커널 없이 dist-B 설치(예:
chroot
) - 커널 A를 사용하여 B 시작
- 커널 설치 -B
- 커널 B로 dist-B 시작
정상적으로 작동할 것입니다(출처:“거기 가봤어, 그랬어”). 특정 사용 사례(사용자 공간에 필요한 커널 기능)에 따라 문제 없이 "외부" 커널을 실행할 수도 있습니다.
답변2
덜 과감한 접근 방식은 별도의 파티션이나 별도의 디스크에 새 배포판을 설치하고 원시 grub을 사용하여 부팅할 배포판(이중 부팅)을 선택할 수 있도록 하는 것입니다. 이를 통해 기존 시스템에서 유지하려는 모든 항목을 마이그레이션할 수 있습니다.
답변3
모든 Linux 배포판에 동일한 부팅, grub 및 커널 파일이 있는 것은 아닙니다. 배포판을 변경하는 가장 안전한 방법은 현재 운영 체제를 지우고 디스크의 동일한 위치에 새 운영 체제를 설치하는 것입니다.
아래 스크린샷은 Manjaro 설치를 위한 4가지 옵션을 보여줍니다.분할Manjaro 설치 화면.
선택하다디스크 지우기이 화면의 옵션은 전체 디스크에 Manjaro를 설치하며, 이 화면에서는 기존 Ubuntu 스왑 파티션(녹색으로 표시)을 대체하기 위해 스왑 파티션(노란색으로 표시)을 위한 공간도 예약합니다. 선택하다파티션 교체파티션을 덮어쓰고 그 안에 Manjaro Linux를 설치하십시오. 선택하다수동 파티셔닝옵션은 사용자가 지정한 파티션 구성표를 사용하여 Manjaro를 설치하기 위해 수동으로 파티션을 생성하는 옵션을 사용자에게 제공합니다.
답변4
질문의 의미에 대해 계속 설명하기보다는 질문에 초점을 맞추세요.
먼저, 분명히 알아야 할 두 가지 사항을 언급하겠습니다. 아키텍처가 다른 컴퓨터 등은 동일한 파일을 사용하지 않으며, 제조업체 등이 다른 컴퓨터는 표면적으로만 다른 경우 동일한 파일을 사용할 수 있습니다(AMD 비디오의 차이점). 변형) 카드 또는 유사).
특정 아키텍처에는 지배적인 부트 로더가 있으며, 그 중 일부는 부트 섹터에 있고 다른 부분은 파일에 있을 수 있습니다. 따라서 x86에는 GRUB(대안으로 LILO 등도 있음)가 있고 SPARC는 SILO(대안으로 GRUB 포함)를 사용하고 ARM은 때때로 Das U-Boot 등을 사용합니다. 부트로더는 커널 바이너리와 선택적으로 initrd 파일을 로드하며, 경우에 따라 LAN을 통해 수행될 수 있습니다.
Linus Torvalds가 소유하고 그가 릴리스한 소스를 사용하여 배포판별("트리 외부") 패치를 사용하여 빌드된 Linux 커널은 단 하나뿐입니다.
커널 바이너리는 아키텍처와 CPU에 연결된 하드웨어에 따라 분명히 달라집니다. 또한 /dev 디렉토리에 항목을 미리 정의해야 하는지 아니면 Udev와 같은 것을 사용하여 즉시 생성해야 하는지에 따라 달라집니다.
커널은 기본적으로 부팅 후 즉시 필요한 프로그램 및 구성 파일을 포함하는 압축 파일 시스템인 initrd 파일을 요구하도록 구축될 수도 있고 그렇지 않을 수도 있습니다. PC는 일반적으로 initrd 파일을 사용하지만 Kobo Reader 또는 Raspberry Pi와 같은 파일은 그렇지 않습니다. 여기서 지적하려는 것은 Kobo 소유자 커뮤니티가 추가 기능을 사용하기가 상당히 쉽다는 것입니다. initrd를 다시 빌드하는 데 도구가 필요하지 않습니다.
initrd를 사용하면 결국 커널은 다른 장치를 파일 시스템의 루트로 사용하라는 지시를 받습니다. 장치의 콘텐츠는 배포판에 따라 달라지며, 이는 존재하는 프로그램과 구성 파일뿐만 아니라 프로그램이 구축되는 방식(핵심 라이브러리의 정적 링크와 동적 링크 등)에도 영향을 미칠 수 있습니다.
시스템 구성이 변경되거나 업데이트되면 루트 파일 시스템의 프로그램 및 구성 정보를 사용하여 initrd를 다시 빌드할 수 있습니다. 구체적인 예로, 커널이 initrd에서 기본 파일 시스템으로 전환하기 전에 다양한 구성 파일이 참조되기 때문에 Debian 기반 distreaux에서 이런 일이 자주 발생합니다.
따라서 OP의 질문에 대한 대답은 "아마도"입니다.