GRUB 부팅을 다른 USB 드라이브로 만드는 방법

GRUB 부팅을 다른 USB 드라이브로 만드는 방법

먼저 배경지식:

NAS로 사용하려는 오래된 컴퓨터가 있고 플래시 드라이브에 openmediavault(debian 기반)가 설치되어 있습니다. 그래서 플래시 드라이브에서 더 빠른 속도를 얻기 위해 USB 3.0 포트가 있는 PCI-E 확장 카드를 구입했습니다(따라서 USB 2.0 포트에 설치하는 데 시간이 오래 걸리고 간단한 apt-get 업데이트에도 시간이 오래 걸립니다). . 문제는 내 마더보드(Asus P5KPL)가 PCI-E 카드 자체(또는 3.0 USB 또는 둘 다)를 인식하지 못한다는 것입니다. 인터넷 검색에 시간을 보냈고 기본 드라이브가 grub을 로드하도록 부팅 및 grub을 2.0 포트의 플래시 드라이브로 이동하고 grub.cfg를 편집하여 3.0 플래시 드라이브의 배포를 가리키도록 하는 제안을 찾았습니다.


질문:

이것이 제가 갇힌 곳입니다. 저는 Linux를 처음 접했습니다. openmediavault 시작 폴더를 다른 플래시 드라이브에 복사(문자 그대로 ctrl+c ctrl+v)했지만 OMV 설치 프로그램에서 생성된 grub.cfg를 열면 거의 아무것도 읽을 수 없습니다.https://pastebin.com/i1khxP2S- 설치 중에 생성된 원본 grub.cfg입니다.

이것은 나에게 이해가 되지 않습니다. 나는 내가 읽은 내용을 177행에 추가하려고 했습니다.여기그리고여기좋다:

menuentry "Try USB HD0 boot" {
    rootnoverify (hd0)
    chainloader +1
    boot
}

menuentry "Try USB HD1 boot" {
    map (hd0) (hd1)
    map (hd1) (hd0)
    liveswap
    rootnoverify (hd0)
    chainloader +1
    boot
}

그러나 나는 여전히 길을 잃었고 성공하지 못했습니다. 무엇을 편집해야 할지 아시나요?

지금 몇 시지:

- NAS 배포판이므로 플래시 드라이브에 배포판(openmediavault)을 설치하고 있으며 HDD는 저장용으로만 남겨둘 계획입니다.

-USB 2.0 포트에서 openmediavault ISO 설치 프로그램으로 부팅하면 3.0 포트의 플래시 드라이브를 즉시 인식하므로 어떤 기본 드라이브라도 작동해야 한다고 생각합니다.

- BIOS에서 ACPI 2.0 지원을 활성화하라는 제안을 받았지만 성공하지 못했습니다.

편집: 가능한 한 적은 줄로 일반 및 기본 grub.cfg를 사용해 보았지만 여전히 성공하지 못했습니다.

답변1

내 생각에 이것은 아마도 문제가 아닌 것 같습니다.

USB 드라이브에서 Linux를 실행하고 컴퓨터 저장 공간을 복잡하게 만들고 싶지 않다면 두 개의 다른 USB/플래시 드라이브가 필요합니다.

  1. 다음에 설치 예정
  2. 로부터 달아 나다

또한 부트로더를 설치하려면 두 번째 USB/플래시 드라이브에 1GB 파티션을 만들어야 합니다.

답변2

GRUB는 하드웨어 지원을 위해 시스템 펌웨어를 사용합니다. 이전 BIOS 기반 시스템에서 펌웨어는 부팅 시 하나의 USB 저장 장치만 지원하는 경우가 많으며, 해당 장치에서 부팅하도록 특별히 선택한 경우에도 마찬가지입니다. 즉, USB 저장 장치에 대한 BIOS 수준 지원은 매우 제한적입니다.

특히 마더보드에 USB 2.0 포트만 있는 시스템에 USB 3.x PCIe 카드를 추가하면 펌웨어가 USB 3.x XHCI 컨트롤러를 전혀 인식하지 못할 가능성이 거의 높습니다. BIOS 부팅 지원을 USB 3.x 장치로 확장하는 BIOS 확장 ROM이 포함된 확장 카드를 본 적이 없습니다.

또한 이러한 chainloader항목을 사용하려면 USB 3.0 플래시 드라이브에 또 다른 GRUB 인스턴스가 있어야 하므로 동일한 시스템과 단일 운영 체제에서 서로 다른 두 가지 GRUB 구성을 관리해야 합니다. 나는 이것이 불필요한 합병증이라고 생각합니다.

USB 2.0 장치에서 Linux 커널 및 initramfs 파일을 로드하고 모든 USB 컨트롤러 드라이버가 initramfs 파일에 포함되어 있는지 확인해야 합니다. 커널이 부팅되고 initramfs에서 USB 드라이버를 로드하면 완전한 USB 3.x 지원을 제공하고 USB 3.0 장치에서 루트 파일 시스템을 마운트할 수 있습니다.

이는 본질적으로 /bootUSB 2.0 플래시 드라이브에 하나의 파티션이 있고 USB 3.0 플래시 드라이브에 루트 파일 시스템(및 나머지 운영 체제)이 있음을 의미합니다. 기존 설치를 이 설치로 수정하려면 다음을 수행해야 합니다.

  • 루트 파일 시스템을 USB 3.0 장치에 복사
  • linux ...새 루트 파일 시스템을 가리키도록 기존 GRUB 구성 줄을 수정합니다.
  • 새 구성으로 부팅하고 작동하는지 확인하세요.
  • update-grub시스템 업데이트로 인해 GRUB가 실패하지 않도록 GRUB 구성이 올바른 커널 옵션으로 올바르게 재생성되는지 확인합니다 (수정이 root=필요한 경우 편집하면 /etc/default/grub충분합니다 ).

관련 정보