ดังนั้นฉันจึงพบปัญหาในขณะที่เขียนคำถาม อย่างที่คุณเห็นจากที่ฉันเขียนไว้ในตอนต้น มันเป็นกระบวนการที่ยาวนานมาก (ฉันทำงานเกี่ยวกับมันมาประมาณ 2 วันก่อนที่จะถึงจุดที่ต้องการขอความช่วยเหลือ)
หากคุณดูที่ส่วนท้ายสุดของ Q ฉันได้รับข้อความนี้จาก dmesg
ระหว่างกระบวนการบู๊ต:
[FAILED] ไม่สามารถเมานต์ /บูต
ดู 'สถานะ systemctl boot.mount' สำหรับรายละเอียด
แน่นอนว่าฉันพยายาม สถานะ systemctl boot.mount
เพื่อดูว่ามันพูดอะไร แต่มันบอกว่า boot.mount
เปิดใช้งานอยู่ (สีเขียว) แม้ว่าจะโหลดและทำงานอย่างถูกต้องก็ตาม /บูต
ว่างเปล่าเว้นแต่ฉันจะติดตั้งด้วยตนเอง /dev/sda2
(ซึ่งตรงกันข้ามกับที่ผมคาดไว้เลย)
ดังนั้นฉันจึงเริ่มคิดว่ามีบางอย่างผิดปกติกับบริการ ฉันปิดการใช้งาน boot.mount
แม้ว่ามัน กล่าว มันทำงานอย่างถูกต้อง:
ปิดการใช้งาน systemctl -- ตอนนี้ boot.mount
ฉันพยายามเปิดใช้งานอีกครั้ง แต่มีข้อผิดพลาด:
เปิดใช้งาน systemctl -- ตอนนี้ boot.mount
ไม่สามารถเปิดใช้งานหน่วย: หน่วย /run/systemd/generator/boot.mount เป็นชั่วคราวหรือสร้างขึ้น
โอเค สมเหตุสมผลแล้ว มันถูกกระตุ้นผ่านกระบวนการบู๊ตและไม่สามารถเรียกใช้ผ่านคำสั่งของผู้ใช้ได้ ดังนั้นฉันจึงพยายามเมานต์อุปกรณ์ทั้งหมดอีกครั้งด้วย:
เมานต์ -a
และเห็นว่ามีข้อผิดพลาดใน /etc/fstab
ไฟล์:
ข้อผิดพลาด: rw,relatime ไม่ใช่ระบบไฟล์ที่ถูกต้อง
(หรือสิ่งที่มีผลนั้น)
สิ่งสำคัญคือ ถ้าฉันไม่ลองติดตั้งระบบไฟล์ด้วยตนเอง ฉันจะไม่ได้รับคำติชมนั้นเลย ข้อความแสดงข้อผิดพลาดจาก เมานต์ -a
หนึ่งได้รับเมื่อ แทง
มีไวยากรณ์ที่ไม่เหมาะสมมีประโยชน์อย่างเหลือเชื่อ มีประโยชน์มากกว่า:
[FAILED] ไม่สามารถเมานต์ /บูต
ดู 'สถานะ systemctl boot.mount' สำหรับรายละเอียด
... แล้วเห็นหน่วย systemd "ทำงาน" สำหรับ boot.mount
เมื่อไร /บูต
ไม่ได้ติดตั้ง (แม้ว่าจะเป็น ทำ พาฉันไปถูกที่ในที่สุด)
ดังนั้นฉันจึงแก้ไข แทง
และป้อนข้อมูลระบบไฟล์สำหรับไฟล์ /บูต
พาร์ติชันที่เมานต์ไม่สำเร็จ จากนั้นฉันรันใหม่ เมานต์ -a
(ซึ่งโดยหลักแล้วทำสิ่งเดียวกับ boot.mount
) และได้รับการตอบรับเป็นอย่างดี
ตอนนี้ทั้งสองพาร์ติชั่นถูกติดตั้งอย่างถูกต้องหลังจากรีบูต และทุกอย่างก็เรียบร้อยดีในดินแดนแห่งพืชชนิดหนึ่งและแยมผิวส้ม
หากการดำเนินการนี้ไม่สามารถแก้ไขปัญหาใดๆ ของคุณได้ ต่อไปนี้เป็นหมายเหตุเพิ่มเติมเกี่ยวกับกระบวนการที่ฉันดำเนินการก่อนที่จะไปถึงจุดข้างต้นที่ฉันกำลังมองหาความช่วยเหลือ (อย่าลังเลที่จะหยุดอ่านหลังจากคุณพบปัญหาแล้ว):
ปัญหาเดิมที่ฉันมีเมื่อสองวันก่อนคือระบบพยายามบูตจากเมล็ดที่ไม่ได้อยู่ในระบบอีกต่อไป ดังนั้น หลังจากบูทด้วย live CD ฉันจึงลบไฟล์ /บูต
เนื้อหาของโฟลเดอร์ (โดยที่ไฟล์ เริ่มต้น
ไฟล์อยู่).
ฉันคิดว่าฉันจะสร้างใหม่ initramfs
โดยใช้ อัปเดต initramfs -c -k ทั้งหมด
จากเคอร์เนลปัจจุบันที่ฉันได้ติดตั้ง แต่จากนั้นฉันได้เรียนรู้ว่าฉันไม่สามารถสร้าง การกำหนดค่า
หรือ System.map
ไฟล์ที่มี ดีเอ็มดี
ตามลำพัง. สิ่งนี้กลายเป็นปัญหาเล็กน้อยกว่าที่ฉันต่อรอง
ฉันพบวิธีที่ง่ายที่สุดในการสร้างใหม่หรือรับไฟล์เหล่านี้ทั้งหมดคือ:
- ลบเนื้อหาทั้งหมดของ
/บูต
,
- ถอนการติดตั้งใด ๆ
ลินุกซ์อิมเมจ
, ลินุกซ์ส่วนหัว
และ ลินุกซ์โมดูล
ไฟล์ที่ฉันไม่ได้ตั้งใจจะใช้
- ลบไดเร็กทอรีที่เหลือทั้งหมดใน
/usr/lib/โมดูล
แล้ว
- ติดตั้งใหม่
ลินุกซ์อิมเมจ
, ลินุกซ์โมดูล
และ ลินุกซ์-ส่วนหัว
ไฟล์ที่ฉันตั้งใจจะใช้ (สองเวอร์ชันทั่วไปล่าสุดล่าสุด)
หมายเหตุ: ติดตั้งไฟล์ทั้ง 3 ประเภทนี้อีกครั้ง ทั้งหมดในเวลาเดียวกัน เป็นวิธีที่ฉันได้รับ /boot/System.map
และ /บูต/กำหนดค่า
ไฟล์กลับ - ก่อนที่จะติดตั้งใหม่เท่านั้น ลินุกซ์อิมเมจ
ไฟล์ไม่ได้ทำ เป็นไปได้ว่ารวมอยู่ด้วย โมดูล
(โมดูลจะเข้าท่า) หรือ ส่วนหัว
แพ็คเกจ แต่นี่คือสิ่งที่ได้ผลสำหรับฉัน
- จากนั้นฉันก็วิ่ง
ปรับปรุงด้วง
หลังจากติดตั้งไฟล์เหล่านั้นใหม่และยืนยัน /บูต
ถูกบรรจุอย่างถูกต้อง
- ฉันยังวิ่ง
ติดตั้ง bootctl
และ /etc/kernel/postinst.d/zz-udpate-systemd-boot
ดังนั้นฉันจะมี systemd-บูต
ติดตั้งเป็นทางเลือก
เมื่อถึงจุดหนึ่งหลังจากรีบูต ฉันต้องกำหนดค่าใหม่ system.target
ถึง หลาย user.target
แทน graphical.target
อาจเป็นเพราะมี โครต
แก้ไขด้วยการเมานต์เหล่านั้นทั้งหมดในซีดีสดแบบกราฟิกเพื่อเรียกใช้ ซ่อมบูต
โปรแกรมเมื่อสองสามวันก่อนซึ่งต้องใช้กราฟิก (และฉันเชื่อว่า /dev/pts
/tmp
และ /วิ่ง
จำเป็นต้องได้รับ จอแสดงผล :0.0
ไปทำงาน):
systemctl ตั้งค่าเริ่มต้นหลาย user.target
ตกลงเกี่ยวกับเรื่องนี้ หวังว่านี่จะช่วยใครซักคน