루트 장치 대기 중, 우분투 --vg-root가 존재하지 않습니다


16

오늘 나는 넷북에 우분투 64 비트를 설치했다. 넷북이 부팅 할 때 오류 보고서가 나타납니다. 파티션에 문제가 있다고 생각합니다.

Gave up waiting for root device. Common problems:
  — Boot args (cat /proc/cmdline)
    — Check rootdelay= (did the system wait long enough?)
    — Check root= (did the system wait for the right device?)
  — Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/ubuntu--vg-root does not exist. Dropping to a shell! 

BusyBox v.1.21.1 (Ubuntu 1:1.21.1-1ubuntu1) built-in shell (ash)   
Enter 'help' for list of built-in commands.  

(initramfs)

요청한대로 lsblk의 출력 :

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232.9G  0 disk 
├─sda1   8:1    0   231G  0 part 
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0     2G  0 part [SWAP]
sr0     11:0    1   1.2G  0 rom  /cdrom
loop0    7:0    0   1.1G  1 loop /rofs

1
실행 lsblk하고 질문에 출력을 추가하십시오.
psusi

6
@psusi 만약 lsblk이용할 수 없다면?
sitilge

답변:


10

lsblk -fs, fdisk / dev / sda의 출력과 p 플래그 및 grub 복구 보고서를 질문에 pastebin 링크로 추가하십시오.

검색을 기반으로, 지금까지 아무 대답을이없는 질문 우분투에 비슷한 질문이있을 것 같다 여기여기에 한 가지 대답은 RAID 및 우분투에 대해 설명하는 주어를.

몇 가지 제안이있는 것으로 보이며, 그중 일부는 일부 사람들에게 효과적입니다.

  1. initframs 프롬프트에서 입력을 시도 ls /dev/mapper하고 루트 볼륨이 나열되어 있는지 확인하십시오. 목록에 없으면 10 초 동안 기다린 후 ls를 다시 실행하십시오.

    이제 나열되면, 입력 exit하고 루트 장치를 찾고 부팅합니다 ( 여기 에서 가져옴)

  2. 편집을 눌러 부팅 설정 e애벌레 경고가 OS를 선택하고 교체 할 때 root=UUID-6500...의해 root=/dev/sdxSDX는 부팅 파티션입니다. 여기서 문제는 UUID가 잘못되었거나 /dev/disk/by-UUID...존재하지 않는 것 같습니다 (1)

  3. all_generic_ide부트 라인의 끝에 매개 변수 를 추가하는 kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=43206294-74ef-434d-aca2-db74b4257590 ro quiet splash all_generic_ide것은 일부 사람들에게는 효과가있는 것 같습니다 (2)
  4. 여기 에서 수퍼 유저 질문 은 오류가 LVM으로 인한 것 같습니다. 해결책은 lvm2를 설치하는 것과 동일하게 제공됩니다.
  5. 동일한 수퍼 유저 사이트에서도 사용 가능한 경우 이전 커널을 사용하여 부팅 할 것을 제안합니다. 일부 사람들에게는 효과가있는 것 같습니다. 이 Recovery옵션을 사용하여 부팅을 시도하면 일부 사람들에게 효과적 일 수 있습니다
  6. nux_man777에 의해 게시 됨 여기 오류가 설치 매체에있을 수 있다고 제안하는 것 같습니다.
  7. 여기에/dev/mapper/ubuntu-vg-root 설명 된대로 오류 는 습격과 관련이있는 것 같습니다 .

    "복사 프로세스가 시작되기 직전에 설치 프로그램 요약 화면에서 고급 단추를 클릭하십시오. 부트 파티션 (Linux 파티션이 아닌 MSDOS 스타일"부모 "파티션)을 / dev / mapper / pdc_feddabdf 또는 dmraid 목록으로 변경하십시오. 이 디스크에서 부팅하려면 확인란을 클릭해야합니다. 설치 프로그램이 grub2를 수정하여 올바른 논리 파티션 / dev / mapper / pdc_feddabdf1 또는 /가있는 항목을 가리 키도록합니다. "

    설치에 관한 자세한 지침은 참조 된 사이트에 있습니다. GRUB 설치에 대한 자세한 내용은 거기를 확인하십시오.

  8. 라이브 설치 미디어로 부팅하고 루트를 사용하여 우분투를 업데이트 chroot하면 일부 사람들에게는 효과가있는 것 같습니다 (cpttripzz here ). chroot에 관한 지침은 여기에 있습니다 . Unix & Linux 에서이 질문 을 참조 할 수도 있습니다 . 자세한 내용은 Arch WikiGentoo Wiki 에서 찾을 수 있습니다 .
  9. RAID에서 기본 IDE에 SATA 컨트롤러를 변경하고 새로 설치하고있는 것은 어떤 사람들을 위해 작동하는 것 같다 여기여기에
  10. IDE 케이블 또는 하드 디스크가 불량 일 수 있습니다 (40 페이지와 동일한 우분투 포럼)

이전 운영 체제는 Win7이었습니다
Jonas Franz





8

