Đĩa của UUID không được phát hiện (initramfs), lỗi khởi động


18

Tôi không thể khởi động Ubuntu 10.04, với trình khởi động được tích hợp sẵn đưa ra lỗi này:

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)

Cập nhật 1
Lỗi này xảy ra sau khi tôi cập nhật 2.6.32-26kernel phiên bản của mình và khởi động trực tiếp trong Windows.

Các giải pháp rootdelay đã không làm việc. Có bất kỳ cơ hội nào mà uuid của đĩa tôi đã thay đổi (có thể là do windows), tôi có thể đăng nhập vào Ubuntu của mình trước đó nhưng sau khi đăng nhập vào windows và khởi động lại tôi gặp lỗi này. Liên quan đến việc sao lưu, tôi có cần ngay cả khi tôi có các phân vùng không gian làm việc và nhà riêng biệt hơn so với cài đặt Ubuntu không?

Cập nhật 2
Bản cập nhật sau đó đã xảy ra chỉ là một bản cập nhật (không có cài đặt mới) của version 2.6.32-26.Vì vậy, tôi đoán rằng điều này có liên quan đến bản cập nhật cuối cùng của phiên bản kernel này. Ngoài ra, vì nó không phải là một cài đặt mới, không có mục menu mới nào được thêm vào. Có thể điều này xảy ra do việc tôi khởi động lại trong Windows sau khi cập nhật kernel.

Cập nhật 3
Đã cài đặt kernel cũ hơn bằng cách chroot qua USB trực tiếp, vẫn là vấn đề tương tự với kernel, vì vậy có vẻ như vấn đề không phải do cập nhật kernel .

Tôi cũng đã phải đối mặt với vấn đề này sớm hơn nhưng trước đó, tôi chỉ xem xét việc cài đặt lại phân phối dễ dàng hơn (tôi đã sử dụng để phân phối chuyển đổi rất nhiều). Nhưng bây giờ tôi đã cấu hình nó quá xa và vì vậy tìm kiếm một giải pháp cuối cùng.

Cập nhật 4
Ubuntu đã cài đặt lại. Cấu hình lần này dễ dàng hơn nhờ các phân vùng không gian làm việc và nhà riêng biệt. Ngay cả khó khăn tôi không cần giải pháp cho vấn đề này ngay bây giờ nhưng nếu bạn biết bất kỳ giải pháp có thể, xin vui lòng gửi ở đây để có lợi ích trong tương lai.


Hãy thử chạy "blkid" từ dấu nhắc initramfs để liệt kê các uids thiết bị được sắp xếp lại.
João Pinto

Điều gì xảy ra nếu bạn để máy tính ngồi ở dấu nhắc "(initramfs)" trong một phút và sau đó nhập "thoát" và nhấn phím Enter?
Li Lo

đưa ra cùng một lời nhắc một lần nữa, các thông báo trên sẽ được thêm vào vỏ khởi động
crodjer

Tôi đã có cùng một vấn đề, và tìm thấy một giải pháp trong giải pháp "rất ít được bình chọn" này, nhưng nó thực sự hiệu quả! Askubfox.com/a/519814/223469
Aleks

Câu trả lời:


7

Tôi đã có cùng một vấn đề như bộ khởi động luồng và tôi đã giải quyết nó mà không cần cài đặt lại.

Sự cố của tôi xảy ra trong khi tung hứng với cài đặt ảo dựa trên hình ảnh đĩa được sao chép. Điều này dẫn đến một uuid đã thay đổi và bản sao sẽ không bắt đầu. Đây là một bản phác thảo sơ bộ về những gì tôi đã làm.

Lần đầu tiên khởi động bằng hệ thống cứu hộ (cùng phiên bản) và chạy shell trên đĩa không khởi động của bạn. Hãy xem /etc/fstabvà xác nhận các uuids ở đó bằng cách ra blkidlệnh cho mỗi thiết bị. Sửa các mục này vì chúng quan trọng.

Tiếp theo, chúng tôi sửa lỗi grub với:

  • grub-mkconfig
  • update-grub

Sau đó chạy:

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

Điều này sẽ tạo ra một initramdisk mới cho phiên bản của bạn. Nếu bạn không biết phiên bản chính xác mà bạn đang chạy, hãy xem các tệp trong / boot /. Chọn số phiên bản cao nhất sẽ an toàn.

Sau khi bạn thoát khỏi trình giải cứu, đĩa CD trực tiếp ubfox sẽ cung cấp cho bạn menu cuối cùng từ nơi bạn nhập vào trình bao. Chọn "cài đặt Grub" (hoặc tương tự) ở đó và nhập thiết bị vào nơi đặt khu vực khởi động của bạn.

