GRUB_DISABLE_LINUX_UUID=true의 주석 처리를 제거하면 어떻게 되나요?

GRUB_DISABLE_LINUX_UUID=true의 주석 처리를 제거하면 어떻게 되나요?

/etc/default/grub.conf에서 GRUB_DISABLE_LINUX_UUID=true의 주석 처리를 제거하면 어떻게 되나요?

답변1

  • 내 생각엔 그 줄 위의 댓글이 모든 걸 말해주는 것 같아
    # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux

  • 해당 줄의 주석 처리를 제거하면 root=가 UUID가 아닌 장치 이름으로 전달됩니다.

    linux /boot/vmlinuz-2.6.30-1-amd64 root=UUID=...
    에게
    linux /boot/vmlinuz-2.6.30-1-amd64 root=/dev/sdX

  • 그러나 해당 줄의 주석 처리를 제거하는 것은 권장되지 않습니다. 왜냐하면 새 파티션을 삭제/생성하면 파티션 테이블이 변경되기 때문입니다.
  • 그래서 시스템으로 부팅할 수 없습니다.

답변2

주석 처리를 해제하면 다음에 grub이 /boot/grub.cfg를 재생성할 때 UUID 대신 절대 장치 이름을 입력합니다. 즉 /dev/sdXY

따라서 파티션 테이블에서 파티션을 다시 정렬하고(예: 파티션 삽입/삭제) 파티션 번호가 변경되면 grub은 부팅할 커널을 찾을 수 없습니다.

UUID를 사용하면 파티션을 다시 정렬해도 문제가 발생하지 않습니다.

UUID의 단점은 길이가 길어서 기억하기 어렵다는 것입니다.

답변3

실제 거래는 시스템에 디스크를 추가하는 것입니다. 디스크가 이전에 /dev/sda이고 유일한 드라이브로 SATA1에 연결되었고 나중에 두 번째 드라이브를 추가했지만 SATA0에 연결한 경우 /dev/sda가 되고 root= 매핑은 다음과 같습니다. 유효하지 않은. 그러나 UUID는 고유 식별자이므로 이 문제가 없습니다.

또한 여러 개의 확장 카드가 있는 경우 때때로 약간 다른 시간에 감지되어 해당 카드에 연결된 드라이브에 대해 다른 드라이브 이름 할당이 발생합니다. 다시 말하지만, UUID는 영향을 받지 않습니다. 또한 드라이브가 작동하지 않으면 때로는 다른 드라이브가 그 자리를 차지합니다. 예를 들어 /dev/sda가 작동하지 않으면 아마도 다음 부팅 시 /dev/sdb가 마술처럼 /dev/sda가 됩니다. 이런 일이 발생합니다.

시스템이 더 커지거나 그렇게 될 가능성이 높을수록 부팅 시 드라이브 셔플이 발생할 가능성이 더 커집니다.

개인적으로 나는 root=에 UUID를 사용하는 것을 좋아하지 않지만 그것이 어디에 있는지는 알 수 있습니다.

관련 정보