특정 우분투 버전 (예 : Xubuntu 18.10)에서이 문제는로 인해 발생할 수 있습니다 apt autoremove. 이 버그 로 인해 apt는 제거하는 것이 좋습니다.

cryptsetup cryptsetup-bin cryptsetup-initramfs cryptsetup-run dmeventd libdevmapper-event1.02.1 liblvm2app2.2 liblvm2cmd2.02 libreadline5 lvm2

LVM을 사용하여 루트 파티션을 마운트 및 암호화 할 수 없기 때문에 시스템을 부팅 할 수 없습니다.

LVM 및 디스크 암호화를 사용하지 않는 경우이 답변은 적합하지 않습니다.

chroot 환경에서 cryptsetup 및 lvm2를 다시 설치하여 문제를 해결할 수있었습니다. 실제 USB 스틱에서 부팅하고 터미널에서 아래 명령을 실행하고 재부팅하십시오.

# find root partition
sudo fdisk -l

# unencrypt partition
#   Note: replace /dev/nvme0n1p3 with your disk
#         replace "nvme0n1p3_crypt" with the correct name 
#         check by running this in chroot:
#         $ cat /etc/crypttab | cut -f1 -d " "
#         nvme0n1p3_crypt
sudo cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt

# mount root partition
sudo vgscan 
sudo vgchange -ay
sudo mount /dev/mapper/xubuntu--vg-root /mnt

# prepare chroot environment
sudo mount /dev/nvme0n1p2 /mnt/boot/   # replace nvme0n1p2 with your boot partition!
sudo mount -o rbind /dev/ /mnt/dev/
sudo mount -t proc proc /mnt/proc/
sudo mount -t sysfs sys /mnt/sys/

# make dns available in chroot
sudo cp /etc/resolv.conf  /mnt/etc/resolv.conf 

# enter chroot
sudo chroot /mnt /bin/bash

# re-install missing packages
apt install cryptsetup lvm2

# re-generate  (this might be done also by apt in the step before, I'm not sure)
update-initramfs -u -k all

# Leave chroot environment - not sure if the following is really necessary...
exit
# Write buffers to disk
sudo sync
# Unmount file systems
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot

Q & A 는 명령 수집에 도움이되었습니다.


1
오, 방금 새 기기를 설치하는 데 3 일 정도의 작업을 저축했습니다. 완벽하게 일했습니다! 대체 nvme0n1p3sda5nvme0n1p2sda1(각각 LVM 내부의 리눅스 파티션과 LVM 외부의 작은 부팅 파티션)
올리버 U

1
@OliverU 잘 작동했습니다! 더 이상 부팅 할 수없는 경우에도 홈 디렉토리와 / etc 등의 일부를 새로 설치하여 복사 할 수 있어야합니다. 초기 설정보다 작업이 적을 것입니다.
lumbric

1
문제가 발생한 후 우분투 18.10에서 완벽하게 작동했습니다 apt autoremove. 위의 Oliver와 마찬가지로 지침에서 nvme0n1p3sda5, nvme0n1p3sda5_crypt, nvme0n1p2→ 를 교체해야했습니다 sda1. 내부 가 당신이 옳은 추측을 했다는 것을 확인하기 chroot때문에 그렇게 두 번 입력 할 필요가 없습니다 . 두 번 입력해야하는 경우 재부팅하지 않고 crytpsetup + LVM2 환경을 닫았다가 다시 여는 것은… cat /etc/crypttab | cut -f1 -d " "chroot
tanius

또한,이 지침은 부팅이 아닌 하드 드라이브를 드라이브 인클로저에 넣고 USB를 통해 다른 (올바르게 작동하는) Ubuntu 컴퓨터에 연결했을 때 효과적이었습니다. 라이브 시스템이 필요하지 않습니다.
tanius

고마워요,이 문제를 해결하기 위해 4 시간 동안 도움이되었습니다. Ubuntu 19.10에서도 작동
WellBloud

3

나는이 문제가 있었고 여기 또는 다른 곳의 어떤 게시물에도 도움이되지 못했습니다. 특히 내 경우 /dev/mapper에는 ubuntu--vg-root그 문제에 대한 내용이 포함되어 있지 않은 것을 알 수 있습니다 . 이는 LVM이 볼륨을 마운트 / 매핑하려고 시도 할 때 문제가 발생했거나 부팅 프로세스에서 초기에 문제가 발생했음을 의미하며,이 오류는 이전 문제에 대한 포괄적 인 증상입니다.

이 중 두 번째는 저의 경우였으며 내가 읽은 initramfs글로 인해 문제를 이해하고 진단 할 수있었습니다. LVM이 작업을 수행하기 전에 무언가 잘못되었다고 의심되는 경우 가장 먼저해야합니다.

