Đã chờ đợi thiết bị root, ubfox - vg-root không tồn tại


16

hôm nay tôi đã cài đặt Ubuntu 64-bit trên netbook. Khi netbook khởi động này, báo cáo lỗi xuất hiện. Tôi nghĩ rằng có một vấn đề với các phân vùng.

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)

Đầu ra của lsblk theo yêu cầu:

$ 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
chạy lsblkvà thêm đầu ra cho câu hỏi của bạn.
psusi

6
@psusi Nếu lsblkkhông có sẵn thì sao?
sitilge 15/08/2015

Câu trả lời:


10

Vui lòng thêm các kết quả đầu ra của lsblk -fs, fdisk / dev / sda với cờ p và báo cáo sửa chữa grub cho câu hỏi dưới dạng liên kết pastebin.

Dựa trên tìm kiếm, dường như có những câu hỏi tương tự trên Ask Ubuntu không có câu trả lời cập nhật tại đâyỞ đây có một câu trả lời giải thích về đột kích và ubfox.

Dường như có một số gợi ý, một số trong đó dường như làm việc cho một số người.

  1. Từ dấu nhắc initframs hãy thử gõ ls /dev/mappervà xem nếu khối lượng gốc của bạn được liệt kê. Nếu nó không được liệt kê, hãy thử đợi 10 giây và chạy lại ls.

    Nếu nó được liệt kê, hãy gõ exitvà bây giờ nó sẽ tìm thiết bị gốc và khởi động (lấy từ đây

  2. Chỉnh sửa cấu hình khởi động bằng cách nhấn ekhi grub alert để chọn HĐH và thay thế root=UUID-6500...bằng root=/dev/sdxnơi sdx là phân vùng khởi động. Vấn đề ở đây dường như là UUID sai hoặc /dev/disk/by-UUID...không tồn tại (1)

  3. Việc thêm tham số all_generic_idevào cuối dòng khởi động kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=43206294-74ef-434d-aca2-db74b4257590 ro quiet splash all_generic_idedường như có hiệu quả đối với một số người (2)
  4. Câu hỏi Super User ở đây , dường như gợi ý lỗi là do LVM. Giải pháp cũng được đưa ra trong cùng một đó là cài đặt lvm2.
  5. Trang web Super User tương tự cũng đề xuất khả năng khởi động bằng Kernel cũ hơn, nếu có. Nó dường như làm việc cho một số người. Cố gắng khởi động bằng Recoverytùy chọn có thể có hiệu quả với một số người
  6. Đăng bởi nux_man777 ở đây dường như cho thấy lỗi có thể trong phương tiện cài đặt.
  7. Lỗi /dev/mapper/ubuntu-vg-rootdường như có liên quan đến cuộc đột kích như được mô tả ở đây .

    "Trong màn hình tóm tắt trình cài đặt ngay trước khi quá trình sao chép bắt đầu, hãy nhấp vào nút Nâng cao. Thay đổi phân vùng khởi động (đây là phân vùng" cha mẹ "kiểu MSDOS chứ không phải phân vùng Linux) thành / dev / mapper / pdc_feddabdf (hoặc bất kỳ danh sách nào sợ như phân vùng fakeraid của bạn) Hãy chắc chắn rằng hộp kiểm được nhấp để khởi động từ đĩa này. Lưu ý rằng trình cài đặt sẽ sửa đổi grub2 để trỏ đến phân vùng logic / dev / mapper / pdc_feddabdf1 hoặc bất cứ điều gì / đang bật. "

    Hướng dẫn chi tiết về cài đặt được đưa ra trong trang web được giới thiệu. Vui lòng kiểm tra ở đó để biết thêm thông tin về cài đặt grub.

  8. Khởi động vào phương tiện cài đặt trực tiếp và cập nhật Ubuntu bằng cách thay đổi root bằng cách sử dụng chrootdường như có hiệu quả với một số người (được đề xuất bởi cpttripzz tại đây ). Hướng dẫn về chroot là ở đây . Bạn cũng có thể tham khảo câu hỏi này tại Unix & Linux. Thông tin chi tiết có thể được tìm thấy tại Arch WikiGentoo Wiki .
  9. Thay đổi Bộ điều khiển SATA thành IDE gốc từ RAID và thực hiện cài đặt mới dường như có hiệu quả đối với một số người ở đâyở đây
  10. Cáp IDE hoặc đĩa cứng có thể xấu (cùng diễn đàn ubfox như trên trang 40)

Hệ điều hành trước đó là Win7
Jonas Franz



Sửa chữa khởi động: paste.ubfox.com/9660149
Jonas Franz


8

Trong một số phiên bản Ubuntu nhất định (ví dụ Xubfox 18.10), sự cố này có thể do một apt autoremove. Do lỗi này, apt sẽ đề nghị xóa

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

điều này làm cho hệ thống không thể khởi động được (vì phần gốc có thể được gắn và không được mã hóa bằng LVM).

Nếu bạn không sử dụng LVM và mã hóa đĩa, câu trả lời này có lẽ không dành cho bạn.

Tôi đã có thể khắc phục bằng cách cài đặt lại cryptsetup và lvm2 trong môi trường chroot: khởi động từ thanh USB trực tiếp, chạy các lệnh bên dưới trong thiết bị đầu cuối, khởi động lại.

# 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

Đây Q & A đã giúp tôi thu thập các lệnh.


1
Ồ, bạn vừa tiết kiệm cho tôi khoảng ba ngày làm việc tôi sẽ thiết lập một thiết bị mới. Làm việc hoàn hảo! Thay thế nvme0n1p3bằng sda5nvme0n1p2với sda1(phân vùng linux bên trong LVM và phân vùng khởi động nhỏ bên ngoài LVM, tương ứng)
Oliver U

1
@OliverU thật tuyệt khi nó hoạt động! Ngay cả khi bạn không thể làm cho nó khởi động được nữa, bạn vẫn có thể sao chép thư mục chính của mình và có thể là một phần của / etc hoặc hơn để cài đặt mới. Đó có lẽ là công việc ít hơn so với thiết lập inital.
thắt lưng

1
Đã hoạt động hoàn hảo cho Ubuntu 18.10, nơi sự cố xảy ra với tôi sau sự cố apt autoremove. Giống như Oliver ở trên, tôi chỉ phải thay thế các hướng dẫn sau: nvme0n1p3sda5, nvme0n1p3sda5_crypt, nvme0n1p2sda1. Hãy đoán đúng như vậy, không cần nhập chroothai lần vì cat /etc/crypttab | cut -f1 -d " "bên trong chrootsẽ chỉ xác nhận bạn đã đoán đúng. Nếu bạn cần nhập hai lần, hãy làm như vậy sau khi khởi động lại như đóng và mở lại môi trường crytpsetup + LVM2 mà không cần khởi động lại có vẻ phức tạp.
tanius

Cũng cần lưu ý, các hướng dẫn này hoạt động rất tốt với ổ cứng không khởi động được đặt trong vỏ ổ đĩa và được gắn vào một máy tính Ubuntu khác (hoạt động đúng cách) thông qua USB. Không cần một hệ thống sống rồi.
tanius

Cảm ơn người đàn ông, điều này đã giúp sau 4 giờ cố gắng khắc phục điều này. Hoạt động ngay cả trên Ubuntu 19.10
WellBloud

3

Tôi đã có vấn đề này và không có gì trên bất kỳ bài viết nào ở đây hoặc ở nơi khác có thể giúp đỡ. Cụ thể trong trường hợp của tôi, tôi có thể thấy rằng /dev/mappernó không chứa ubuntu--vg-roothoặc bất cứ điều gì khác cho vấn đề đó. Điều này có nghĩa là đã xảy ra sự cố khi LVM cố gắn / ánh xạ âm lượng HOẶC có lỗi xảy ra trước đó trong quá trình khởi động và lỗi này chỉ là một triệu chứng dễ hiểu cho bất kỳ vấn đề nào trước đó.

Thứ hai trong số này là trường hợp của tôi và chỉ vì tôi đọc về initramfstôi mới có thể hiểu và chẩn đoán vấn đề. Đây sẽ là điều đầu tiên bạn làm nếu bạn nghi ngờ có điều gì đó không ổn trước khi LVM làm việc đó.

Trong trường hợp của tôi (có thể không giống với bạn nhưng đáng để ghi lại tài liệu), tôi đã bật mã hóa toàn bộ đĩa (LUKS) và bằng cách nào đó, các cryptsetupcông cụ đã bị xóa initramfs, do đó tôi không được nhắc nhập cụm mật khẩu để mở khóa và các ổ đĩa không thể truy cập được, điều đó có nghĩa là /dev/sdaXkhông thể gắn được và do đó ubuntu--vg-rootkhông thể gắn / ánh xạ vào /dev/mapper. Nếu bạn cố chạy cryptsetuptừ dấu nhắc BusyBox, bạn ll know you have the same issue if thekhông thể tìm thấy cryptsetup`.

Giải pháp là khởi động từ LiveCD, mở khóa ổ đĩa bằng tay cryptsetup, chrootvào hệ thống tập tin gốc, cài đặt lại cryptsetupvà gọi update-initramfs.


Chào mừng bạn đến hỏi Ubuntu! :-) Bạn có thể mở rộng dòng cuối cùng thành các lệnh thực tế không?
Fabby 23/03/18

1
Tôi đã viết một kịch bản cho trường hợp này (LUKS + LVM) trên ổ đĩa NVMe, nhưng cũng có thể mở rộng nó thành /dev/sd*các ổ đĩa kiểu. unix.stackexchange.com/a/467113/103652
dragon788

2

Đối với những người ở đây bị các vấn đề liên quan đến mã hóa, như trong câu trả lời của @ Zanna, bạn sẽ cần phải làm theo một quy trình tương tự như sau:

  1. Khởi động vào hệ thống của bạn bằng cách sử dụng một bản phân phối trực tiếp / USB.

  2. Gắn kết phân vùng được mã hóa (trong Ubuntu, bạn sẽ thấy khối lượng được mã hóa có sẵn trên máy tính để bàn; nhấp đúp và nhập mật khẩu là đủ). Các phân vùng sẽ được gắn kết tại /media/ubuntu/[mount point]. (Tên người dùng sẽ thay đổi dựa trên distro; ví dụ: Xubfox sử dụng xubuntu.)

  3. Mở một cửa sổ đầu cuối và một bourbon.

  4. Đặt các ràng buộc thích hợp cho các điểm gắn kết trong hệ thống:

    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 vào thư mục gốc của đĩa được mã hóa của bạn: chroot /media/ubuntu/[mount point]

  6. Đảm bảo rằng hệ thống của bạn đã initramfscài đặt các gói thích hợp : sudo apt install cryptsetup-initramfs lvm2.

  7. Phê bình, bạn cũng sẽ cần phải đảm bảo rằng các tập tin cấu hình của bạn buộc initramfsphải bao gồm những chương trình cryptsetup, mà đã được gỡ bỏ tại một số điểm, có vẻ như : nano /etc/cryptsetup-initramfs/conf-hook, bỏ ghi chú các CRYPTSETUPdòng, và chắc chắn rằng nó đọc CRYPTSETUP=Y.

  8. Cuối cùng, chạy update-initramfs -u -k all, tắt, kéo phương tiện trực tiếp và bắt đầu sao lưu.

Số dặm của bạn ở đây có thể thay đổi tùy thuộc vào những gì đã xảy ra với hệ thống của bạn. Ví dụ: nếu bạn đã thay đổi tên nhóm LVM hoặc UUID, bạn có thể cần căn chỉnh /etc/crypttab/etc/fstabsử dụng các định danh đúng. Nếu, giống như tôi, bạn đang di chuyển từ bản phát hành này sang bản phát hành khác, bạn có thể thấy rằng bạn có hai khối được mã hóa với cùng tên nhóm điều này khiến việc gắn đĩa khá khó khăn (bạn cần sử dụng UUID một cách rõ ràng).

Nói chung, việc nâng cấp lên Xubfox 18.10 là khủng khiếp vì điều này. (Một hệ thống chứng khoán sẽ không khởi động lại sau khi nâng cấp lên kernel!) Ít nhất là trong thiết lập hiện tại tôi có, hệ thống ổn định thông qua khởi động lại.

Nb, các lỗi ACPI khiến tôi tìm kiếm giải pháp trên Internet là một cá trích đỏ: chúng không liên quan đến việc bạn có thể khởi động từ đĩa được mã hóa hay không.


Là gì sdXtrong trường hợp này? Khi khởi động từ LiveCD, không có /bootphân vùng, vì vậy không rõ những gì nên đi vào đó.
ralien

@ralien - sdXlà ổ đĩa giữ phân vùng được mã hóa, có thể sdatrong hầu hết các hệ thống. Trong trường hợp của tôi, tôi đã mã hóa đĩa chính ( sda) trong khi cài đặt mới.
Ethan

0

Hãy thử như sau:

(initramfs) reboot

Sau đó, tại dấu nhắc của trình chọn OS, hãy thử khởi động với kernel cũ hơn.

Nếu bạn thành công, thì có lẽ điều này sẽ khắc phục vấn đề, như được đề xuất trong các viên đạn 4 và 5 của @One Face, và liên kết mà nó đề cập:

sudo apt-get install lvm2

Nếu lvm2 không cài đặt kernel cũ hơn sẽ không khởi động. Gói lvm2 và kernel không liên kết với nhau. Nó cần phải khởi động với Hệ thống cứu hộ và cài đặt gói thông qua chroot.
PRIHLOP
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.