UUID 별 디스크가 감지되지 않음 (initramfs), 부팅 실패


18

내장 된 부팅 쉘을 사용하여 Ubuntu 10.04를 부팅 할 수 없습니다.

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/disk/by-uuid/aa91b9fe-1e27-44d7-9c1b-72dd7d4e8575 does not exist.   
Dropping to a shell! 

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

(initramfs)

업데이트 1
이 오류는 2.6.32-26버전 커널을 업데이트 하고 Windows에서 직접 부팅 한 후에 발생했습니다 .

rootdelay 솔루션은 작동하지 않았다. 내 디스크의 UUID가 변경되었을 가능성이 있습니까 (아마도 Windows에 의해), 나는 우분투에 일찍 로그인 할 수 있지만 Windows에 로그인 한 후 재부팅하면이 오류가 발생합니다. 백업과 관련하여 Ubuntu 설치와 별개의 홈 및 작업 영역 파티션이 있어도해야합니까?

업데이트 2
이 문제가 발생한 후의 업데이트는 단지 새로운 설치가 아니기 version 2.6.32-26.때문에이 커널 버전의 마지막 업데이트와 관련이있는 것 같습니다. 또한 새 설치가 아니기 때문에 새 메뉴 항목이 추가되지 않았습니다. 커널 업데이트 후 Windows에서 재부팅 하면이 문제가 발생할 수 있습니다 .

업데이트 3
라이브 USB를 통해 chrooting하여 이전 커널을 설치했지만 여전히 커널과 동일한 문제이므로 커널 업데이트 로 인한 문제는 아닙니다 .

나는이 문제를 더 일찍 직면했지만 그때는 배포판을 쉽게 다시 설치하는 것을 고려했습니다 (많은 배포판을 사용했습니다). 그러나 지금은 너무 멀리 구성하여 마지막 수단을 찾고있었습니다.

업데이트 4
재설치 된 Ubuntu. 별도의 홈 파티션과 작업 공간 파티션으로 인해 구성이 쉬워졌습니다. 힘든 지금도이 문제의 해결책이 필요하지 않지만 가능한 해결책을 알고 있다면 미래의 이익을 위해 여기에 게시하십시오.


initramfs 프롬프트에서 "blkid"를 실행하여 인식 된 장치 uid를 나열하십시오.
João Pinto

컴퓨터가 busybox "(initramfs)"프롬프트에 잠시 대기 한 다음 "exit"를 입력하고 Enter 키를 누르면 어떻게됩니까?
Li Lo

같은 프롬프트가 다시 위의 메시지가 부트 쉘에 추가 얻을 밖으로 준다
crodjer

나는 똑같은 문제를 겪고이 "매우 작은 투표"솔루션에서 해결책을 찾았지만 실제로 작동합니다! askubuntu.com/a/519814/223469
Aleks

답변:


7

스레드 스타터와 같은 문제가 있었고 다시 설치하지 않고 해결했습니다.

복사 된 디스크 이미지를 기반으로 가상 설치로 저글링하는 동안 문제가 발생했습니다. 이로 인해 UUID가 변경되어 복사가 시작되지 않습니다. 이것은 내가 한 일의 대략적인 스케치입니다.

먼저 복구 시스템 (동일 버전)을 사용하여 부팅하고 부팅하지 않는 디스크에서 쉘을 실행하십시오. 에서보세요 /etc/fstab과를 실행하여 거기에 UUID를 확인blkid각 장치에 명령을 . 이 항목을 중요하게 수정하십시오.

다음으로 grub을 다음과 같이 수정합니다.

  • grub-mkconfig
  • update-grub

그런 다음 다음을 실행하십시오.

  • update-initramfs -u /boot/initrd.img-2.6.YOURVERSION-HERE

버전에 맞는 새로운 initramdisk가 생성됩니다. 실행중인 정확한 버전을 모르는 경우 / boot /의 파일을 살펴보십시오. 가장 높은 버전 번호를 선택하는 것이 안전해야합니다.

복구 쉘을 종료하면 우분투 라이브 CD는 쉘에 들어간 마지막 메뉴를 제공합니다. "Grub 설치"를 선택하고 부트 섹터를 넣을 장치를 입력하십시오.