필자의 경우 (당신과 같지 않지만 문서화 가치가있는), 나는 전체 디스크 암호화 (LUKS)를 활성화했으며, cryptsetup도구가에서 제거되었으므로 initramfs암호 문구를 잠금 해제하라는 메시지가 표시되지 않았습니다. 드라이브에 액세스 할 /dev/sdaX수 없어 마운트 ubuntu--vg-root할 수 없으므로에 마운트 / 맵핑 할 수 없습니다 /dev/mapper. cryptsetupBusyBox 프롬프트에서 실행하려고 하면 ll know you have the same issue if thecryptsetup을 찾을 수 없습니다.

이 솔루션은 라이브 CD로 부팅을했다 수동으로 드라이브 잠금을 해제 cryptsetup, chroot루트 파일 시스템, 다시 설치로 cryptsetup및 전화 update-initramfs.


우분투에 오신 것을 환영합니다! :-) 마지막 줄을 실제 명령으로 확장 할 수 있습니까?
Fabby

1
NVMe 드라이브에서이 사례 (LUKS + LVM)에 대한 스크립트를 작성했지만이를 /dev/sd*드라이브 스타일로 확장 할 수도 있습니다. unix.stackexchange.com/a/467113/103652
dragon788

2

@ Zanna의 답변에서와 같이 암호화 관련 문제가있는 사람들은 다음과 유사한 절차를 따라야합니다.

  1. 라이브 배포판 / USB를 사용하여 시스템으로 부팅하십시오.

  2. 암호화 된 파티션을 마운트하십시오 (우분투에서는 데스크탑에서 사용 가능한 암호화 된 볼륨을 볼 수 있습니다. 암호를 두 번 클릭하고 입력하면 충분합니다). 파티션은에 마운트됩니다 /media/ubuntu/[mount point]. (사용자 이름은 배포판에 따라 변경됩니다 (예 : Xubuntu는를 사용 xubuntu합니다).

  3. 터미널 창과 버번을 엽니 다.

  4. 시스템 내에서 마운트 지점에 적절한 바인딩을 설정하십시오.

    sudo su -
    mount -t auto /dev/sdX /media/ubuntu/[mount point]/boot
    mount --bind /dev /media/ubuntu/[mount point]/dev
    mount --bind /dev/pts /media/ubuntu/[mount point]/dev/pts
    mount --bind /sys /media/ubuntu/[mount point]/sys
    
  5. chroot 암호화 된 디스크의 루트 디렉토리에 : chroot /media/ubuntu/[mount point]

  6. 시스템에 적절한 initramfs패키지가 설치되어 있는지 확인하십시오 sudo apt install cryptsetup-initramfs lvm2..

  7. 비판적으로, 구성 파일 initramfs에 cryptsetup 바이너리가 포함되도록 강제해야합니다.이 파일 은 어느 시점에서 제거되어 다음과 같이 보입니다 : nano /etc/cryptsetup-initramfs/conf-hook, 주석 처리를 제거하고 CRYPTSETUP읽는지 확인하십시오 CRYPTSETUP=Y.

  8. 마지막으로을 실행 update-initramfs -u -k all하고 종료 한 다음 라이브 미디어를 당기고 다시 시작하십시오.

여기의 마일리지는 시스템에서 발생한 상황에 따라 달라질 수 있습니다. 예를 들어 LVM 그룹 이름이나 UUID를 변경 한 경우 올바른 식별자 를 정렬 /etc/crypttab하고 /etc/fstab사용해야합니다. 나와 같이 한 릴리스에서 다른 릴리스로 마이그레이션하는 경우 동일한 그룹 이름을 가진 두 개의 암호화 된 볼륨이있을 수 있습니다. 이렇게하면 디스크를 마운트하기가 다소 어려워집니다 (UUID를 명시 적으로 사용해야 함).

결국, Xubuntu 18.10으로의 업그레이드는이 때문에 끔찍했습니다. (커널로의 업그레이드를 가져온 후에는 재고 시스템이 재부팅되지 않습니다!) 최소한 현재 설치되어있는 시스템에서는 재부팅을 통해 시스템이 안정적입니다.

Nb, 인터넷을 통해 솔루션을 찾게 한 ACPI 오류는 빨간 청어였습니다. 암호화 된 디스크에서 부팅 할 수 있는지 여부와는 관련이 없습니다.


무엇 sdX이 경우에? LiveCD로 부팅 할 때 /boot파티션 이 없으므로 어떤 파티션을 가져야하는지 명확하지 않습니다.
ralien

@ralien — 대부분의 시스템에서 sdX암호화 된 파티션을 유지하는 드라이브 sda입니다. 필자의 경우 sda새로 설치하는 동안 주 디스크 ( )를 암호화했습니다 .
Ethan

0

다음을 시도하십시오 :

(initramfs) reboot

그런 다음 OS 선택기 프롬프트에서 이전 커널로 부팅 해보십시오.

성공하면 @One Face의 글 머리 기호 4와 5에 제안 된 것처럼 문제가 해결 될 것입니다.

sudo apt-get install lvm2

lvm2가 설치되어 있지 않으면 이전 커널이 부팅되지 않습니다. lvm2 패키지와 커널은 연결되어 있지 않습니다. Rescue System으로 부팅하고 chroot를 통해 패키지를 설치해야합니다.
PRIHLOP
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.