Ubuntu는 16.04 커널에서 쉘로 떨어집니다.

Ubuntu는 16.04 커널에서 쉘로 떨어집니다.

나는 몇 시간 동안 문제로 어려움을 겪고 있습니다.

Ubuntu를 처음에는 15.04에서 15.10으로, 그 다음에는 15.10에서 16.04로 업그레이드한 후 새 커널로 부팅할 수 없습니다. 두 번째 업그레이드 후에는 커널 4.4.0-36 및 3.16.0-33이 남습니다(4.2.x의 흔적은 없음). 이로 인해 3.16.0-33을 계속 실행하면서 15.10에서 16.04로 업그레이드했다고 생각됩니다. 이것이 내 문제의 원인일 수 있습니다.

부팅 시(4.4.0-36) 다음 메시지가 표시됩니다. "ALERT! /dev/mapper/ubuntu--vg-root가 존재하지 않습니다. 쉘로 삭제 중입니다!"

3.16.0-33으로 부팅하면 정상적으로 작동합니다.

내가 시도한 것:

  • 커널(4.4.0-36)을 다시 설치했습니다. 변경 없음.
  • busybox에서 "vgchange -ay"를 입력하려고 했지만 관리가 되지 않습니다. 내 키보드가 busybox에서 작동하지 않습니다.
  • 4.4.0-38을 설치했습니다. 같은 결과.
  • 지시를 따르려고 노력하는 중http://pifuge.com/ubuntu/V0Wn-cant-find-lvm-root-dropped-back-to-initramfs그러나 /usr/share/initramfs-tools/scripts/local-top/lvm2 파일에는 "modprobe -q"가 포함되어 있지 않으며 그 후에는 무엇이든 추가할 수 있습니다.

어떤 도움이라도 대단히 감사하겠습니다!

워너

좀 더 자세한 내용은 다음과 같습니다.

  • LVM2를 실행합니다. (분명히) 설치되어 있습니다.
  • 멀티부팅이 없습니다. 그냥 우분투.
  • 암호화 없음(내가 아는 한)
  • Busybox가 이상하게 입력에 응답하지 않습니다. 이는 부팅 방법에 관계없이 동일합니다(3.16.0-33을 실행하지 않으면 시스템이 제대로 부팅됩니다).
  • 쉘(busybox)에 놓기 전에 루트 디렉터리를 약 20번 마운트하려고 시도합니다. 이것이 제공하는 출력은 다음과 같습니다.

시작: 루트 파일 시스템 실행 중 ... 시작: /scripts/local-top 실행 중 ... lvmetad가 아직 활성화되지 않았습니다. sysinit 중 직접 활성화를 사용하여 논리 볼륨 "ubuntu-vg/root" 완료를 찾지 못했습니다. 시작: /scripts/local-premount 실행 중 ... 완료 시작: 루트 파일 시스템을 기다리는 중 ... 시작: /scripts/local-block 실행 중 ... lvmetad가 아직 활성화되지 않았습니다. sysinit 중 직접 활성화를 사용하여 논리를 찾지 못했습니다. 볼륨 "ubuntu-vg/root"가 완료되었습니다.

(이 마지막 것은 20번 반복됩니다)

루트 장치를 기다리는 것을 포기했습니다. 일반적인 문제: Boot args(cat /proc/cmdline) rootdelays 확인(시스템이 충분히 오래 기다렸습니까?) root= 확인(시스템이 잘못된 장치를 기다렸습니까?) 누락된 모듈(cat /proc/modules: ls /dev) "경고! /dev/mapper/ubuntu--vg-root가 존재하지 않습니다. 쉘로 이동합니다!"

답변1

  • grub.cfg "root=/dev/mapper/ubuntu--vg-root"를 "root=UUID=XXXX"로 변경합니다.
  • mountroot 이전 어딘가에 "vgchange -a y"를 추가했습니다.

기본적으로 근본 원인은 루트를 검사할 때 "/dev/mapper/ubuntu--vg-root"가 완전히 준비되지 않은 것입니다. 어떤 방식으로든 vgchange 명령은 lvm 업데이트를 트리거하고 /dev/mapper에 표시할 수 있습니다. 보다 일반적으로 만들려면 개발 매퍼 이름을 사용하는 대신 "UUID"를 사용하는 것이 좋습니다.

답변2

최근에 암호화된 lvm에 루트가 있는 16.04 Ubuntu Server를 설치했습니다. 커널 4.4.0-34에서는 정상적으로 부팅되었지만 4.4.0-36에서는 동일한 문제가 발생했습니다. lvmetad에 대한 메시지를 반복한 다음 쉘로 삭제합니다. 해결 방법으로 4.4.0-34를 기본 부팅 옵션으로 선언하고 자동 업데이트를 해제했습니다. 따라서 4.4.0-34를 설치하면 작동하는 4.4 커널을 얻는 데 도움이 될 수 있습니다. 아직 장기적인 해결책을 찾지 못했습니다.

관련 정보