외장 하드 드라이브의 Linux

외장 하드 드라이브의 Linux

외장 하드 드라이브에 Linux를 설치했지만 외장 하드 드라이브의 플러그를 뽑으면 창에 액세스할 수 없습니다(grub 종류는 나타나지만 외장 하드 드라이브에는 grub이 있음). 외장 HD를 다시 넣으면 grub이 나타나고 I 창을 선택한 다음 창에서 HD를 제거하면 창이 정상적으로 작동합니다. HD를 연결하지 않고도 이전처럼 창을 정상적으로 사용할 수 있는 방법이 있나요?

답변1

분명히 내부 드라이브에 grub을 설치했습니다. 아마도 외부 드라이브에 해당 모듈과 grub.cfg가 있지만 부팅 코드(또는 UEFI 시스템의 경우 EFI 바이너리)가 내부 드라이브의 MBR(및 MBR 이후 간격/BIOS 부팅 파티션)에 설치되었습니다. 외장 드라이브를 분리하면 grub RESCUE 쉘이 보일 것입니다.

해결책은 grub을 올바르게 다시 설치하는 것입니다. 예를 들어,

  • /dev/sda: 내부 Windows 드라이브
  • /dev/sdb: 외장 리눅스 드라이브

당신이 한 일은 아마도 다음과 같습니다:

  • grub-install /dev/sda, 묵시적 옵션 으로 구성되고 --boot-directory /bootwhile /boot은 켜져 있습니다./dev/sdb

당신이 해야 할 일은:

  • grub-install /dev/sdb

/dev/sdX 이름은 부팅 중에 변경될 수 있습니다. 따라서 이를 실행하기 전에 어떤 드라이브가 Linux 드라이브인지 확인 lsblk하거나 확인하십시오 .findmnt

그런 다음 내부(Windows) 드라이브의 MBR을 수정합니다.https://technet.microsoft.com/en-us/library/cc749177%28v=ws.10%29.aspx

관련 정보