Hệ thống không còn khởi động, đã bỏ chờ thiết bị gốc, (initramfs), / dev / mapper / gnome-root không tồn tại


10

Sau khi cài đặt bản cập nhật, hệ thống của tôi không còn khởi động được nữa. Tôi đã bật mã hóa toàn bộ đĩa (trình cài đặt cài đặt cho bạn) để nó thường yêu cầu khóa chỉ vài giây sau khi khởi động qua GRUB. Bây giờ, nó bỏ qua yêu cầu lấy chìa khóa, cố gắng tải Gnome và sau đó đi đến màn hình trong hình bên dưới. Hệ thống này là hộp System76 64 bit chạy Ubuntu Gnome 13.04. Điều này đã xảy ra với tôi một lần trong quá khứ, trên Dell XPS 8300 64-bit chạy Ubuntu Gnome Remix 12.10. Trong trường hợp đó tôi đã cài đặt lại hệ điều hành. Tuy nhiên tôi muốn thực sự khắc phục sự cố lần này để tôi biết cách xử lý trong tương lai. Ngoài ra, việc cài đặt lại từ đầu là vô cùng bất tiện.

Sự nghi ngờ của tôi là một cái gì đó đã bị vướng vào một tập tin cấu hình trong / boot sao cho nó không nhận ra đĩa được mã hóa, nhưng tôi không thấy gì khi chọc vào đó. Bạn có ý tưởng nào về cách sửa nó không (ngoài việc cài đặt lại HĐH)?

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/gnome-root does not exist.   
Dropping to a shell! 

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

(initramfs)

Câu trả lời:


9

Tôi đã sửa nó !!! Đối với các thế hệ tương lai, do đó bạn không phải trải qua những ngày đau đớn và những giờ bất tận mà tôi đã làm:

Đầu tiên, tôi có thể khiến hệ thống khởi động từ (initramfs)dấu nhắc bằng cách gõ như sau (Tôi đã sử dụng trang diễn đàn này như một cái nạng):

cryptsetup luksOpen /dev/sda5 sda5_crypt
lvm vgchange -a y
exit

Điều này có hệ thống của tôi để khởi động đúng. Sau khi khởi động, tôi sửa đổi /etc/crypttabđể trỏ đến một UUID khác so với trước đây. Tôi đã chọn UUID từ của tôi /etc/fstab. Lưu giá trị UUID ban đầu. Bạn sẽ cần nó trong một vài bước. Sau đó tôi chạy (từ một thiết bị đầu cuối):

update-initramfs -k all -c

Nếu bạn nhận được một cảnh báo giống như thế này hoặc một cái gì đó tương tự:

WARNING: invalid line in /etc/crypttab

sau đó quay trở lại từ đầu và thay vì sda5_cryptsử dụng những gì có trong bạn crypttab.

Sau đó tôi khởi động lại. Lần này tôi nhận được lời nhắc cho cụm mật khẩu! Nhưng đừng quá phấn khích, vì nó không hoạt động. Tôi đã nhập đúng mật khẩu khoảng 7 lần và nó đã từ chối tất cả. Sau đó nó quay trở lại (initramfs)dấu nhắc sau khoảng 90 giây.

Tôi lặp lại bước một và khởi động lại. Sau đó tôi đã khôi phục giá trị UUID ban đầu cho crypttabbước thứ hai và chạy lại. Sau đó tôi khởi động lại, và THÀNH CÔNG!


5

Với mã hóa toàn bộ đĩa là một tùy chọn trong Ubuntu 14.04, tôi chỉ muốn chỉ ra cách tôi giải quyết vấn đề này, vì thiết bị đầu cuối initramfs của tôi không cho phép tôi sử dụng cryptsetup:

  1. Khởi động từ Live DVD / USB (USB sẽ nhanh hơn rất nhiều).

  2. Mở Terminal và gõ như sau:

    sudo -i
    cryptsetup luksOpen /dev/sda5 sda5_crypt
    # (do any lvm management you need here, I didn't need any.)
    mkdir /mnt/system
    mount /dev/mapper/ubuntu--vg-root /mnt/system
    mount /dev/sda2 /mnt/system/boot
    mount /dev/sda1 /mnt/system/boot/efi (May or may not be needed.)
    for i in /dev/pts /dev /proc /sys; do mount -B $i /mnt/system$i; done
    chroot /mnt/system
    update-initramfs -k all -c
    exit
    for i in /dev/pts /dev /proc /sys; do umount /mnt/system$i; done
    umount /mnt/system/boot/efi # (If you have UEFI.)
    umount /mnt/system/boot
    umount /mnt/system
    
  3. Khởi động lại và hy vọng nó hoạt động.


Tôi thích giải pháp này tốt hơn, vì tôi không phải tìm ra cách nhận dấu nhắc initramfs hoặc thực hiện nhiều hơn một lần khởi động lại. Trong trường hợp của tôi, tôi đã nâng cấp từ Ubuntu 15.04 lên 15.10 và không còn có thể mở khóa ổ đĩa trong khi khởi động. Một bổ sung là tôi thấy rằng tên ánh xạ được cung cấp trên dòng 2 (ví dụ: sda5_crypt) cần khớp với tệp tiền điện tử của bạn.
Der Wolf

1
Ở trên chỉ hoạt động nếu bạn có một mục trong /etc/crypttab. Sau khi nhập chroot theo các bước trên, nhưng trước khi chạy update-initramfs, hãy chạy nano /etc/crypttabvà đảm bảo có một dòng ở đó với tên của trình ánh xạ và ổ UUID. Nếu tệp không tồn tại hoặc trống, update-initramfssẽ không khắc phục sự cố! Thêm dòng crypttab khi ở trong môi trường chroot. Câu trả lời này nên được chỉnh sửa để phản ánh điều này. Ngoài ra, tôi nghĩ rằng cryptsetupchỉ tồn tại trên dấu nhắc initramfs nếu /etc/crypttabtồn tại và có các mục khi initramfs được cập nhật.
Nick

0

Sửa lỗi grub của bạn thông qua việc khởi động thông qua một đĩa CD trực tiếp / live-usb. Tham khảo trang này để biết chi tiết của quá trình. Tham khảo phần "thông qua thiết bị đầu cuối LiveCD" trên trang.

Sửa grub sẽ sửa bất kỳ tệp không đúng định dạng nào mà bạn có thể có trong cấu hình grub.


Cảm ơn vì tiền hỗ trợ. Tôi đã thử tất cả những gì bạn đề nghị nhưng vô ích. Tôi đã làm cho nó chỉ ra mặc dù. Thật là điên rồ ...
Freedom_Ben

0

Kiểm tra xem bạn đã cryptsetupcài đặt trên hệ thống của mình chưa, nó có thể đã bị xóa bằng cách chạy apt-get autoremove. Thêm thông tin .

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.