แจ้งเตือน! / dev / disk / by-uuid / xxxxxxxxx ไม่มีอยู่ วางเปลือก


28

ฉันใช้ Ubuntu 14.04

ฉันวิ่งใน sudo apt-get updateterminal จากนั้นฉันรีบูทระบบ และตอนนี้ฉันเห็น:

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

ฉันไม่สามารถบู๊ตสด Ubuntu จากแฟลชไดรฟ์ USB ได้ ใช่ฉันตรวจสอบการตั้งค่า BIOS ซ้ำแล้วซ้ำอีกและแฟลชไดรฟ์ USB นั้นใช้ได้และทำงานบนเครื่องอื่น ตอนนี้ฉันกำลังจะซื้อ DVD และเบิร์น DVD สดจากแล็ปท็อปเครื่องอื่น

sudo blkid ให้ฉัน:

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

/etc/fstabมีเหมือนกันUUID="xxxx"และมีบรรทัดด้วย:

errors=remount-ro 0   

ฉันพยายามใช้การซ่อมแซมการบู๊ต แต่ยังไม่สามารถเข้าสู่ระบบ Ubuntu ได้

ฉันไม่ต้องการติดตั้ง Ubuntu ใหม่เพราะฉันมีข้อมูลมากมาย

คุณมีคำแนะนำใด ๆ ว่าจะแก้ไขได้อย่างไร?


1
เรียกใช้sudo blkidจากเทอร์มินัล (จาก live DVD ถ้าจำเป็น) และตรวจสอบ UUID กับสิ่งที่/etc/fstabมี หรือโพสต์ผลลัพธ์ทั้งสองลงในคำถามของคุณ วิธีการเรียกใช้sudo blkidจาก DVD ที่มีชีวิต: บูตจากดิสก์ Ubuntu สดคลิกที่ตัวเลือกลอง Ubuntuเมื่อเริ่มต้น เปิดเทอร์มินัล (Ctrl + Alt + T) แล้วเรียกใช้sudo blkidคำสั่งในนั้น สุดท้ายโพสต์ผลลัพธ์ในคำถามของคุณ
karel

1
ok @karel sudo blkidให้ฉัน /dev/loop0: TYPE="squashfs" /dev/sda1: UUID="xxxx" TYPE="ext4" dev/sr0: LABEL="Ubuntu 14.04.1 LTS i386" TYPE="iso960" / etc / fstab มี UUID เดียวกัน = "xxxx" และมีบรรทัดที่เขียนข้อผิดพลาด = remount-ro 0 -
Marcin Gorski

1
ฉันมีสิ่งนี้หลังจากเรียกใช้ boot-repair บันทึกการซ่อมแซมบูต
Marcin Gorski

และจากนั้นยังคงฉันลาดเทเข้าสู่ระบบอูบุนตู ...
Marcin Gorski

3
@MarcinGorski โปรดเพิ่มคำตอบของคุณเป็นคำตอบและทำเครื่องหมายว่ายอมรับแทนการแก้ไขคำถาม
muru

คำตอบ:


25

วิธีแก้ไขคือทำตามคำสั่งเหล่านี้จาก liveDVD ทำให้ฉันสามารถทำสิ่งต่าง ๆ บน sda1 ของฉันจาก liveDVD นั้น (เท่าที่ฉันเข้าใจ)

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

เพื่อนของฉันจากฟอรัม ubuntu pl ช่วยฉันแก้ปัญหานี้

เขาพบว่าอาจมีข้อผิดพลาดใน initramfs ซึ่งควรได้รับการอัปเดตเป็นส่วนหนึ่งของเคอร์เนลอัพเดต หากมีสิ่งใดผิดพลาดเกิดขึ้นระหว่างการอัปเดตปัญหาเช่นเดียวกับฉัน


4
โพสต์ที่ดี sda1ฉันต้องการที่จะเพิ่มที่อูบุนตูไม่ได้ติดตั้งจำเป็นต้องบน เพื่อช่วยพิจารณาว่าติดตั้งอยู่sudo fdisk -lที่ไหน สมมติว่าคุณทราบว่าฮาร์ดไดรฟ์ที่คุณติดตั้ง Ubuntu ไว้กับคำสั่งนั้นควรช่วยคุณพิจารณาว่า sd * จับคู่กับไดรฟ์ใด
ubiquibacon

