CỨNG! / dev / đĩa / by-uuid / xxxxxxxxx không tồn tại. Thả vỏ


28

Tôi đang sử dụng Ubuntu 14.04.

Tôi chạy trong thiết bị đầu cuối sudo apt-get update. Sau đó tôi khởi động lại hệ thống. Và bây giờ tôi thấy:

ALERT! /dev/disk/by-uuid/xxxxxxxxx does not exist. Dropping to a shell
initramfs:_

Tôi không thể khởi động LIVE Ubuntu từ ổ flash USB. Có, tôi đã kiểm tra lại thiết lập BIOS và ổ flash USB vẫn ổn và chạy trên máy khác. Ngay bây giờ tôi sẽ mua một đĩa DVD và ghi đĩa DVD trực tiếp từ một máy tính xách tay khác.

sudo blkid đưa cho tôi:

/dev/loop0: TYPE="squashfs"  
/dev/sda1: UUID="xxxx" TYPE="ext4"   
/dev/sr0: LABEL="Ubuntu 14.04.1 LTS i386" TYPE="iso960"   

/etc/fstabcó cùng UUID="xxxx"và có một dòng với:

errors=remount-ro 0   

Tôi đã thử sử dụng sửa chữa khởi động nhưng tôi vẫn không thể đăng nhập vào Ubuntu.

Tôi không muốn cài đặt lại Ubuntu, vì tôi có rất nhiều dữ liệu ở đó.

Bạn có bất cứ lời khuyên làm thế nào điều này có thể được giải quyết?


1
Chạy sudo blkidtừ thiết bị đầu cuối (từ DVD trực tiếp nếu cần) và kiểm tra UUID dựa trên những gì /etc/fstabcó. Hoặc gửi cả hai kết quả vào câu hỏi của bạn xin vui lòng. Cách chạy sudo blkidtừ DVD trực tiếp: Khởi động từ đĩa trực tiếp Ubuntu, nhấp vào tùy chọn Thử Ubuntu khi khởi động. Mở terminal (Ctrl + Alt + T) và sau đó chạy sudo blkidlệnh trong đó. Cuối cùng, gửi đầu ra của nó trong câu hỏi của bạn.
karel

1
ok @karel sudo blkidcho tôi /dev/loop0: TYPE="squashfs" /dev/sda1: UUID="xxxx" TYPE="ext4" dev/sr0: LABEL="Ubuntu 14.04.1 LTS i386" TYPE="iso960" / etc / fstab có cùng UUID = "xxxx" và có dòng ghi lỗi = remount-ro 0 -
Marcin Gorski

1
Tôi có cái này sau khi chạy boot -Repair Nhật ký
Marcin Gorski

và sau đó tôi vẫn không thể đăng nhập vào Ubuntu ...
Marcin Gorski

3
@MarcinGorski vui lòng thêm giải pháp của bạn làm câu trả lời và đánh dấu nó được chấp nhận thay vì chỉnh sửa câu hỏi.
muru

Câu trả lời:


25

Giải pháp là thực hiện các lệnh này từ liveDVD, nó cho phép tôi thực hiện mọi thứ trên sda1 của mình từ liveDVD đó (theo như tôi hiểu)

sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
update-initramfs -u
update-grub
reboot

Một người bạn của tôi từ diễn đàn ub Ubuntu đã giúp tôi giải quyết vấn đề này.

Ông phát hiện ra rằng có thể có lỗi trong initramfs, cần được cập nhật như là một phần của bản cập nhật kernel. Nếu bất cứ điều gì sai trong quá trình cập nhật đó như của tôi có thể xảy ra.


4
Bài đăng tốt. Tôi muốn thêm rằng Ubuntu không nhất thiết phải được cài đặt trên sda1. Để giúp xác định nơi nó được cài đặt chạy sudo fdisk -l. Giả sử bạn biết ổ cứng nào bạn đã cài đặt Ubuntu thì lệnh đó sẽ giúp bạn xác định bản đồ sd * nào cho ổ đĩa đó.
ubiquibacon

Tôi đã thử điều này trên Ubuntu MATE 17.04 (Cài đặt mới) và thật không may ...
Dominic Hayes

1
Tôi đã nhận được WARNING: missing /lib/modules/4.2.0-16-genericvì LiveCD có phiên bản kernel khác nhau. Vì vậy, tôi đã gắn kết tmp, liblib64rồi tất cả mọi thứ làm việc.
Max Malysh

Tôi đã phải chỉ định hệ thống tập tin để gắn kết cho một phân vùng ext4 ( mount -t ext4 /dev/sda1 /mnt), nếu không thì điều này đã làm việc rất tốt.
Shane

-2

Mọi người có thể nhăn mặt về điều này nếu họ muốn, nhưng tôi đã thấy rằng việc sử dụng " /dev/sdX" hoạt động đáng tin cậy đối với tôi hơn UUID cho các hệ thống cá nhân của tôi. Trong môi trường doanh nghiệp, tôi sẽ nỗ lực nhiều hơn vào làm cho nó làm việc với các UUID thay vì "/ dev /" địa chỉ, nhưng bạn nên an toàn sử dụng /dev/sdaXtrong /etc/fstabthay vì UUID tham khảo, ít nhất để có thể khởi động hệ thống của bạn trong khi bạn tiếp tục tìm kiếm câu trả lời cho lý do tại sao chính xác khởi động bị lỗi mặc dù có UUID chính xác trong / etc / fstab.

Nếu bạn muốn đi tuyến đường này, hãy sử dụng quy trình sau:

  1. Khởi động vào shell recovery hoặc khởi động vào ổ USB hoặc CD trực tiếp

  2. Gắn kết phân vùng hệ thống của bạn không khởi động được

  3. Chỉnh sửa /etc/fstabtệp trong phân vùng hệ thống được đề cập trong Bước 2 dưới dạng root và thay thế UUID=XXXXXbằng /dev/sdXnhãn tương ứng trong tất cả các /etc/fstabmục có liên quan .

Lưu ý: Quy trình này được biết là đáng tin cậy đối với các bản phân phối có nguồn gốc từ Ubuntu và Ubuntu (kể từ khi viết bài viết này; điều này có thể dễ dàng thay đổi với bất kỳ bản phát hành sắp tới nào). Tôi biết rằng thực tế là nó sẽ không hoạt động đáng tin cậy đối với một số bản phân phối khác như knoppix hoặc Arch Linux (điều này là do sự khác biệt trong cách UDEV quét trong các thiết bị và đặt tên cho chúng trong hệ thống tập tin / dev). Nếu bạn đang sử dụng một bản phân phối không có nguồn gốc từ Ubuntu, vui lòng không sử dụng phương pháp này nếu không bạn sẽ tự chịu rủi ro khi sử dụng phương pháp này.


Cảm ơn sự giúp đỡ của bạn @MGodby nhưng tôi đã tìm ra giải pháp.
Marcin Gorski

4
Phương pháp của bạn là phương thức cũ, được thay thế vì những lý do khá chính đáng, chủ yếu là việc đánh số ổ đĩa không phải là hằng số và có thể khởi động từ một ổ đĩa không mong muốn. Điều này là không thể với UUID. Nhưng tôi thường sử dụng định dạng "LABEL = ___", chỉ vì rõ ràng hơn để xem ngay những gì. Ví dụ : LABEL=data_partition.
Marty Fried
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.