대부분의 시스템 (표준 설치) /dev/sda은 안전한 방법입니다. 주의 : Windows 또는 다른 멀티 부팅 시스템은 여기에 다른 항목이 필요할 수 있습니다!

마지막으로 복구 된 디스크에서 부팅 할 수 있어야합니다.


1
이것은 나를 위해 일했지만 update-initramfs 명령은 다음과 같습니다. update-initramfs -k -u 2.6.YOURVERSION-HERE
Dan

5

문제는 하드 디스크 또는 컨트롤러가 충분히 빠르게 응답하지 않는 것 같습니다.

다음을 시도하십시오 :

  • 부팅 메뉴가 나타나면 목록의 상단을 강조 표시 한 상태에서 e( 편집 )을 누릅니다 .

  • 긴 매개 변수 목록이 표시됩니다. 이것에 추가하십시오 : rootdelay=130

  • 히트 Enterb( 부팅 ). 지금 시스템이 부팅되는지 확인하십시오. 처음에는 도움이되지 않으면 값을 늘릴 수 있습니다 (그러나 130은 이미 고장난 하드웨어에 충분하지 않습니다).

그러나 하드 드라이브에 문제가있을 수도 있습니다. 일단 시스템으로 돌아 가면 가장 먼저해야 할 일은 데이터를 백업하는 것 입니다. 안전을 원한다면 우분투 CD를 사용하여 백업하십시오. 나는 당신이 그렇게하기보다는 빨리 할 것을 강력히 권합니다.


1
이것은 사실입니다 ... 라이브 CD 또는 라이브 USB를 시도하고 라이브 데스크탑으로 부팅 한 후 외장 하드 드라이브를 연결하고 (하드웨어가 있으면) 외장 하드 디스크에 데이터 백업을 시작하십시오 ...
Salih Emin

rootdelay의 솔루션은 작동하지 않았다. 내 디스크의 UUID가 변경되었을 가능성이 있습니까? 백업에 관한 한, buntu 설치와 별도로 별도의 홈 파티션과 작업 공간 파티션이 있어도됩니까?
crodjer

5