Trên hầu hết các hệ thống (cài đặt tiêu chuẩn) /dev/sdalà đặt cược an toàn. Lưu ý: Windows- hoặc các hệ thống multiboot khác có thể cần các mục khác ở đây!

Cuối cùng, bạn sẽ có thể khởi động từ đĩa được sửa chữa.


1
Điều này làm việc cho tôi, nhưng lệnh update-initramfs là: update-initramfs -k -u 2.6.YOURVERSION-TẠI ĐÂY
Dan

5

Vấn đề dường như là đĩa cứng của bạn hoặc bộ điều khiển không đáp ứng đủ nhanh.

Hãy thử như sau:

  • Khi menu khởi động xuất hiện, có phần trên cùng của danh sách được tô sáng, nhấn e(để chỉnh sửa ).

  • Bạn sẽ thấy một danh sách dài các tham số. Thêm cái này vào nó: rootdelay=130

  • Nhấn Entervà sau đó b( khởi động ). Hãy thử xem nếu bạn khởi động hệ thống bây giờ. Bạn có thể tăng giá trị nếu điều đó không giúp ích lần đầu (nhưng không nhiều, 130 đã quá đủ cho bất kỳ phần cứng nào không bị hỏng).

Tuy nhiên, nó cũng có thể là ổ cứng của bạn bị lỗi. Điều đầu tiên cần làm khi bạn quay lại hệ thống của mình là sao lưu dữ liệu . Nếu bạn muốn an toàn, hãy sao lưu bằng đĩa CD ubfox. Tôi rất mong bạn làm điều đó, sớm hơn là sau này.


1
Đây là sự thật ... những gì đã xảy ra, hãy thử một đĩa CD trực tiếp hoặc USB trực tiếp và sau khi bạn khởi động máy tính để bàn trực tiếp, hãy gắn một ổ cứng ngoài (hy vọng bạn có một cái) và bắt đầu sao lưu dữ liệu của bạn vào ổ cứng ngoài ...
Salih Emin

các rootdelay giải pháp đã không làm việc. Có bất kỳ cơ hội nào mà uuid của đĩa của tôi đã bị thay đổi (có thể là do windows), tôi có thể đăng nhập vào buntu của mình trước đó nhưng sau khi đăng nhập vào windows và khởi động lại tôi gặp lỗi này. Liên quan đến việc sao lưu, tôi có cần phải thậm chí nếu tôi có các phân vùng không gian làm việc và nhà riêng biệt hơn so với cài đặt buntu không?
crodjer

5

