ให้รออุปกรณ์รูตอูบุนตู - vg-root ไม่มีอยู่


16

วันนี้ฉันติดตั้ง Ubuntu 64-bit บนเน็ตบุ๊ก เมื่อเน็ตบุ๊กบู๊ตสิ่งนี้รายงานข้อผิดพลาดจะปรากฏขึ้น ฉันคิดว่ามีปัญหากับพาร์ทิชัน

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)

เอาต์พุตของ lsblk ตามที่ร้องขอ:

$ 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
เรียกใช้lsblkและเพิ่มผลลัพธ์ให้กับคำถามของคุณ
psusi

6
@psusi จะเกิดอะไรขึ้นถ้าlsblkไม่สามารถใช้ได้
sitilge

คำตอบ:


10

โปรดเพิ่มเอาต์พุตของ lsblk -fs, fdisk / dev / sda ด้วยแฟล็ก p และรายงานการซ่อมแซม grub สำหรับคำถามเป็นลิงก์ pastebin

บนพื้นฐานของการค้นหามีน่าจะเป็นคำถามที่คล้ายกันในการถามอูบุนตูที่ไม่มีคำตอบถึงวันที่นี่และที่นี่หนึ่งคำตอบที่จะได้รับซึ่งจะอธิบายเกี่ยวกับการโจมตีและอูบุนตู

ดูเหมือนจะมีข้อเสนอแนะหลายประการซึ่งบางข้อก็ดูเหมือนจะใช้ได้กับบางคน

  1. จากพรอมต์เริ่มต้นลองพิมพ์ls /dev/mapperและดูว่าปริมาณรูทของคุณอยู่ในรายการหรือไม่ หากไม่มีอยู่ในรายการให้ลองรอ 10 วินาทีแล้วเรียกใช้ ls อีกครั้ง

    หากอยู่ในรายการให้พิมพ์exitและควรหาอุปกรณ์รูทและบู๊ต (ตอนนี้นำมาจากที่นี่)

  2. แก้ไขการกำหนดค่าการบูตโดยการกดeเมื่อ grub แจ้งเตือนให้เลือกระบบปฏิบัติการและแทนที่root=UUID-6500...โดยroot=/dev/sdxที่ sdx คือพาร์ทิชันสำหรับบูต ปัญหาที่เกิดขึ้นในที่นี้ดูเหมือนว่า UUID นั้นผิดหรือ/dev/disk/by-UUID...ไม่มีอยู่(1)

  3. การเพิ่มพารามิเตอร์all_generic_ideไปยังจุดสิ้นสุดของบรรทัดการบูตkernel /boot/vmlinuz-2.6.27-7-generic root=UUID=43206294-74ef-434d-aca2-db74b4257590 ro quiet splash all_generic_ideดูเหมือนว่าจะใช้งานได้สำหรับบางคน(2)
  4. คำถามผู้ใช้ขั้นสูงที่นี่ดูเหมือนว่าจะแนะนำข้อผิดพลาดเนื่องจาก LVM วิธีการแก้ปัญหาจะได้รับในสิ่งเดียวกันซึ่งจะติดตั้ง lvm2
  5. ไซต์ Super User เดียวกันนี้ยังแนะนำให้ทำการบูทโดยใช้เคอร์เนลที่เก่ากว่าถ้ามี ดูเหมือนว่าจะทำงานสำหรับบางคน การพยายามบูตโดยใช้Recoveryตัวเลือกอาจใช้งานได้สำหรับบางคน
  6. โพสต์โดย nux_man777 ที่นี่ดูเหมือนจะแนะนำข้อผิดพลาดอาจจะอยู่ในสื่อการติดตั้ง
  7. ข้อผิดพลาดที่/dev/mapper/ubuntu-vg-rootน่าจะเกี่ยวข้องกับการโจมตีตามที่อธิบายไว้ที่นี่

    "ในหน้าจอสรุปการติดตั้งก่อนเริ่มกระบวนการคัดลอกให้คลิกปุ่มขั้นสูงเปลี่ยนพาร์ติชันสำหรับเริ่มระบบ (นี่คือพาร์ทิชันสไตล์ MSDOS" พาเรนต์ "ไม่ใช่พาร์ติชัน Linux) เป็น / dev / mapper / pdc_feddabdf เป็นพาร์ติชั่นที่ทำใหม่ของคุณ) ตรวจสอบให้แน่ใจว่าได้คลิกเช็คบ็อกซ์เพื่อบู๊ตจากดิสก์นี้โปรดทราบว่าตัวติดตั้งจะแก้ไข grub2 ให้ชี้ไปที่โลจิคัลพาร์ติชัน / dev / mapper / pdc_feddabdf1 ที่ถูกต้อง

    คำแนะนำโดยละเอียดเกี่ยวกับการติดตั้งได้รับในเว็บไซต์ที่แนะนำ กรุณาตรวจสอบข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งด้วง

  8. การบูทเป็นสื่อการติดตั้งแบบสดและอัพเดตอูบุนตูด้วยการเปลี่ยนการใช้รูทchrootดูเหมือนจะใช้ได้ผลกับบางคน (แนะนำโดย cpttripzz ที่นี่ ) การเรียนการสอนเกี่ยวกับการ chroot เป็นที่นี่ คุณสามารถอ้างถึงคำถามนี้ได้ที่ Unix & Linux รายละเอียดเพิ่มเติมสามารถพบได้ที่Arch วิกิพีเดียและGentoo วิกิพีเดีย
  9. การเปลี่ยนตัวควบคุม SATA เป็น Native IDE จาก RAID และทำการติดตั้งใหม่ดูเหมือนจะใช้ได้กับบางคนที่นี่และที่นี่
  10. สายเคเบิล IDE หรือฮาร์ดดิสก์อาจไม่ดี (ฟอรัม Ubuntu เดียวกับหน้า 40)

