GRUB를 포함하여 /boot 디렉토리의 내용을 삭제하는 실수를 저질렀습니다(그런데 시스템을 부팅할 수 없게 된다는 사실을 인지하지 못한 채 삭제하기 쉽습니다)!
재부팅하기 전에 GRUB을 디렉터리에 다시 복사하려고 했지만 잊어버리고 재부팅했는데 당연히 부팅에 실패했습니다. 암호화된 파일 시스템과 암호화된 홈 디렉터리가 있습니다.
이제 liveUSB에서 다양한 포럼 제안을 시도하고 있습니다(직접 게시하지 않음)....운이 없습니다. 암호화된 드라이브를 성공적으로 마운트했지만(예) 부팅 복구 패키지와 grub 복구 모두에서 오류가 발생합니다. 이것은 내 붙여넣기 상자입니다. http://paste.ubuntu.com/14875709/
이런 상황에 처한 사람이 있습니까? 도움을 줄 수 있습니까?
디스크 드라이브:
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M BIOS boot
/dev/sda2 1050624 1550335 499712 244M Linux filesystem
/dev/sda3 1550336 976771071 975220736 465G Linux filesystem
/dev/sdb1 * 128 3911679 3911552 1.9G b W95 FAT32
아래 제안된 grub-install, update-grub 순서를 시도했는데 일련의 경고가 발생했습니다.
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
그러나 성공한 것 같습니다. grub-install이 종료됩니다.
Installation finished. No error reported.
update-grub은 다음으로 끝납니다.
Adding boot menu entry for EFI firmware configuration
done
그런데, 나도 (이전에) 편집 /etc/default/grub
하고 추가했다는 점을 언급하고 싶습니다.
GRUB_ENABLE_CRYPTODISK=y
다른 포럼에서 제안한 대로 - 꼭 필요한가요?
어쨌든, 재부팅 후 즉시 암호화된 디스크 비밀번호를 요청한 후 이를 수락하는 것처럼 보이고 그럽 메뉴가 표시되며 대부분의 부팅 시퀀스를 완료한 후 다음 오류가 표시됩니다(정확하지 않을 수 있으므로 적어 두었습니다).
drm:intel_pipe_config_compare error: mismatch in ips_enabled (expected 1, found 0)
이는 나에게 busybox 비상 쉘 프롬프트를 보내고 다음과 같은 cat /proc/cmdline
이유로 이 작업을 수행하도록 조언합니다.
/dev/mapper/ubuntu--vgroot does not exist
하지만 존재합니다. liveCD를 통해 설치할 수 있으며 암호화되어 있을 뿐입니다. 그래서 또 갇혔어요.
고쳐 쓰다:제안된 대로 "/etc/lvm/lvm.conf" 편집을 시도했는데 이제 재부팅하면 grub 메뉴가 표시되지만 Ubuntu를 선택한 후 동일한 오류와 함께 다시 비상 셸로 이동합니다.
drm:intel_pipe_config_compare [i915] ERROR mismatch in ips_enabled (expected 1, found 0)
답변1
당신이 우분투에 대해 이야기하고 있기 때문에 그것을 사용한다고 가정하겠습니다.
문제를 해결하려면 다음을 수행하세요.
먼저, 현재 작업 중인지 확인하세요.설치됨실시간 시스템이 아닌 시스템입니다. 라이브 이미지에는 일반적으로 자체 루트 파일 시스템이 있으므로 grub을 다시 설치하기가 더 어렵습니다. 에 루트 파일 시스템이 마운트되어 있다고 가정하면
/mnt
다음 명령을 실행하여 이 작업을 수행할 수 있습니다(모두 루트로 실행되므로 필요한 경우 sudo 또는 이와 유사한 명령을 사용).mount -o bind /dev /mnt/dev mount -t process proc /mnt/proc mount -t sysfs sys /mnt/sys chroot /mnt
마지막 명령은 설치된 시스템에서 쉘을 시작합니다. 이 셸에서 다음 명령을 실행하세요.
- MBR에 grub을 다시 설치하십시오:
grub-install --boot-directory=/boot /dev/sda
. 이는 컴퓨터에 하드 드라이브가 하나만 있거나 여러 개의 하드 드라이브가 있는 경우 슬레이브로 설정되어 있다고 가정합니다sda
. 그렇지 않은 경우 적절하게 조정하십시오. - 좋은 결과를 얻으려면 그럽 메뉴를 다시 생성하십시오
update-grub
. - 이제 쉘을 종료하고 다시 시작하십시오.
모든 것이 정상으로 돌아가야 합니다. 그렇지 않은 경우 실패한 이유에 대한 자세한 내용으로 질문을 업데이트하십시오.
고쳐 쓰다lvmetad
: update-grub이 게스트 시스템 대신 호스트 시스템에서 실행 중인 시스템과 통신 하려고 하기 때문에 여전히 문제가 발생하는 것 같습니다. 이 문제를 해결하는 가장 쉬운 방법은 데몬을 (일시적으로) 비활성화하는 것입니다. 이렇게 하려면 을 편집하고 /etc/lvm/lvm.conf
표시된 설정을 찾아 use_lvmetad = 1
로 설정하십시오 0
. 그런 다음 재구축 initramfs를 실행하십시오 update-initramfs -u -k all
.