USB로 부팅하지만 내부 하드 드라이브를 sda1로 사용

USB로 부팅하지만 내부 하드 드라이브를 sda1로 사용

현재 USB 드라이브에서 (uboot를 통해) 커널을 부팅하고 있는데 제대로 작동합니다.

내가 가진 문제는 SSD를 연결하면 SSD를 sda1로 사용하고 USB를 sda1로 사용하려면 SSD를 분리해야 하지만 두 SSD가 모두 연결되어 있어야 하고 USB가 연결되면 SSD가 필요하다는 것입니다. be for sda1이 존재하지 않습니다...

어떤 아이디어가 있나요?

답변1

첫 번째 질문은 왜 특별히 /dev/sda1에 의존하는지입니다. 커널의 "root=DEVNAME" 매개변수라고 가정하면 대부분의 배포판에서 이 문제를 해결하는 방법은 init 스크립트가 사용 가능한 모든 장치를 살펴보고 지능적으로 하나를 선택하는 initrd를 사용하는 것입니다. 이것이 많은 배포판에서 "root=LABEL=MY_ROOT"와 같은 말을 허용하는 이유입니다. 커널은 이를 처리하지 않고 init 스크립트는 처리합니다. init 스크립트는 "blkid"와 같은 도구를 실행하여 UUID 또는 파일 시스템 레이블로 블록 장치를 식별할 수 있습니다.

불행하게도 자신만의 initrd를 구축하는 것은 긴 학습 과정이지만 필요한 것을 얻는 데 도움이 되는 많은 가이드가 있습니다.

이제 문제가 mount 명령에 있는 경우 mount는 이미 UUID 또는 LABEL(참고자료 참조 man mount)을 통한 마운트를 지원하므로 이는 매우 간단한 변경입니다.

관련 정보