듀얼 부팅 솔라리스와 우분투?

듀얼 부팅 솔라리스와 우분투?

x86 시스템에 Solaris를 설치했습니다(500GB 중 100GB를 차지함). 이제 시스템에 Ubuntu가 설치되었습니다(추가 100GB).

기본 운영 체제를 Solaris로 만들고 싶습니다. 에서 설정을 완료해야 한다는 것을 알고 있지만 /boot/grub/menu.lst업데이트할 실제 명령은 무엇입니까? 메뉴 파일을 업데이트한 후 시스템을 다시 시작하면 Ubuntu 옵션이 아닌 Solaris 메뉴만 표시됩니다.

답변1

일반 grub(현재 grub-legacy라고 함)이 있는 경우 메뉴 파일을 업데이트하는 것으로 충분합니다. 메뉴는 시작할 때마다 읽혀지므로 명령을 실행할 필요가 없습니다.

update-grub완전히 다시 작성되고 다른 짐승인 grub2가 있는 경우 변경 사항을 적용하려면 이 명령을 실행해야 한다고 생각합니다 . 어떤 Ubuntu를 사용하고 있는지 지정하지 않았지만 최신 버전에는 기본 부트로더로 grub2가 있다고 생각합니다.

답변2

여러 운영 체제를 부팅하는 가장 간단한 방법은 한 운영 체제의 부트 로더를 사용하여 해당 운영 체제를 직접 부팅하고 다른 운영 체제의 부트 로더를 로드하는 것입니다. 종종 이것이 유일한 선택입니다. 여기서 Grub 1(Solaris 부트로더)과 Grub 2(Ubuntu 부트로더)는 서로의 커널을 로드할 수 있으므로 이것도 옵션입니다.

Solaris용 Grub이 Ubuntu 부트로더를 로드하도록 하려면(제가 권장하는 방법입니다):

  • Ubuntu에게 자체 파티션에 부트로더를 설치하라고 지시합니다 /dev/sda5. (설치 프로그램은 시스템을 부팅할 수 없기 때문에 이는 좋지 않은 생각이라고 경고할 수 있습니다. 부팅하려면 다른 운영 체제 로더에서 부팅하기 때문에 계속하라고 지시합니다. 이는 특이한 시스템입니다).
  • Solaris에서는 Ubuntu용 메뉴 항목을 추가합니다.menu.lst문서(보통 에 위치 /boot/grub/menu.lst하지만명령 사용bootadm list-menu시스템의 위치를 ​​확인하세요):

    title Ubuntu
    root (hd0,4)
    chainloader +1
    

Ubuntu의 부트 로더가 Solaris의 부트 로더를 로드하도록 하려면(이 또한 권장되지만 Solaris를 "주 운영 체제"로 설정하는 데 도움이 되지 않음) 부트 섹터에 Ubuntu의 Grub 2를 설치하고 다음 위치에 Solaris Grub 1을 설치하십시오. Solaris 파티션의 부트 섹터. Ubuntu를 설치한 후 Solaris 부팅 섹터를 수정하는 경우 sudo update-grubUbuntu에서 한 번 실행하면 Solaris 항목(아마도 "Solaris" 대신 일반 이름)이 선택됩니다. update-grubSolaris 항목이 선택되지 않은 경우 /etc/grub.d/31_local_solaris다음 내용으로 이름이 지정된 파일을 생성하여 수동으로 선언한 후 다음을 실행합니다 sudo update-grub.

#!/bin/sh
set -e
prefix=/usr
libdir=${prefix}/lib
. ${libdir}/grub/grub-mkconfig_lib

cat <<'EOF'
menuentry 'Solaris' {
EOF
save_default_entry
prepare_grub_to_access_device /dev/sda1
cat <<'EOF'
  chainloader +1
}
EOF

Solaris용 Grub이 Ubuntu 커널을 직접 로드하도록 하려면 이를 부트 섹터에 설치하고 menu.lstSolaris용 항목을 추가하십시오(이 파일이 있는 위치는 위 참조). 이는작업 기록, 하지만 있습니다보도에 따르면 이는 사실이 아니다.(Solaris 버전에 따라 다를 수 있습니다).

title Ubuntu
root (hd0,4)
kernel /vmlinuz root=/dev/sda5 ro
initrd /initrd.img

title Ubuntu (single-user mode)
root (hd0,4)
kernel /vmlinuz root=/dev/sda5 ro single
initrd /initrd.img

저는 Grub 2가 현재 Solaris 커널의 직접 로딩을 지원하지 않는다고 생각합니다.

관련 정보