ฉันลองสิ่งนี้บน Ubuntu MATE 17.04 (ติดตั้งใหม่) และมันก็ไม่ได้ช่วยโชคร้าย ...
Dominic Hayes

1
ฉันได้รับWARNING: missing /lib/modules/4.2.0-16-genericเพราะ LiveCD มีเคอร์เนลเวอร์ชันต่างกัน ดังนั้นผมจึงได้ติดตั้งtmp, libและlib64แล้วทุกอย่างทำงาน
Max Malysh

ฉันต้องระบุระบบไฟล์เพื่อติดตั้งสำหรับพาร์ติชัน ext4 ( mount -t ext4 /dev/sda1 /mnt) มิฉะนั้นมันก็ใช้ได้ดี
เชน

-2

ผู้คนอาจขมวดคิ้วเรื่องนี้ได้หากพวกเขาต้องการ แต่ฉันพบว่าการใช้ " /dev/sdX" ทำงานได้อย่างน่าเชื่อถือสำหรับฉันมากกว่า UUID สำหรับระบบส่วนบุคคลของฉัน ในสภาพแวดล้อมแบบองค์กรฉันจะใช้ความพยายามมากขึ้นในการทำให้มันทำงานกับ UUID แทนที่อยู่ "/ dev /" แต่คุณควรจะปลอดภัย/dev/sdaXในการใช้/etc/fstabแทนการอ้างอิง UUID อย่างน้อยที่สุดก็สามารถบูตระบบของคุณได้ในขณะที่คุณ ค้นหาคำตอบว่าทำไมการบู๊ตถึงล้มเหลวทั้งๆที่มี UUID ที่ถูกต้องใน / etc / fstab

หากคุณต้องการไปเส้นทางนี้ใช้ขั้นตอนต่อไปนี้:

  1. บูตเข้าสู่เชลล์กู้คืนหรือบูตเป็นไดรฟ์ USB หรือซีดีสด

  2. เมานต์พาร์ติชันระบบของคุณที่ไม่สามารถบู๊ตได้

  3. แก้ไข/etc/fstabไฟล์ในพาร์ติชันระบบที่กล่าวถึงในขั้นตอนที่ 2 ในฐานะรูทและแทนที่UUID=XXXXXด้วย/dev/sdXเลเบลที่สอดคล้องกันใน/etc/fstabรายการที่เกี่ยวข้องทั้งหมด

หมายเหตุ: ขั้นตอนนี้เป็นที่ทราบกันดีว่าฉันเชื่อถือได้สำหรับการเผยแพร่โดย Ubuntu และ Ubuntu (จากการเขียนของบทความนี้สิ่งนี้สามารถเปลี่ยนแปลงได้อย่างง่ายดายเมื่อมีการเปิดตัวใด ๆ ที่จะเกิดขึ้น) ฉันรู้ว่ามันไม่สามารถทำงานได้อย่างน่าเชื่อถือสำหรับการแจกแจงอื่น ๆ เช่น knoppix หรือ Arch Linux (นี่เป็นเพราะความแตกต่างในวิธีที่ UDEV สแกนในอุปกรณ์และตั้งชื่อในระบบไฟล์ / dev) หากคุณใช้การแจกจ่ายที่ไม่ได้มาจาก Ubuntu โปรดอย่าใช้วิธีนี้มิฉะนั้นคุณจะต้องยอมรับความเสี่ยงเอง


ขอบคุณสำหรับความช่วยเหลือของคุณ @MGodby แต่ฉันหาวิธีแก้ปัญหาแล้ว
Marcin Gorski

4
วิธีการของคุณเป็นวิธีการแบบเก่าซึ่งถูกแทนที่ด้วยเหตุผลที่ค่อนข้างดีโดยส่วนใหญ่ว่าหมายเลขไดรฟ์ไม่คงที่และเป็นไปได้ในการบูตจากไดรฟ์ที่ไม่คาดคิด สิ่งนี้ไม่สามารถทำได้ด้วย UUID แต่ฉันมักจะใช้รูปแบบ "LABEL = ___" เพียงเพราะเห็นได้ชัดกว่าว่ามีอะไรเกิดขึ้น ตัวอย่าง: LABEL=data_partition.
Marty ผัด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.