이전 GRUB에 영향을 주지 않고 Linux 시스템을 설치하는 방법은 무엇입니까?

이전 GRUB에 영향을 주지 않고 Linux 시스템을 설치하는 방법은 무엇입니까?

현재 Linux 시스템과 다양한 배포판을 테스트하기 위한 다른 파티션이 있습니다. 그러나 저는 항상 이러한 시스템을 동일한 방식으로 설치하므로 GRUB 부팅 목록이 변경되는 반면 GRUB 자체는 마지막으로 설치된 시스템에 설치된 것처럼 보입니다. 즉, 마지막으로 설치한 시스템에서 Grub Customizer를 사용하여 GRUB 목록을 편집할 수 있으며, 다른 시스템에 설치된 Grub Customizer를 사용하여 변경한 내용은 GRUB 부팅 목록에 영향을 주지 않습니다. GRUB를 메인 시스템에 복원하고 Grub Customizer를 사용하여 GRUB를 편집할 수 있도록 라이브 USB 세션에서 Grub Repair를 사용하여 메인 파티션에 GRUB를 설치했습니다.

별도의 파티션에 새 시스템을 설치할 때 GRUB 목록과 모든 해당 설정에 영향을 주지 않을 수 있습니까? (새 항목을 추가하는 것 외에도.)

위의 경험에는 Ubuntu 기반 배포판, Manjaro, Deepin, KaOS, OpenSuse가 포함됩니다.

답변1

부팅된 Ubu-Live-System을 통해 별도의 파티션에 Ubuntu 시스템을 설치하는 것은 (일반적으로) 다음과 같이 수행됩니다.어디에나, 설치 프로그램.

유비쿼터스를 실행하는 일반적인 방법은 Live-Desktop(XDG-Starter)에서 아이콘을 두 번 클릭하는 것입니다. 하지만 어딜가든 좀 있잖아cmd 라인 옵션, 이를 사용하려면 XDG-Starter를 편집하고 저장해야 하며 다음 줄을 변경해야 합니다.

Exec=ubiquity -b

또는 터미널에서 유비쿼터스를 실행하세요.

ubiquity -b

옵션 -b의미: no-boot-loader-installation

새 시작 항목은 다음 위치에 있습니다.이미 거기 있어요 grub.cfg~의이미 존재하는 리눅스읽어야합니다:

menuentry "New-Ubu" {
    root=hd0,2
    linux /vmlinuz
    initrd /initrd.img
}

=== 일단 New-Ubu를 이런 식으로 시작하면 ===

( hd0,2예를 들어 첫 번째 하드 드라이브의 파티션 2와 다음 줄) 터미널에 다음을 입력할 수 있습니다.

sudo grub-install --boot-directory=/boot/ --force /dev/sda2

삽입에 대한 경고는 무시할 수 있습니다.

그리고 그 이후

sudo update-grub

/boot/grub/grub.cfg현재 실행중인 New-Ubu의 내용을 다시 생성해야 합니다 . 이제 New-Ubu 시스템이 "자체적으로" 부팅되므로 나중에 New-Ubu를 다시 부팅할 수 있습니다.

  • 누구나체인 로드(권장되지 않음: 위의 무시된 경고는 New-Ubu root-fs의 e2fsck 이후에 정당화될 수 있습니다.)
  • 또는 로드(현재 생성됨)구성 파일 /boot/grub/grub.cfg새로운-Ubu-root-fs(/dev/sda2)

이렇게 하려면 다음을 수행해야 합니다.바꾸다위에서 언급한 메뉴 항목/boot/grub/grub.cfg 이미 존재하는 리눅스다음과 같이:

menuentry "New-Ubu" {
    configfile (hd0,2)/boot/grub/grub.cfg
}

이는 또한 update-grub(시작 시 KVM-gfx-mode와 관련된 것)에 의해 암시적으로 작성된 필수 커널 옵션을 반영하며, 이전에 언급한 메뉴 항목을 통해 New-Ubu를 시작할 때 발생할 수 있는 문제를 해결할 수 있습니다(실제로 다음에서 심볼릭 링크 사용). 루트 디렉토리, 커널 옵션 없음...)

PS: 예32/64비트 버전의 문제입니다.Linux 배포판 및 올바르게 설치된 부트로더. 32비트 또는 64비트를 100% 고수하는 것이 좋습니다.

자기야 그거 재밌어! 더 중요한 것은 나는 Bugs Bunny를 좋아한다는 것입니다. wqwqwqwqwqwqwqq;)

