커널 패닉-동기화되지 않음 : VFS : 알 수없는 블록에 루트 fs를 마운트 할 수 없음 (0,0)


97

10.10에서 11.04로 업그레이드하려고 할 때 다시 시작할 때까지 모두 잘 작동하는 것처럼 보였습니다. 이 오류 메시지는 다음과 같습니다.

Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

우리는 어떻게 고치나요?


1
문제 메인 시스템과는 아무 관련이 없지만 설치 미디어 (USB 스틱)와 관련이 있을 수 있습니다 ... here 여기를 참조하십시오 : askubuntu.com/a/632636/479118
Frank Nocke

내가 충분히 담당자를 가지고 있지 않기 때문에 나는 대답을 게시 할 수 없습니다,하지만 난이 문제를 받았을 때 나는, 라이브 USB 스틱으로 부팅하여 그것을 해결 주 및 EFI 파티션을 설치 , 네트워킹을 가능하게 하고, 실행 sudo apt-get install linux-image-generic최신으로 업그레이드 핵심.
오웬

답변:


82

해당 커널에 대한 initramfs가 없습니다. GRUB 메뉴에서 Ubuntu의 Advanced options 아래에있는 다른 커널을 선택 sudo update-initramfs -u -k version하고 initrd를 생성 한 다음 ( 와 같은 커널 버전 문자열로 version대체) 실행 하십시오 .version4.15.0-36-genericsudo update-grub


2
멀티 부트 시나리오에서 해당 OS에 대해 존재하는 고유 한 커널 옵션을 선택할 때 커널 패닉이 표시되면 어떻게 update-initramfs를 시작합니까?
knocte

3
@Dew, 열악한 코멘트 ...
psusi

2
@knocte, Tomeu Roig의 답변을 참조하십시오.
psusi

1
답이 좋지 않은 것처럼 보이지만 사실입니다!
user3215

2
내가 입력 할 수 없습니다 Ubuntu System또는 Recovery Mode, 어떻게 명령을 작동 여부를 테스트하는 것을 실행할 수 있습니까?
캐스퍼

53

livecd로 시작하고 터미널을여십시오.

sudo fdisk -l
sudo mount /dev/sdax /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt 

이제 update-initramfs오류없이 만들고 업데이트 할 수 있습니다.

update-initramfs -u -k 2.6.38-8-generic (or your version)

당신이 당신의 버전을 모른다면. 사용하다:

dpkg --list | grep linux-image

그리고 Grub을 업데이트하십시오.

update-grub2

시스템을 재부팅하십시오.


1
나는 편집 sudo mount --bind /dev/pts /mnt/dev/pts하고 추가 sudo mount --bind /sys /mnt/sys했다; 이것 없이는 update-grub2불평했다.
Hbf

4
내가 어떻게 발견 할 수 있습니다 정확한을 version ?
knocte

1
EFI를 사용하는 경우 첫 번째 / dev / sdax 이외의 마운트 지점이 없습니다.
Paul Gregoire

@knocte ls /mnt/boot최신 커널 버전을 찾아 보십시오 . 당신이 제대로 수행하려는 경우 또는, 읽기 menuentry 'Ubuntu'에서/mnt/boot/grub/grub.cfg
치로 틸리가新疆改造中心法轮功六四事件

우분투 14.04에서 일했습니다! 은 initrd누락되었다 /boot. 문제는 파일이 어떻게 간단하게 사라질 수 있습니까? 나는 위험한 것처럼 보이지 않았다.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

22

내 상황에서 문제는 /boot용량이 100 % 였기 때문에 마지막 두 커널 업데이트가 성공적으로 완료되지 않았으므로 GRUB2 가 최신 커널을 선택할 때 재부팅 할 때 실패했습니다.

설치된 가장 오래된 커널로 부팅하고 적성을 사용하여 사용하지 않는 커널을 제거하여 문제를 해결했습니다. aptitude 를 사용 하여 제거가 발생한 후 dpkg는 자동으로 손상된 패키지를 구성하려고 시도했지만 이번에는 성공했습니다.


3
이것은 내 솔루션에 가장 가깝습니다. 방금 실행 dpkg --configure -a하면 update-initramfs 후크를 트리거하고 깨진 커널을 수정하기에 충분했습니다.
대칭

별도의 /boot파티션 을 가지고 있다는 것을 의미 합니까?
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

1
그것은 내 도착하기 전에 설정 서버, 그리고 그것은 그것의 자신의 파티션과 무인 업그레이드에 / 부팅으로 구성되었다
sheepeatingtaz

3
sudo apt-get autoremove에 공간이 부족한 경우 이전 커널을 제거 하는 데 사용할 수 있습니다 /boot.
Florian Brucker 5

이전 커널로 부팅 sudo apt-get autoremove하고을 다시 부팅 한 다음 (이전 커널)을 수행 한 sudo apt-get dist-upgrade후이 작업을 수행했습니다. 이것은 내가 가지고있는 작은 테스트 머신에있었습니다. 같은 문제, 100 %/boot
jmlumpkin

19

커널 업데이트가 중단 된 후 (예 : 시스템 충돌 aptitude safe-upgrade) 시스템 오류가 발생한 경우 ,

  1. 이전 커널로 부팅하고
  2. 을 실행하십시오 dpkg --configure -a.

psusi가 설명하는 대로 부팅 설정 구성을 포함하여 업그레이드가 완료됩니다 .


1

커널 부팅 메시지는 사용할 수있는 디스크를 알려줍니다

예를 들어, 테스트 Linux 4.17 가상 머신 설정 에서 올바른 메시지를 마지막 메시지로 바꾸면 다음 root=/dev/vdaroot=/dev/vdb같습니다.

---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)-

그러나 위의 몇 줄에는 다음과 같은 유형의 메시지가 표시됩니다.

VFS: Cannot open root device "vdb" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
fe00          524288 vda
 driver: virtio_blk

기본적으로 vdb발견되지 않았지만 드라이버 /dev/vda로 인해 읽을 수있는 것이 있음 을 알려줍니다 virtio_blk( CONFIG_VIRTIO_BLK=y).


0

cheu 전에 Tomeu의 지침 외에도 다음을 수행해야했습니다.

sudo mount --bind /dev /mnt/dev

또한 chroot 다음에 :

cp -r /usr/lib/i386-linux-gnu/pango /usr/lib/

( 여기에서 왔습니다 )


1
Tomeu는 이미에 장착 /dev을 언급 했습니다 /mnt/dev.
Lekensteyn


0

/ boot 파티션으로 인해이 문제가 발생하여 커널 업데이트가 실패했습니다. GRUB 메뉴의 이전 커널에서 부팅하여이 문제를 해결했습니다.

부팅 할 때 오래된 커널을 제거하기 시작했지만 종속성 문제가 발생하여 먼저 Linux-server 패키지를 제거해야했습니다.

apt-get remove linux-server
apt-get update
apt-get -f install
apt-get upgrade

그런 다음 재부팅하고 모든 것이 잘 작동했습니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.