RHEL 6에 USB로 설치할 때 GRUB를 sdb에 설치하는 방법이 있습니까?

RHEL 6에 USB로 설치할 때 GRUB를 sdb에 설치하는 방법이 있습니까?

USB 드라이브를 사용하여 RHEL 6을 설치하고 있습니다. 훌륭하게 작동하지만 컴퓨터를 사용하고 싶을 때마다 USB를 연결해야 했습니다. 설치하는 동안 USB는 sda이고 대상 하드 디스크는 sdb입니다. GRUB은 매번 USB(sda)에 설치됩니다. 그렇다면 RHEL을 설치하고 GRUB을 sdb(RHEL 설치 대상)에 설치하는 방법이 있을까요? RHEL은 매번 기본적으로 sda에 설치한다고 생각합니다.

도와주셔서 감사합니다!

답변1

달리 지정하지 않는 한, GRUB는 설치 프로그램이 감지한 첫 번째 디스크가 시스템 펌웨어도 감지한 첫 번째 디스크라고 가정합니다. CD 또는 네트워크 설치에서는 일반적으로 이 경험적 방법이 작동합니다(여러 저장소 컨트롤러가 없는 경우).

그러나 설치 미디어가 USB인 경우 RHEL 6 설치 프로그램은 다른 저장 장치보다 먼저 이를 감지합니다. 킥스타트 설치를 설정하는 경우 부트로더에 쓰도록 지시할 수 있습니다 /dev/sdb. 이는 키워드 옵션을 사용하여 --driveorder수행됩니다 bootloader. USB에서 설치 프로그램을 부팅하는 경우 운영 체제가 설치될 디스크를 드라이브 순서의 첫 번째 디스크로 지정해야 합니다.

bootloader --location=mbr --driveorder=sdb,sda <...>

여기의 논리는 조금 이상하게 느껴질 수도 있습니다. 이는 설치된 시스템을 부팅할 때 시스템 BIOS가 "첫 번째 디스크"로 간주하는 디스크를 이 옵션이 실제로 식별하려고 시도하기 때문입니다. BIOS가 부팅 디스크를 선택하는 표준 방법은 해당 디스크를 다음 디스크로 배치하는 것이기 때문입니다. BIOS 보기에 따라 순서대로 첫 번째 디스크에 저장됩니다. 그러나 --driveorder 옵션은 설치 시 존재했던 Linux 장치 이름을 사용해야 합니다. 이는 설치된 시스템 런타임과 반드시 ​​동일할 필요는 없습니다.

기본적으로 우리는 설치 프로그램에 "시스템이 설치되고 자체적으로 부팅되면 /dev/sdb이제 이것이 첫 번째 디스크가 될 것입니다"라고 알려야 합니다.

이는 대상 하드 드라이브에 부트로더를 성공적으로 설치하는 데 충분합니다. 그러나 설치된 시스템에 /boot/grub/device.map첫 번째 디스크가 어디에 있는지 나타내는 파일도 남게 됩니다 /dev/sdb. USB 드라이브를 제거한 상태로 시스템을 부팅하면 더 이상 사실이 아닐 가능성이 높습니다. GRUB 패키지를 업데이트해야 하는 경우 이로 인해 문제가 발생하여 업그레이드 후 부트로더가 실패할 수 있습니다.

/boot/grub/device.map하지만 해결책은 간단합니다. USB Kickstart 설치를 구축하는 경우 설치가 완료된 후 파일을 삭제 하도록 설치 후 명령을 설정하기만 하면 됩니다 . 다음과 같이 간단할 수 있습니다.

%post
rm /boot/grub/device.map

%end

/boot/grub/device.map존재하지 않는 경우 grub-install명령은 다음에 실행될 때 자동으로 다시 생성됩니다. 그러면 올바른 선택을 할 가능성이 더 높아집니다. 확실히 알고 싶다면 설치가 완료된 후 상황을 확인하고 시스템을 재부팅한 후 /boot/grub/device.map정확한 파일을 수동으로 작성하면 됩니다.

관련 정보