답변2

만자로가 참여하지 않는 경우

다음을 사용하여 만든 부팅 메뉴 사용자 정의를 건드리지 않고는 새 파티션에 새 Linux를 설치할 방법이 없습니다.그럽 커스터마이저이전에 설치된 Linux 시스템에 간단한 솔루션이 있습니다.해당 사용자 정의를 복원사용하여시동 수리.

별도의 파티션에 새 Linux를 설치하면 이전 Linux 시스템에서 Grub Customizer로 편집된 부팅 메뉴가 대체됩니다. 실제로 사용자 정의된 데이터는 손실되지 않지만 이전 Linux 설치의 파티션에 존재합니다.다시 덮다그것.

이 작업은 마지막 Linux 설치가 남아 있거나(부팅 메뉴가 있음) 제거되거나(부팅 메뉴가 전혀 없고 전혀 부팅할 수 없음) 수행할 수 있습니다.

아이디어는 Linux 시스템의 Live USB에서 부팅 복구를 사용하는 것입니다.

따라서 라이브 Linux 환경에서 부팅하고 부팅 복구를 설치하십시오. 도구를 설치하기 위해 여기에서 사용하는 방법은 다음과 같으므로 Ubuntu 기반 Linux를 사용하십시오.

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

시동 복구가 시작됩니다:

  • 고급 옵션 선택

[아래 이미지는 로컬 설치에서 촬영한 것이므로 일부 사양(예: "사용 중인 운영 체제 등")이 다르거나 존재하지 않을 수 있습니다.]

여기에 이미지 설명을 입력하세요.

  • 첫 번째 탭 아래의 기본 옵션은 변경하지 않고 그대로 둡니다.

여기에 이미지 설명을 입력하세요.

  • Grub 위치 탭에서: 기본 부팅 운영 체제 - Grub Customizer에서 부팅 목록을 편집한 기본 Linux 설치를 선택합니다. GRUB 배치: 위와 동일한 Linux 설치에 대한 파티션을 선택합니다.

여기에 이미지 설명을 입력하세요.

  • Grub 옵션 탭에서 다음을 수행합니다.선택 취소"설치 전 Grub 지우기"

여기에 이미지 설명을 입력하세요.

  • MBR 옵션을 변경하지 마십시오

  • "추가 옵션" 탭에서: 부팅 플래그를 켜기로 설정 - Grub Customizer에서 부팅 목록을 편집한 것과 동일한 기본 Linux 설치를 선택합니다.

여기에 이미지 설명을 입력하세요.

적용하다.

시동 복구가 프로세스를 완료한 후 재부팅하면 Grub Customizer 설정에 의해 설정된 시작 목록과 테마가 표시됩니다.


만자로가 연루된 경우

다음 사실을 고려하십시오. 내 경험에 따르면Manjaro가 마지막으로 설치된 Linux인 경우 위 프로세스로 인해 시스템에 액세스할 수 없게 될 수 있습니다.(KDE, Xfce 및 Fluxbox Manjaro로 테스트되었습니다.)

또한 Grub 사용자 정의 프로그램은 Manjaro에서 제대로 작동하지 않는 것 같습니다. 변경 사항을 저장할 수 없다는 오류가 발생합니다.

Manjaro가 설치되지 않은 경우에만 위의 내용을 권장합니다.(또는 삭제하려는 경우).

다른 Linux(예: Ubuntu)를 설치할 때 Manjaro가 이미 설치되어 있는 경우 Manjaro는 자체 grub만 사용할 수 있으므로 시작되지 않습니다. Manjaro grub은 설치된 모든 시스템에서 복원 및 사용할 수 있습니다. (Grub 사용자 정의 프로그램에서는 작동하지 않는 것 같지만 마지막으로 실행된 항목을 기억하는 등의 향상된 기능이 있습니다).

Manjaro 시작 목록 복원(~여기에 표시된 대로~):

grub>다른 Linux grub 메뉴에서 "c"를 눌러 grub 프롬프트( )로 들어갑니다.

그럽 프롬프트에서:

grub> search.file /boot/intel-ucode.img root
grub> configfile /boot/grub/grub.cfg

그러면 Manjaro grub 메뉴가 나타나고 첫 번째(상단) 항목에 입력하면 Manjaro로 부팅됩니다.

터미널에서 Manjaro로 부팅하면,

sudo grub-install /dev/sda
sudo update-grub

관련 정보