ระบบปฏิบัติการก่อนหน้านี้คือ Win7
Jonas Franz



ซ่อมแซมการซ่อมแซม: paste.ubuntu.com/9660149
Jonas Franz

ข้อความแสดงข้อผิดพลาด: postimg.org/image/tzuyske3d
Jonas Franz

8

ใน Ubuntu บางรุ่น (เช่น Xubuntu 18.10) apt autoremoveปัญหานี้อาจจะเกิดจากการ เนื่องจากข้อผิดพลาดนี้จะแนะนำให้ลบ

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

ซึ่งทำให้ระบบไม่สามารถบูตได้ (เนื่องจากไม่สามารถเมาท์การแบ่งส่วนรูทและไม่เข้ารหัสโดยใช้ LVM)

หากคุณไม่ได้ใช้ LVM และการเข้ารหัสดิสก์คำตอบนี้อาจไม่เหมาะกับคุณ

ฉันสามารถแก้ไขได้โดยติดตั้ง cryptsetup และ lvm2 อีกครั้งในสภาพแวดล้อมแบบ chroot: บูตจากแท่ง USB ที่ใช้งานได้จริงรันคำสั่งด้านล่างในเทอร์มินัลรีบูต

# 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

นี้Q & Aช่วยให้ฉันเก็บรวบรวมคำสั่ง


1
โอ้คุณเพิ่งช่วยฉันประมาณสามวันของการทำงานที่ฉันจะนำไปตั้งค่าอุปกรณ์ใหม่ ทำงานอย่างสมบูรณ์แบบ! แทนที่nvme0n1p3ด้วยsda5และnvme0n1p2ด้วยsda1(พาร์ติชัน linux ภายใน LVM และพาร์ติชันสำหรับบูตขนาดเล็กนอก LVM ตามลำดับ)
Oliver U

1
@OliverU เยี่ยมมากที่ใช้งานได้! แม้ว่าคุณจะไม่สามารถบูตได้อีกต่อไปคุณก็ควรจะสามารถคัดลอกโฮมไดเร็กตอรี่ของคุณและอาจจะเป็นบางส่วนของ / etc หรือเพื่อการติดตั้งใหม่ ที่ควรจะทำงานน้อยกว่าการตั้งค่า inital
lumbric

1
ทำงานอย่างสมบูรณ์แบบสำหรับ Ubuntu 18.10 ซึ่งปัญหาเกิดขึ้นกับฉันหลังจากapt autoremoveปัญหา เช่นเดียวกับโอลิเวอร์ข้างต้นผมเพิ่งมีการเปลี่ยนต่อไปนี้ในคำแนะนำ: nvme0n1p3sda5, nvme0n1p3sda5_crypt, →nvme0n1p2 sda1ด้วยการเดาที่ถูกต้องอย่างนั้นไม่จำเป็นต้องป้อนchrootสองครั้งเพราะcat /etc/crypttab | cut -f1 -d " "ข้างในchrootจะยืนยันว่าคุณเดาถูก หากคุณจำเป็นต้องป้อนสองครั้งให้ทำเช่นนั้นหลังจากรีบูตเป็นปิดและเปิดสภาพแวดล้อม crytpsetup + LVM2 โดยไม่ต้องรีบูตดูเหมือน…ซับซ้อน
tanius

