USB-직렬 변환기를 통해 GRUB와 상호 작용하고 싶습니다.
grub의 cli에서 다음 명령 목록을 사용하여 랩탑에서 이 작업을 수행할 수 있습니다.
insmod nativedisk #to not loose drive information after insmod *hci
nativedisk ahci
insmod ehci
insmod ohci
insmod uhci
insmod usbserial_ftdi # I use an ftdi usb to serial adapter
terminal_output --append serial_usb0
terminal_input --append serial_usb0
내 데스크탑 컴퓨터에서는 동일한 프로세스가 작동하지 않습니다. 문제는 grub을 실행한 후 드라이브 정보를 잃는다는 것입니다.인스모데시, 이는 다음을 의미합니다.엘에스그 이후에는 디스크가 반환되지 않으므로 모든 후속 명령이 실패하고 더 이상 아무것도 수행할 수 없으며 재부팅해야 합니다.
이 문제는 위에 표시된 대로 내 SATA 기반 노트북에서 다음을 사용하여 해결되었습니다.로컬 디스크 ahci, 이 명령은 데스크톱 컴퓨터에서는 작동하지 않습니다.NVMe(pcie) 드라이브 및아치모듈SATA운전사.
Nativedisk의 GRUB에 대한 문서 페이지에는 사용할 수 있는 매개변수가 나열되어 있지 않으며소스 코드네이티브디스크에 대한 몇 가지 매개변수를 보았지만 불행하게도 이 방법으로 문제가 해결되지 않았습니다.
제 질문은 다양한 *hci 모듈을 연결할 때 GRUB이 드라이브 정보를 잃는 이유는 무엇입니까? 이 문제를 어떻게 예방/해결할 수 있습니까?
답변1
그렇지 않은 경우 nativedisk
GRUB는 펌웨어의 디스크 목록을 사용합니다. NVMe 부팅을 지원하는 시스템에는 UEFI 펌웨어가 있을 가능성이 높습니다. 이는 USB에 대한 지원이 내장되어 있음을 의미합니다.
GRUB가 USB 드라이버를 로드하면 펌웨어에서 USB 제어권을 넘겨받게 되며, 펌웨어는 이로 인해 저장 장치 목록이 유효하지 않을 수 있음을 인식할 만큼 똑똑할 수 있습니다. 따라서 이는 해결하기 까다롭게 만드는 펌웨어 구현 기능입니다.
map -r
UEFI가 "현재 활성 드라이버를 사용하여 저장 장치 다시 검색"이라는 개념을 이해하고 있음을 시사하는 UEFI 셸에 대한 명령이 있지만 분명히 GRUB는 현재 USB 버스 액세스를 인수한 후 해당 명령을 호출하지 않습니다. GRUB의 UEFI 버전을 사용하는 경우 UEFI 서비스 호출을 추가하여 이에 대한 지원을 추가하는 것이 상대적으로 쉬울 수 있지만 클래식 버전을 사용하는 경우 i386-pc
적합한 BIOS 호출이 있는지 확실하지 않습니다.
ehci
실제로 USB 드라이버가 작동한다는 사실에 놀랐습니다 . NVMe 부팅을 지원하는 시스템에는 XHCI USB 컨트롤러가 있을 것으로 예상했습니다.