사실 디스크 UUID가 한두 번 자발적으로 변경되는 것을 경험했습니다. 변경은 일종의 손상으로 인한 것일 수 있습니다. 나는 다음을 시도 할 것이다 :

  • 라이브 미디어에서 컴퓨터를 부팅하십시오.
  • fdisk -l /dev/sda찾고있는 파티션을 찾기 위해; 또는 하드 드라이브에서 cfdisk; or usegparted (replacesda`를 사용하십시오).
  • blkid /dev/sda1( sda1찾은 파티션으로 교체 ); 대안 적으로 사용 vol_id;
  • 장치 파일을 사용하여 파티션을 마운트 할 수 있는지 확인하십시오 /dev/sda1.
  • 표시된 UUID가 루트 파티션의 UUID와 일치하는지 확인하십시오 /etc/fstab.
  • 를 사용하여 새 UUID를 생성하고 uuidgen이를 사용하여 파티션에 적용하십시오 tune2fs -U.
  • fstab그에 따라 항목을 변경하십시오 .

UUID와 같이 중요한 것이 명백한 원인없이 변경되는 것처럼 보이지는 않지만 버그로 인해 발생할 수 있습니다. UUID를 새로운 값으로 변경하는 것이 도움이되는지 확인하십시오.


1
initramfs 프롬프트, 루트 디스크 및 fstab의 uuid는 동일합니다. 나는 당신이 지정한대로 여전히 그것을 변경했지만 여전히 같은 문제
crodjer

아마도 이것은 실제로 커널 업데이트와 관련된 문제 일 것입니다. busybox 쉘 내부에서 파일 시스템을 마운트 할 수 있습니까? UUID와 관련이없는 장치 파일 / dev / sda1 (mutatis mutandis)을 사용하여 마운트하십시오. 그래도 작동한다면 fstab 및 GRUB 구성을 편집하여 UUID가 아닌 장치 파일을 사용할 수 있습니다.
loevborg

또한 다시 설치에 대해-/ home 디렉토리의 사본을 만들어 설치 후 삭제하면 큰 문제가되지 않습니다. 그런 다음 동일한 패키지 세트를 설치하는 것입니다 (자동으로 수행 할 수도 있음). 나는 그것이 실제로 필요하지 않아야하며 대신 문제를 찾는 것이 훨씬 깨끗하다는 데 동의합니다.
loevborg

2

내 시스템에서 이것을 보았을 때의 UUID가 부팅 루트 매개 변수로 설정되어 잘못되었습니다 /boot/grub/menu.lst.

cat /proc/cmdline실제로 initramfs에 전달 된 부팅 매개 변수를 보여줍니다. 만약 존재하지 않는 루트 파티션을 마운트하라는 initramfs가 알려지면 분명히 실패 할 것입니다.

update-grub 나를 위해 이러한 매개 변수를 업데이트하지 않았지만 단순히 메뉴에서 이전 UUID를 수동으로 교체하면됩니다.


이것은 또한 과거에 문제를 해결해야했던 방법입니다. 그러나 지난번에는 UUID를 신경 쓰지 않고 / etc / fstab의 / dev / xxx 장치 ID로 잘못된 UUID를 바꿨습니다. 이 문제를 해결하려는 다른 사람들은 @loevborg의 답변을 참조하십시오.
belacqua

1

오래된 커널이 있습니까? 작동합니까? loevborg가 가능한 'stale'레코드에 대해 말했듯이 / etc / fstab을 확인하십시오.


아니요 .... 새 설치를 4-5 회 테스트 한 후 이전 커널을 삭제하는 습관이 있습니다. 이 이후의 업데이트는 단지 2.6.32-26 버전의 업데이트 (새 설치 없음) 였습니다 . 따라서 이것이 이번 커널 버전의 마지막 업데이트와 관련이 있다고 생각합니다.
crodjer

라이브 CD로 chroot를 시도하고이 커널 또는 최신 2.6.35-23을 다시 설치하지 않으시겠습니까?
Pavlos G.

그래 ..... 현재 라이브 USB 스틱 만들기
crodjer

오래된 커널을 설치해도 작동하지 않습니다 .... 결국 커널 업데이트로 인한 문제는 아닌 것 같습니다.
crodjer

그런 다음 bootsinfoscript ( sourceforge.net/projects/bootinfoscript ) 를 실행 하고 결과를 여기에 붙여 넣을 수 있습니까?
Pavlos G.

1

이 문제의 원인을 알지 못하지만 솔루션으로 Grub 만 다시 설치할 수 있습니다. 나는 그것이 당신의 문제를 해결할 것이라고 생각합니다.


1
나는 chrooted하고 이것을 시도했지만 작동하지 않았다 ... 마지막으로 배포판을 다시 설치했습니다.
crodjer

1

이 문제는 설치 후 나에게 나타났다 libuuid. 수동으로 고칠 수 있었지만 이제는 정상적으로 부팅되지만 여전히 누락에 대한 오류가 표시됩니다blkid 됩니다. 또한 재부팅이 필요한 업데이트 후에 부팅 실패가 다시 나타납니다.

의 UUID /proc/cmdline가 정확하지만 시스템이이를 인식하지 못합니다.


1

우분투 오류 해결 방법 : "No init found. Try passing init= bootarg "

오늘 아침, 친구가 부팅하지 않을 노트북을 가지고왔다. 부팅 할 때마다 그의 Ubuntu 10.04 Lucid Lynx 시스템은 다음 오류 메시지를 출력합니다.

mount: mounting /dev/disk/by-uuid/***************************** on /root
failed: Invalid argument
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
Target file system doesn't have /sbin/init
No init found. Try passing init= bootarg



Busybox v1.13.3 (Ubuntu 1:1.13.3-1ubuntu7) built-in shell (ash)
Enter 'help' for a list of built-in commands
(initramfs) _

Booting into "Recovery Mode" as well as choosing the other kernels listed in grub didn't help at all.

해결책:

  1. Ubuntu Live CD에서 부팅하십시오.

  2. 터미널 열기 / 실행;

  3. sudo fdisk -l(장치 이름을 얻으려면) 다음을 입력하십시오. ENTER;

    디스크 / dev / sda : 250.1 GB, 250059350016 바이트 255 헤드, 63 섹터 / 트랙, 30401 실린더 단위 = 16065 * 512 = 8225280 바이트의 실린더 디스크 식별자 : * ***

    장치 부트 시작 끝 블록 ID 시스템 / dev / sda1 * 1 30238 242886703+ 83 Linux / dev / sda2 30239 30401 1309297+ 5 확장 / dev / sda5 30239 30401 1309266 82 Linux 스왑 / Solaris

위의 친구 시스템의 장치 이름 : /dev/sda1

  1. sudo fsck /dev/sda1다음을 입력하십시오 ENTER.

  2. 시스템을 재시작하고 정상적으로 부팅하십시오.

    • 수정 후 노트북이 정상적으로 부팅되었습니다.

1

나는 같은 문제를 겪고 있었다-내가 가지고 있는 여분의 정보 UUID를 확인하는 데 사용 BLKID (와 tune2fs)를, 그리고 정확히 일치합니다. / dev / disk / by-uuid 목록도 예상되는 UUID를 보여줍니다. 드라이브는 busybox 내에서도 완벽하게 장착 할 수 있습니다. [/ mnt] / boot /에 필요한 모든 일반 파일이 있습니다 (커널 3.13.0-36).

(busybox 내부에서) 루트 파티션에 대한 / etc / fstab의 UUID 참조를 / dev / sda1 (설정에 맞게 수정)로 변경하여 컴퓨터를 부팅했습니다. 그러나이 단계가 중요한 것은 확실하지 않습니다. 그 자체만으로는 차이가 없었기 때문입니다. 무엇을 했습니까 은 / dev에 = 편집 우분투 기본 부팅에 "E"를 타격, GRUB에 앉아, 전체 "만약 ... Fi를"구문을 제거하고, "리눅스"라인의 UUID를 교체, 다음 재부팅시했다 / sda1 이 방법으로 컴퓨터를 완전히 부팅 할 수있었습니다.

결국 문제는 두 번째 하드 드라이브 고장으로 판명되었으며 디스크 검색 순서가 크게 지연되었습니다.


0

모든 답변을 시도했지만 해결할 수 없으므로 마침내 우분투를 다시 설치해야했습니다.

이 같은 오류가 내 친구들도 나왔지만 그는 운이 없었습니다.


0

나는 / etc / default / grub 파일을 편집하여 이것을 고쳤다.

GRUB_CMDLINE_LINUX=" rootdelay=3 "
GRUB_DISABLE_LINUX_UUID=true

첫 번째 것만으로는 충분하지 않았습니다. 이전에 언급 한대로 130을 시도했습니다. 그런 다음 두 번째 명령으로 UUID를 비활성화했습니다. 어쨌든 LVM 루트 파티션 이었으므로 UUID 데이터는 의미가 없었습니다.


0

나의 경우에는:

OS는 Ubuntu 14.04와 함께 ext4에 설치됩니다

우분투 10.04 이후 10.04와 같은 다른 우분투 버전을 설치할 때 발견했습니다.

또한 Ubuntu 10.04 커널을 컴파일하고 dpkg를 사용하여 설치하십시오.

오류가 나타납니다.

마지막으로 문제는 grub.cfg에 있습니다.

Ubuntu 10.04는 기본적으로 OS 용 ext2를 사용하므로 initramfs는 ext2 드라이버를 사용하지 않고 ext2의 드라이버를로드합니다 ...

따라서 grub.cfg에서 ext2를 ext4로 바꾸어 수정하십시오.


0

나는 검색 한 후 우분투에서 같은 문제가 있습니다. 그냥 grub이 sdb5를 부팅하려고 시도하고 내 kali가 sda5에 있다는 것을 깨달았습니다. 라이브 CD로 부팅하고 mkdir로 ur Linux os를 마운트하고 존재하는 경우 mount 명령을 시도하십시오. 부하를 이동하고 e를 누르고 루트 개발을 변경하고 작동하면 영구적으로 만듭니다.



0

다른 모든 답변 외에도 grub 메뉴 (우분투 고급 옵션으로 부팅하는 동안 Shift 키를 누름)로 이동하여 이전 작업 커널을 선택하십시오. 최신 커널 버전을 설치 한 후 grub 구성을 업데이트해야합니다.


-3

방금 복구 모드로갔습니다. 그리고 메뉴에서 그럽 업데이트를 나타내는 것을 선택하십시오. 그런 다음 문제를 해결하십시오.


uuid의 / dev / disk가 존재하지 않습니다. grub을 업데이트하면이 문제가 어떻게 해결되는지 알 수 없습니다.
Geek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.