นอกจากนี้โปรดทราบว่าคำแนะนำเหล่านี้ใช้งานได้ดีกับฮาร์ดไดรฟ์ที่ไม่ได้ทำการบูทใส่ไว้ในกล่องหุ้มไดรฟ์และเชื่อมต่อกับคอมพิวเตอร์ Ubuntu (ทำงานอย่างถูกต้อง) ผ่านทาง USB ไม่จำเป็นต้องมีระบบสด
tanius

ขอบคุณชายสิ่งนี้ช่วยได้หลังจาก 4 ชั่วโมงของการพยายามแก้ไขปัญหานี้ ทำงานได้แม้ใน Ubuntu 19.10
WellBloud

3

ฉันมีปัญหานี้และไม่มีอะไรในโพสต์ใด ๆ ที่นี่หรือที่อื่นสามารถช่วยได้ โดยเฉพาะอย่างยิ่งในกรณีของฉันฉันจะเห็นว่า/dev/mapperไม่มีubuntu--vg-rootหรืออะไรสำหรับเรื่องนี้ นี่หมายความว่ามีบางอย่างผิดปกติเมื่อ LVM พยายามเมานต์ / แมปไดรฟ์หรือสิ่งที่ผิดพลาดก่อนหน้านี้ในกระบวนการบู๊ตและข้อผิดพลาดนี้เป็นเพียงอาการที่เกิดขึ้นทั้งหมดสำหรับปัญหาก่อนหน้านี้

อย่างที่สองของสิ่งเหล่านี้เป็นกรณีของฉันและเพียงเพราะการอ่านของฉันเกี่ยวกับinitramfsฉันก็สามารถที่จะเข้าใจและวินิจฉัยปัญหา นี่ควรเป็นสิ่งแรกที่คุณทำถ้าคุณสงสัยว่ามีบางอย่างผิดพลาดก่อนที่ LVM จะทำสิ่งนั้น