Như một vấn đề của thực tế, tôi đã trải nghiệm UUID đĩa thay đổi tự phát một hoặc hai lần. Sự thay đổi có thể là kết quả của một loại tham nhũng nào đó. Tôi sẽ thử như sau:

  • Khởi động máy tính của bạn từ một phương tiện trực tiếp;
  • fdisk -l /dev/sdađể tìm phân vùng bạn đang tìm kiếm; hoặc sử dụng cfdisk; or useGParted (replacesda` bởi ổ cứng của bạn).
  • blkid /dev/sda1(thay thế sda1bằng phân vùng bạn tìm thấy); sử dụng thay thếvol_id ;
  • xem bạn có thể gắn kết phân vùng (sử dụng tệp thiết bị /dev/sda1);
  • kiểm tra xem UUID hiển thị có khớp với UUID trong phân vùng gốc của bạn không /etc/fstab;
  • tạo UUID mới bằng cách sử dụng uuidgenvà áp dụng nó vào phân vùng bằng cách sử dụng tune2fs -U;
  • thay đổi fstabmục nhập cho phù hợp.

Có vẻ như điều gì đó không quan trọng bằng UUID thay đổi mà không có nguyên nhân rõ ràng, nhưng nó có thể xảy ra, có thể là do lỗi. Xem nếu thay đổi UUID thành một giá trị mới sẽ giúp.


1
Các uuid trong dấu nhắc initramfs, đĩa gốc và fstab đều giống nhau. Tôi vẫn thay đổi nó như bạn đã chỉ định nhưng vẫn cùng một vấn đề
crodjer

Có lẽ đây thực sự là một vấn đề liên quan đến bản cập nhật kernel. Bạn có thể gắn hệ thống tập tin từ bên trong shell busybox không? Hãy thử gắn nó bằng tệp thiết bị / dev / sda1 (mutatis mutandis), không nên liên quan đến UUID. Nếu điều đó hoạt động, bạn chỉ có thể chỉnh sửa cấu hình fstab và GRUB của mình để sử dụng các tệp thiết bị thay vì UUID.
loevborg

Ngoài ra, về cài đặt lại - nó không phải là vấn đề lớn nếu bạn tạo một bản sao của thư mục / nhà của bạn và thả nó vào sau khi cài đặt. Sau đó, chỉ là về việc cài đặt cùng một gói các gói (cũng có thể được thực hiện tự động). Tuy nhiên, tôi đồng ý rằng điều đó không thực sự cần thiết và thay vào đó, việc tìm ra vấn đề sẽ sạch sẽ hơn nhiều.
loevborg

2

Khi tôi thấy điều này trên hệ thống của mình, đó là vấn đề sai UUID được đặt làm tham số gốc khởi động /boot/grub/menu.lst.

cat /proc/cmdlinethực sự hiển thị các tham số khởi động được truyền cho initramfs - nếu bạn thấy initramfs đang được yêu cầu gắn phân vùng gốc không tồn tại, rõ ràng là nó sẽ thất bại.

update-grub đã không cập nhật các tham số này cho tôi, nhưng chỉ đơn giản là thực hiện thay thế thủ công cho UUID cũ trong menu.lst đã sửa nó cho tôi.


Đây cũng là cách tôi phải sửa chữa mọi thứ trong quá khứ. Tuy nhiên, lần trước tôi thậm chí không bận tâm đến UUID và chỉ thay thế UUID không chính xác bằng id thiết bị / dev / xxx trong / etc / fstab. Đối với những người khác đang cố gắng khắc phục điều này, cũng xem câu trả lời của @ loevborg.
belacqua

1

Bạn đã có một hạt nhân cũ? Nó có hoạt động không? Kiểm tra / etc / fstab như loevborg đã nói về các bản ghi 'cũ' có thể xảy ra (tôi gặp vấn đề tương tự khi cài đặt lvm và grub2 - có một bản ghi cũ cho / phân vùng khởi động gây ra lỗi)


không .... Tôi có thói quen xóa kernel cũ sau khi thử cài đặt mới 4-5 lần. Bản cập nhật sau đó đã xảy ra chỉ là một bản cập nhật (không có cài đặt mới) của phiên bản 2.6.32-26 . Vì vậy, tôi đoán điều này có liên quan đến bản cập nhật cuối cùng của phiên bản kernel này.
crodjer

Tại sao bạn không thử chroot với một đĩa CD trực tiếp và cài đặt lại kernel này hoặc bản 2.6,35-23 mới nhất?
Pavlos G.

vâng ..... hiện đang tạo một thanh usb trực tiếp
crodjer

Việc cài đặt kernel cũ cũng không hoạt động .... vấn đề dường như không phải là do cập nhật kernel.
crodjer

Sau đó, bạn có thể thử chạy bootinfoscript ( sourceforge.net/projects/bootinfoscript ) và dán kết quả ở đây không?
Pavlos G.

1

Tôi không có ý tưởng gì về những gì có thể gây ra điều này nhưng là một giải pháp bạn chỉ có thể thử cài đặt lại Grub. Tôi nghĩ rằng nó sẽ giải quyết vấn đề của bạn.


1
Tôi đã chro và thử điều này quá nhưng không hoạt động ... cuối cùng tôi đã cài đặt lại bản phân phối.
crodjer

1

Vấn đề này xuất hiện cho tôi sau khi cài đặt libuuid. Tôi đã có thể sửa nó bằng tay và bây giờ nó khởi động tốt, nhưng mỗi lần nó vẫn hiển thị lỗi về việc mất tích blkid. Ngoài ra, lỗi khởi động lại xuất hiện sau khi cập nhật yêu cầu khởi động lại.

UUID trong /proc/cmdlinelà chính xác, tuy nhiên hệ thống không nhận ra nó.


1

Cách khắc phục lỗi Ubuntu: " No init found. Try passing init= bootarg"

Sáng nay, một người bạn đã đến gặp tôi với chiếc laptop không khởi động. Mỗi lần khởi động, hệ thống Ubuntu 10.04 Lucid Lynx của anh ta đưa ra các thông báo lỗi sau:

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.

Giải pháp:

  1. Khởi động từ Ubuntu Live CD;

  2. Mở / Chạy Terminal;

  3. Nhập: sudo fdisk -l(để lấy tên thiết bị), sau đó nhấn ENTER;

    Đĩa / dev / sda: 250,1 GB, 250059350016 byte 255 đầu, 63 cung / rãnh, 30401 xi lanh Đơn vị = xi lanh 16065 * 512 = 8225280 byte Định danh đĩa: * ***

    Khởi động thiết bị Khối kết thúc khối Id Hệ thống / dev / sda1 * 1 30238 242886703+ 83 Linux / dev / sda2 30239 30401 1309297+ 5 Extended / dev / sda5 30239 30401 1309266 82 Trao đổi Linux / Solaris

Tên thiết bị cho hệ thống của bạn tôi dựa trên: /dev/sda1

  1. Gõ: sudo fsck /dev/sda1sau đó nhấn ENTER;

  2. Khởi động lại hệ thống và khởi động bình thường.

    • Máy tính xách tay khởi động bình thường sau khi sửa chữa.

1

Tôi đã gặp vấn đề tương tự - với thông tin bổ sung rằng tôi đã sử dụng blkid (và Tune2fs) để kiểm tra UUID và đó là một kết hợp chính xác. Liệt kê / dev / đĩa / by-uuid cũng cho thấy UUID dự kiến ​​đang ngồi ở đó. Ổ đĩa hoàn toàn có thể gắn kết trong busybox là tốt. Tất cả các tệp bình thường được mong đợi trong [/ mnt] / boot / đều có mặt (đối với kernel 3.13.0-36).

Tôi đã cho máy tính khởi động bằng cách (từ bên trong busybox) thay đổi tham chiếu UUID của / etc / fstab cho phân vùng gốc thành / dev / sda1 (sửa đổi cho phù hợp với thiết lập của bạn). Tuy nhiên, tôi không chắc chắn rằng bước này rất quan trọng, vì một mình nó không tạo ra sự khác biệt. Những gì đã làm là trong lần khởi động lại tiếp theo, ngồi ở grub, nhấn "e" để chỉnh sửa khởi động mặc định của Ubuntu và tước toàn bộ cấu trúc "if ... fi" và thay thế UUID = "linux" bằng / dev / sda1. Cách tiếp cận này cho phép máy tính khởi động đầy đủ.

Cuối cùng, vấn đề hóa ra là một ổ cứng thứ hai bị lỗi đã gây ra sự chậm trễ lớn trong chuỗi tìm kiếm đĩa.


0

Đã thử tất cả các câu trả lời nhưng không thể giải quyết được nên cuối cùng đã phải cài đặt lại ubfox :(.

Lỗi này cũng xảy ra với bạn bè của tôi, nhưng anh ấy cũng không gặp may.


0

Tôi đã tự sửa lỗi này / etc / default / grub

GRUB_CMDLINE_LINUX=" rootdelay=3 "
GRUB_DISABLE_LINUX_UUID=true

Chỉ với cái đầu tiên, nó không đủ. Tôi thậm chí đã thử 130 như đã nêu trước đây. Sau đó, tôi vô hiệu hóa UUID bằng lệnh thứ hai. Dù sao đó cũng là phân vùng gốc LVM, vì vậy dữ liệu UUID là vô nghĩa.


0

Trong trường hợp của tôi:

Các hệ điều hành được cài đặt trong ext4 với Ubuntu 14.04

nhưng tôi đã tìm thấy khi tôi cài đặt phiên bản ub Ubuntu khác như 10.04 sau Ubuntu 10.04

và Cũng biên dịch kernel Ubuntu 10.04 và sử dụng dpkg để cài đặt nó.

lỗi xuất hiện.

Cuối cùng, vấn đề là ở grub.cfg.

Vì Ubuntu 10.04 mặc định sử dụng ext2 cho HĐH nên initramfs sẽ tải trình điều khiển của ext2 không sử dụng trình điều khiển ext4 ...

Vì vậy, thay thế ext2 thành ext4 trong grub.cfg để sửa nó.


0

Tôi gặp vấn đề tương tự với Ubuntu sau nhiều giờ tôi tìm kiếm, tôi chỉ nhận ra rằng grub cố gắng khởi động sdb5 và kali của tôi là trên sda5, vì vậy hãy khởi động với cd trực tiếp và thử gắn hệ điều hành linux với mkdir và lệnh mount nếu nó tồn tại. giữ sự thay đổi trong tải và nhấn e và thay đổi dev gốc và nếu nó hoạt động làm cho nó vĩnh viễn



0

Ngoài tất cả các câu trả lời khác, hãy thử vào menu grub (nhấn SHIFT trong khi khởi động để ở trong tùy chọn Nâng cao của Ubuntu) và chọn hạt nhân làm việc cũ hơn của bạn. Cấu hình grub phải được cập nhật sau khi bạn cài đặt phiên bản kernel mới hơn.


-3

Tôi vừa đi đến chế độ phục hồi. Và chọn một cái gì đó chỉ ra cập nhật grub trong menu. sau đó khắc phục sự cố.


/ dev / đĩa bởi uuid không tồn tại. Tôi không thấy cách cập nhật grub sẽ giải quyết vấn đề này.
Geek Elder
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.