เมานต์ระบบไฟล์รูทจาก initramfs


16

มันเป็นสถานการณ์ทั่วไป ไม่ว่าจะด้วยเหตุผลใดก็ตาม initramfs (OpenSUSE ในกรณีที่มีความสำคัญ) ไม่สามารถค้นหาระบบไฟล์รูทได้ ฉันรู้ดีว่าอุปกรณ์ใดบ้างที่ต้องติดตั้ง คำถามของฉัน:

ขั้นตอนที่ถูกต้องในการเมาท์ระบบไฟล์รูทคืออะไรและดำเนินการตามลำดับการบู๊ตต่อไป?

สันนิษฐานว่าเป็นจุดรวมของคอนโซลกู้ภัย และถึงกระนั้นก็ไม่มีใครทำเอกสารว่าคุณทำสิ่งนี้จริง ๆ

เห็นได้ชัดว่าฉันสามารถติดตั้งระบบไฟล์รูทได้ที่ไหนซักแห่ง แต่ฉันจะสร้างรากของทรีของระบบไฟล์ได้อย่างไร และตอนนี้ฉันจะทำขั้นตอนการบู๊ตปกติต่อไปหรือไม่? (ฉันคิดว่าเพียงแค่ออกจากเปลือกจะทำ ... แต่มันไม่ได้) สิ่งที่คุณต้องได้รับการติดตั้งก่อนที่คุณจะดำเนินการต่อและคุณจะทำอย่างไรต่อไป?


2
ฉันอาจจะผิด แต่ฉันคิดว่าเมื่อคุณอยู่ในเปลือกกู้ภัยคุณไม่สามารถดำเนินการต่อการบูตปัจจุบันคุณแก้ไขสิ่งต่าง ๆ เพื่อให้การบูตครั้งต่อไปจะประสบความสำเร็จ
Eric Renouf

@EricRenouf การบูทด้วยตนเองแบบเต็มระบบอาจเป็นวิธีที่ง่ายที่สุดในการแก้ไขปัญหาดังกล่าว ฉันมีปัญหาในอดีตที่ initramfs ล้มเหลวในการเปิด cryptsetup-Luks update-initramfs -uพาร์ทิชันรากของฉันการเข้ารหัสและการแก้ไขที่ง่ายที่สุดคือการบูตด้วยตนเองและเรียกใช้แล้ว ฉันไม่สามารถใช้งานได้จริง ๆ เมื่อฉันเพิ่งchrootแก้ไขระบบไฟล์รูทจากระบบช่วยเหลือ initramfs ที่ได้นั้นมักจะเสีย
Martin von Wittich

จริงๆแล้วมันคือ initrd หรือ initramfs? (เพียงเพราะไฟล์ที่ถูกเรียกinitrdไม่ได้หมายความว่าเป็นอย่างใดอย่างหนึ่ง: การกระจายส่วนใหญ่ได้เปลี่ยนเป็นinitramfsแต่ยังโทรหาไฟล์initrdต่อไป) คุณใช้การแจกจ่ายแบบใด
Gilles 'ดังนั้นหยุดความชั่วร้าย'

@Gilles ฉันค่อนข้างแน่ใจว่าเป็นจริง initramfs ไม่แน่ใจว่าจริง ๆ แล้วมันทำให้เกิดความแตกต่าง ฉันมีระบบไฟล์ขนาดเล็กและต้องติดตั้งระบบไฟล์จริง (OpenSUSE ในกรณีที่สำคัญ)
MathematicalOrchid

คำตอบ:



2

ขั้นตอนปกติคือ

  1. mount / dev / sdX / mnt
  2. แก้ไขปัญหาใน / mnt
  3. รีบูต

คุณอาจต้องการ

  1. mount / dev / sdX / mnt
  2. แก้ไข / mnt
  3. จำนวน / mnt
  4. mount / dev / sdX /
  5. เสร็จสิ้นการบูตด้วยตัวเอง

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

อย่างไรก็ตามในกรณีฉุกเฉินที่มีข้อมูลสำคัญขั้นตอนที่ 5 ให้เดือดเป็นปกติ:

  • 5.1 ติดตั้งเครือข่าย
  • 5.2 คัดลอกไฟล์สำคัญไปยังที่ปลอดภัย

2
ฉันเชื่อว่าคำถาม "ของจริง" ของโปสเตอร์ต้นฉบับคือ "คุณจะทำอย่างไรกับ '5. เสร็จสิ้นการบูตด้วยตนเอง'?
user2121874

2

เพียงแค่เรียกใช้fsckคำสั่งโดยไม่มีตัวเลือกจากinitramfsนั้นรีบูต

เช่น: พาร์ติชันรูทคือ sda3

fsck /dev/sda3

การรีบูตเพิ่งทำให้ฉันไปที่ grub shell แทนที่จะเป็น initramfs shell ตอนนี้ฉันจะทำทุกอย่างอีกครั้งเพื่อไปที่เปลือก initramfs
jaam

1

หากroot=พารามิเตอร์ถูกต้องและปัญหาคือว่าอุปกรณ์ที่จำเป็นไม่สามารถใช้งานได้ (ตัวอย่างเช่นเนื่องจาก initramfs ล้มเหลวในการรวบรวมmdRAID) แสดงว่าเพียงพอที่จะทำให้อุปกรณ์พร้อมใช้งานด้วยตนเองเช่น:

mdadm --assemble ...

จากนั้นตรวจสอบว่าอุปกรณ์อยู่ที่นั่นและหากทุกอย่างดูดีกดctrl+ dหรือพิมพ์exitเพื่อออกจากเชลล์ initramfs จากนั้น initramfs จะทำการเมาท์ระบบไฟล์รูทแล้วทำการบู๊ตตามปกติ update-initramfs -uหลังจากที่ระบบได้เด้งแล้วคุณควรซ่อมแซมปัญหาพื้นฐานเช่นโดยการทำงาน

ฉันยังไม่พบวิธีที่จะบอกให้ initramfs บู๊ตอุปกรณ์ต่างจากที่/proc/cmdlineระบุไว้ บางทีคนอื่นมีความคิด?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.