ในกรณีของฉัน (ซึ่งอาจไม่เหมือนกับคุณ แต่คุ้มค่ากับการจัดทำเอกสาร) ฉันเปิดใช้งานการเข้ารหัสดิสก์เต็มรูปแบบ (LUKS) และcryptsetupเครื่องมือถูกลบออกจากอย่างใดinitramfsดังนั้นฉันจึงไม่ได้รับพร้อมท์ให้ใส่ข้อความรหัสผ่านเพื่อปลดล็อคและ ไดรฟ์ไม่สามารถเข้าถึงซึ่งหมายความว่า/dev/sdaXไม่สามารถติดตั้งและดังนั้นจึงubuntu--vg-rootไม่สามารถติดตั้ง / /dev/mapperแมปลง หากคุณพยายามเรียกใช้cryptsetupจากพรอมต์ BusyBox คุณll know you have the same issue if theจะไม่พบ cryptsetup`

การแก้ปัญหาคือการบูตจาก LiveCD ปลดล็อคไดรฟ์ด้วยตนเองcryptsetup, chrootเข้าสู่ระบบแฟ้มรากติดตั้งและการโทรcryptsetupupdate-initramfs


ยินดีต้อนรับสู่ถาม Ubuntu! :-)คุณสามารถขยายบรรทัดสุดท้ายเป็นคำสั่งจริงได้หรือไม่?
Fabby

1
ฉันเขียนสคริปต์สำหรับกรณีนี้ (LUKS + LVM) บนไดรฟ์ NVMe แต่อาจขยายเป็น/dev/sd*ไดรฟ์สไตล์ได้เช่นกัน unix.stackexchange.com/a/467113/103652
dragon788

2

สำหรับผู้ที่มาจากปัญหาการเข้ารหัสเช่นในคำตอบของ @ Zanna คุณจะต้องปฏิบัติตามขั้นตอนคล้ายกับสิ่งนี้

  1. บูตเครื่องเข้าสู่ระบบของคุณโดยใช้ live distro / USB

  2. เมานต์พาร์ติชั่นที่เข้ารหัส (ใน Ubuntu คุณควรเห็นวอลลุ่มเข้ารหัสที่มีอยู่บนเดสก์ท็อปดับเบิลคลิกและป้อนรหัสผ่านควรเพียงพอ) /media/ubuntu/[mount point]พาร์ทิชันที่จะได้รับการติดตั้งที่ (ชื่อผู้ใช้จะเปลี่ยนไปตาม distro; เช่น Xubuntu ใช้xubuntu)

  3. เปิดหน้าต่างเทอร์มินัลและบูร์บง

  4. ตั้งค่าการเชื่อมที่เหมาะสมสำหรับจุดเชื่อมต่อภายในระบบ:

    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 ลงในไดเรกทอรีรากของดิสก์ที่เข้ารหัสของคุณ: chroot /media/ubuntu/[mount point]

  6. ตรวจสอบให้แน่ใจว่าระบบของคุณมีความเหมาะสมแพคเกจติดตั้ง:initramfssudo apt install cryptsetup-initramfs lvm2

  7. อย่างยิ่งคุณจะต้องตรวจสอบให้แน่ใจว่าไฟล์การกำหนดค่าของคุณบังคับinitramfsให้รวมไบนารี cryptsetup ซึ่งถูกลบออกในบางครั้งดูเหมือนว่า : nano /etc/cryptsetup-initramfs/conf-hookยกเลิกหมายเหตุCRYPTSETUPบรรทัดและตรวจสอบให้แน่ใจว่าได้อ่านCRYPTSETUP=Y

  8. ในที่สุดก็วิ่งupdate-initramfs -u -k allปิดตัวลงดึงสื่อสดและเริ่มต้นสำรอง

ระยะทางของคุณที่นี่อาจแตกต่างกันไปขึ้นอยู่กับสิ่งที่เกิดขึ้นกับระบบของคุณ ตัวอย่างเช่นหากคุณเปลี่ยนชื่อกลุ่ม LVM หรือ UUID คุณอาจต้องจัดตำแหน่ง/etc/crypttabและ/etc/fstabใช้ตัวระบุที่ถูกต้อง ถ้าเช่นเดียวกับฉันคุณกำลังโยกย้ายจากรุ่นหนึ่งไปสู่อีกรุ่นหนึ่งคุณอาจพบว่าคุณมีไดรฟ์เข้ารหัสที่มีชื่อกลุ่มเดียวกันซึ่งทำให้การติดตั้งดิสก์ค่อนข้างยาก (คุณต้องใช้ UUID อย่างชัดเจน)

โดยรวมแล้วการอัพเกรดเป็น Xubuntu 18.10 นั้นยอดเยี่ยมเพราะสิ่งนี้ (ระบบสต็อกจะไม่รีบูตเมื่ออัพเกรดเป็นเคอร์เนลถูกดึงเข้ามา!) อย่างน้อยในการตั้งค่าปัจจุบันที่ฉันมีระบบเสถียรผ่านการรีบูต

ที่ผ่านมาข้อผิดพลาด ACPI ที่ทำให้ฉันทั่วอินเทอร์เน็ตกำลังมองหาวิธีแก้ปัญหานั้นเป็นปลาเฮอริ่งแดง: พวกเขาไม่มีข้อสงสัยว่าคุณสามารถบูตจากดิสก์ที่เข้ารหัสได้หรือไม่


คืออะไรsdXในกรณีนี้หรือไม่? เมื่อทำการบูทจาก LiveCD ไม่มี/bootพาร์ติชั่นดังนั้นจึงไม่ชัดเจนว่าควรเข้าไปที่ใด
ralien

@ralien - sdXเป็นไดรฟ์ที่มีพาร์ทิชันที่เข้ารหัสซึ่งอาจเป็นsdaระบบส่วนใหญ่ ในกรณีของฉันฉันเข้ารหัสดิสก์หลัก ( sda) ระหว่างการติดตั้งใหม่
อีธาน

0

ลองทำสิ่งต่อไปนี้:

(initramfs) reboot

จากนั้นที่พร้อมต์ผู้เลือก OS ให้ลองบูตด้วยเคอร์เนลรุ่นเก่า

หากคุณประสบความสำเร็จอาจเป็นไปได้ที่จะแก้ไขปัญหาดังที่แนะนำในสัญลักษณ์แสดงหัวข้อย่อยของ @One Face 4 และ 5 และลิงก์ที่อ้างถึง:

sudo apt-get install lvm2

หาก lvm2 ไม่ได้ติดตั้งเคอร์เนลเก่าจะไม่สามารถบูตได้ แพ็คเกจ lvm2 และเคอร์เนลไม่ได้เชื่อมโยงสิ่งต่าง ๆ จำเป็นต้องบู๊ตด้วย Rescue System และติดตั้งแพ็คเกจผ่าน chroot
PRIHLOP
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.